[CAMPANIE STAFF]Cautam moderatori si designeri activi!
Welcome to WTFCS Community Forums!
Servere gaming la super-preturi! [HOSTING SERVICE]
-->






Reset score v.3.2 [new 19.02.2013]
Author : eXtreamStyle, Category : AmxModx, 1 Replyes, 1038 Views
EVALUATE THIS TOPIC
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
1 Guest(s)
Incepator
 
23
POSTS
23
THREADS
0
REPUTATION
Male
Sex

WtfCs Coins: 0[w]
05-27-2013, 10:15 PM
#1
[Image: descriptionz.png]

Cu ajutorul acestui plugin puteti sa va resetati scorul la 0 cu 0, sau daca sunteti admin puteti reseta scorul tuturor jucatorilor.

[Image: notes.png]

[sursa=Update log]
  • 3.1
    • doua cvaruri noi
    • optimizare cod
    • colorchat.inc este inclus in codul sursa
  • 3.2
    • optimizare de cod (timp de exercutie redus)
    • s-a adaugat comanda amx_resetscore, cu ajutorul careia adminul cu flagul setat din sursa va putea reseta scorul tuturor jucatorilor de pe server
    • comanda "/resetscore" este acum "resetscore"
    [/sursa]

    [Image: settings.png]

    Comenzi publice:
    • say /resetscore
    • say_team /resetscore
    • say /rs
    • resetscore

    Comenzi administrative:
    • amx_resetscore - reseteaza scorul tuturor jucatorior de pe server

    Cvaruri:
  • amx_reset_chat <valoare>
    • 1 - Afiseaza mesajul de anuntare
      0 - Nu afiseaza mesajul de anuntare
  • amx_reset_plugin <valoare>
    • 1 - Pluginul este activat
      0 - Pluginul este dezactivat
  • amx_reset_dead <valoare>
    • 1 - Jucatorii isi pot reseta scorul cand sunt morti
      0 - Jucatorii nu-si pot reseta scorul cand sunt morti
  • amx_reset_tag<text care apare in chat la mesaje>
  • amx_reset_time<din cate in cate secunde se va afisa mesajul>
  • amx_reset_plugin <valoare>
    • 1 - Pluginul este activat
      0 - Pluginul este dezactivat
Se adauga in /config/amxx.cfg

Instalare:

1. Fisierul reset_score_3.sma il puneti in addons/amxmodx/scripting
2. Fisierul reset_score_3.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la sfarsitul fisierului:
Code:
reset_score_3.amxx

[Image: snapshots.png]

Mesajul de anuntare
[Image: rIVZYpu.png]

Mesajul dupa executia comenzii amx_resetscore
[Image: bJgF5Wv.png]

Mesajul cand cineva isi reseteaza scorul
[Image: fD4BKJD.png]

Mesajul in cazul in care ai deja scorul null
[Image: bTUSorZ.png]

[Image: downloade.png]

ATENTIE! In versiunea 3.2 regasim la inceputul codului sursa
Code:
#define ADMIN_ACCESS ADMIN_IMMUNITY
Doar adminii care au flagul "a" (in cazul de fata) au acces la comanda amx_resetscore.
Daca doriti sa schimbati accesul, modificati acolo, iar apoi compilati!
In versiunea 3.1 nu exista aceasta facilitate.
Inlocuiti doar ADMIN_IMMUNITY cu ADMIN_MAP, ADMIN_BAN, ADMIN_KICK, etc.

Descarcare : You are not allowed to view links. Register or Login to view. (compilat cu accesul ADMIN_IMMUNITY, flagul "a" pentru comanda amx_resetscore.

Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#pragma semicolon 1

#define ADMIN_ACCESS ADMIN_IMMUNITY

enum Color { NORMAL = 1, GREEN, TEAM_COLOR, GREY, RED, BLUE};

new TeamName[][] = {
    "",
    "TERRORIST",
    "CT",
    "SPECTATOR"
};

new cvar_chat, cvar_on, cvar_dead, cvar_tag, cvar_time;
new g_Tag;

public plugin_init() {
    register_plugin("Reset score", "3.2", "Ex3cuTioN");
    
    register_clcmd("say /resetscore", "cmdReset");
    register_clcmd("say /rs", "cmdReset");
    register_clcmd("say_team /resetscore", "cmdReset");
    register_clcmd("resetscore", "cmdReset");
    
    register_concmd("amx_resetscore", "conReset", ADMIN_ACCESS, "- reseteaza scorul tuturor");
    
    cvar_chat = register_cvar("amx_reset_chat", "1");
    cvar_on = register_cvar("amx_reset_plugin", "1");
    cvar_dead = register_cvar("amx_reset_dead","1");
    cvar_tag = register_cvar("amx_reset_tag","ResetScore");
    cvar_time = register_cvar("amx_reset_time","60");
    
    if(get_pcvar_num(cvar_chat) == 1) {
        new Float:timp = get_pcvar_float(cvar_time);
        set_task(timp, "chatmsgshow", _, _, _, "b", 0);
    }
    new tag[32];
    g_Tag = get_pcvar_string(cvar_tag, tag, 31);
}

public cmdReset(id) {
    if(get_pcvar_num(cvar_on) == 0) {
        ColorChat(id, GREEN,"[%s]^x01 Pluginul este dezactivat", g_Tag);
        return PLUGIN_HANDLED;
    }
    if(get_pcvar_num(cvar_dead) == 0 && !is_user_alive(id)) {
        ColorChat(id, GREEN, "[%s]^x01 Poti folosii comanda numai atunci cand esti viu.", g_Tag);
        return PLUGIN_HANDLED;
    }
    
    new frags = get_user_frags(id);
    new deaths = get_user_deaths(id);
    
    if(frags == 0 && deaths == 0)
        ColorChat(id, GREEN, "[%s]^x01 Scorul tau este deja^x04 0",g_Tag);
    else {
        for(new i = 0; i < 2; i++) {
            cs_set_user_deaths(id, 0);
            set_user_frags(id, 0);
        }
        
        new name[32];
        get_user_name(id, name, 31);
        
        ColorChat(id, GREEN, "[%s]^x01 Scorul tau s-a resetat.", g_Tag);
        ColorChat(0, GREEN,"[%s]^x01 si-a resetat scorul.", name);
    }
    return PLUGIN_HANDLED;
}

public conReset(id) {
    if(get_user_flags(id)&ADMIN_ACCESS) {
        new players[32], num, player;
        get_players(players, num, "c");
        
        for(new i = 0; i < num; i++) {
            player = players[i];
            if(get_user_frags(player) != 0 && get_user_deaths(player) != 0) {
                cs_set_user_deaths(player, 0);
                set_user_frags(player, 0);
            }
        }
        
        new name[32];
        get_user_name(id, name, 31);
        
        ColorChat(0, GREEN, "[%s]^x03 %s^x01 a resetat scorul tuturor.", g_Tag, name);
    }
    else
        console_print(id, "Nu ai acces la aceasta comanda.");
        
    return PLUGIN_HANDLED;
}

public chatmsgshow(id)
    ColorChat(id, GREEN, "[%s]^x01 Daca vrei sa iti resetezi scorul, foloseste comanda^x04 /resetscore^x01 sau^x04 /rs !", g_Tag);

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) {
    if(!get_playersnum())
        return;
    
    new message[256];

    switch(type) {
        case NORMAL:
        {
            message[0] = 0x01;
        }
        case GREEN:
        {
            message[0] = 0x04;
        }
        default:
        {
            message[0] = 0x03;
        }
    }

    vformat(message[1], 251, msg, 4);

    // Make sure message is not longer than 192 character. Will crash the server.
    message[192] = '^0';

    new team, ColorChange, index, MSG_Type;
    
    if(id) {
        MSG_Type = MSG_ONE;
        index = id;
    }
    else {
        index = FindPlayer();
        MSG_Type = MSG_ALL;
    }
    
    team = get_user_team(index);
    ColorChange = ColorSelection(index, MSG_Type, type);

    ShowColorMessage(index, MSG_Type, message);
        
    if(ColorChange)
        Team_Info(index, MSG_Type, TeamName[team]);
}

ShowColorMessage(id, type, message[]) {
    static bool:saytext_used;
    static get_user_msgid_saytext;
    
    if(!saytext_used) {
        get_user_msgid_saytext = get_user_msgid("SayText");
        saytext_used = true;
    }
    
    message_begin(type, get_user_msgid_saytext, _, id);
    write_byte(id);
    write_string(message);
    message_end();    
}

Team_Info(id, type, team[]) {
    static bool:teaminfo_used;
    static get_user_msgid_teaminfo;
    
    if(!teaminfo_used) {
        get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
        teaminfo_used = true;
    }
    
    message_begin(type, get_user_msgid_teaminfo, _, id);
    write_byte(id);
    write_string(team);
    message_end();

    return 1;
}

ColorSelection(index, type, Color:Type) {
    switch(Type) {
        case RED:
        {
            return Team_Info(index, type, TeamName[1]);
        }
        case BLUE:
        {
            return Team_Info(index, type, TeamName[2]);
        }
        case GREY:
        {
            return Team_Info(index, type, TeamName[0]);
        }
    }

    return 0;
}

FindPlayer() {
    new i = -1;

    while(i <= get_maxplayers()) {
        if(is_user_connected(++i))
            return i;
    }

    return -1;
}

[sursa=3.1]
Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#pragma semicolon 1

//Colorchat
enum Color {
    NORMAL = 1, // clients scr_concolor cvar color
    GREEN, // Green Color
    TEAM_COLOR, // Red, grey, blue
    GREY, // grey
    RED, // Red
    BLUE, // Blue
};

new TeamName[][] = {
    "",
    "TERRORIST",
    "CT",
    "SPECTATOR"
};

//Cvar-uri
new cvar_chat;
new cvar_on;
new cvar_dead;
new cvar_tag;
new cvar_time;

public plugin_init() {
    register_plugin("Resetscore", "3.1", "Ex3cuTion");
    
    register_clcmd("say /resetscore", "cmdReset");
    register_clcmd("say /rs","cmdReset");
    register_clcmd("say_team /resetscore", "cmdReset");
    register_clcmd("/resetscore", "cmdReset");
    
    cvar_chat = register_cvar("amx_reset_chat", "1");
    cvar_on = register_cvar("amx_reset_plugin", "1");
    cvar_dead = register_cvar("amx_reset_dead","1");
    cvar_tag = register_cvar("amx_reset_tag","ResetScore");
    cvar_time = register_cvar("amx_reset_time","60");
    
    if(get_pcvar_num(cvar_chat) == 1) {
        new Float:timp = get_pcvar_float(cvar_time);
        set_task(timp, "chatmsgshow",_,_,_,"b",0);
    }
}

public cmdReset(id) {
    new tag[32];
    new g_Tag = get_pcvar_string(cvar_tag,tag,31);
    
    if(get_pcvar_num(cvar_on) == 0) {
        ColorChat(id,GREEN,"[%s]^x01 Pluginul este dezactivat",g_Tag);
        return PLUGIN_HANDLED;
    }
    if(get_pcvar_num(cvar_dead) == 0 && !is_user_alive(id)) {
        ColorChat(id, GREEN, "[%s]^x01 Poti folosii comanda numai atunci cand esti viu",g_Tag);
        return PLUGIN_HANDLED;
    }
    
    new frags = get_user_frags(id);
    new deaths = get_user_deaths(id);
    
    if(frags == 0 && deaths == 0) {
        ColorChat(id, GREEN, "[%s]^x01 Scorul tau este deja:[%d-%d]",g_Tag,frags,deaths);
        return PLUGIN_HANDLED;
    }
    
    new nick[32];
    get_user_name(id, nick, 31);
    
    cs_set_user_deaths(id, 0);
    set_user_frags(id, 0);
    cs_set_user_deaths(id, 0);
    set_user_frags(id, 0);
    
    new frags2 = get_user_frags(id);
    new deaths2 = get_user_deaths(id);
    
    ColorChat(id, GREEN, "[%s]^x01 Scorul tau este acum^x04 %d-%d",g_Tag,frags2,deaths2);
    ColorChat(0,GREEN,"[%s]^x01 si-a resetat scorul",nick);
    
    return PLUGIN_HANDLED;
}
public chatmsgshow(id) {
    new tag[32];
    new g_Tag = get_pcvar_string(cvar_tag,tag,31);
    
    ColorChat(id, GREEN, "[%s]^x01 Daca vrei sa iti resetezi scorul,foloseste comanda^x04 /resetscore^x01 sau^x04 /retry !",g_Tag);
}

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
    if( !get_playersnum() ) return;
    
    new message[256];

    switch(type)
    {
        case NORMAL: // clients scr_concolor cvar color
        {
            message[0] = 0x01;
        }
        case GREEN: // Green
        {
            message[0] = 0x04;
        }
        default: // White, Red, Blue
        {
            message[0] = 0x03;
        }
    }

    vformat(message[1], 251, msg, 4);

    // Make sure message is not longer than 192 character. Will crash the server.
    message[192] = '^0';

    new team, ColorChange, index, MSG_Type;
    
    if(id)
    {
        MSG_Type = MSG_ONE;
        index = id;
    } else {
        index = FindPlayer();
        MSG_Type = MSG_ALL;
    }
    
    team = get_user_team(index);
    ColorChange = ColorSelection(index, MSG_Type, type);

    ShowColorMessage(index, MSG_Type, message);
        
    if(ColorChange)
    {
        Team_Info(index, MSG_Type, TeamName[team]);
    }
}

ShowColorMessage(id, type, message[])
{
    static bool:saytext_used;
    static get_user_msgid_saytext;
    if(!saytext_used)
    {
        get_user_msgid_saytext = get_user_msgid("SayText");
        saytext_used = true;
    }
    message_begin(type, get_user_msgid_saytext, _, id);
    write_byte(id);
    write_string(message);
    message_end();    
}

Team_Info(id, type, team[])
{
    static bool:teaminfo_used;
    static get_user_msgid_teaminfo;
    if(!teaminfo_used)
    {
        get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
        teaminfo_used = true;
    }
    message_begin(type, get_user_msgid_teaminfo, _, id);
    write_byte(id);
    write_string(team);
    message_end();

    return 1;
}

ColorSelection(index, type, Color:Type)
{
    switch(Type)
    {
        case RED:
        {
            return Team_Info(index, type, TeamName[1]);
        }
        case BLUE:
        {
            return Team_Info(index, type, TeamName[2]);
        }
        case GREY:
        {
            return Team_Info(index, type, TeamName[0]);
        }
    }

    return 0;
}

FindPlayer()
{
    new i = -1;

    while(i <= get_maxplayers())
    {
        if(is_user_connected(++i))
            return i;
    }

    return -1;
}
Regulament forum: You are not allowed to view links. Register or Login to view.

You are not allowed to view links. Register or Login to view.

You are not allowed to view links. Register or Login to view.
¥ Arthur ¥
 
665
POSTS
4,836
THREADS
359
REPUTATION
Male
Sex

WtfCs Coins: 0[w]
02-12-2014, 06:07 PM
#2
Nu s-a mai uitat nimeni.

T/c.
Regulament forum: You are not allowed to view links. Register or Login to view.

You are not allowed to view links. Register or Login to view.

You are not allowed to view links. Register or Login to view.


Forum Jump: