como soluciono esto?
#1
Error: Symbol already defined: "AumentarRango" on line 442

Código PHP:
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id)  {
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}

Responder
#2
Pasa todo el sma.

Creo que definiste 2 veces o mas "AumentarRango".
Responder
#3
Código PHP:
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
        
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad>")
    
register_concmd("ap_reload_prefixes""LoadPrefixes")
    
register_concmd("ap_reload_badprefixes""LoadBadPrefixes")
    
register_concmd("ap_put""SetPlayerPrefix")
    
register_clcmd("say""HookSay")  /// si no quieren prefix eliminar esta area
    
    
    /* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_Hud register_cvar("rangos_hud""1")          // 1 - Mostrar HUD | 0 - No Mostrar
    
cvar_knifex2 register_cvar("rangos_knifex2""1")    // 1 - x2 frags con knife | 0 - ï¿½O :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - ï¿½O :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_bad_prefix register_cvar("ap_bad_prefixes""1")
    
g_listen register_cvar("ap_listen""1")
    
g_listen_flag register_cvar("ap_listen_flag""a")
    
g_custom register_cvar("ap_custom_current""1")
    
g_custom_flag register_cvar("ap_custom_current_flag""b")
    
g_say_characters register_cvar("ap_say_characters""1")
    
g_prefix_characters register_cvar("ap_prefix_characters""1")

    
g_teaminfo get_user_msgid("TeamInfo")
    
g_saytxt get_user_msgid ("SayText")
    
g_maxplayers get_maxplayers()
    
    
nfv_file("Ranguitos"VaultRangocharsmax(VaultRango))
    
    
pre_ips_collect TrieCreate()
    
pre_names_collect TrieCreate()
    
pre_steamids_collect TrieCreate()
    
pre_flags_collect TrieCreate()
    
bad_prefixes_collect TrieCreate()
    
client_prefix TrieCreate()
    
    
register_dictionary("admin_prefixes.txt")

    
get_configsdir(configs_dircharsmax(configs_dir))
    
formatex(file_prefixescharsmax(file_prefixes), "%s/ap_prefixes.ini"configs_dir)
    
formatex(file_bad_prefixescharsmax(file_bad_prefixes), "%s/ap_bad_prefixes.ini"configs_dir)
    
    
LoadPrefixes(0)
    
LoadBadPrefixes(0)
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[HUD]*
=====================================*/
public HUD(taskid) {
    new 
id ID_HUD
    
    
if (!is_user_alive(id)) {
        
id pev(idpev_iuser2)
        if (!
is_user_alive(id)) return;
    }
   
    if(
id != ID_HUD) {
        
set_hudmessage(2552552550.600.6716.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"|| [Kills]:[%d]  ||  [Rango]:[%s] ||"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    } else {
        
set_hudmessage(12825500.570.3006.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"^n [Vida]-[%d]^n [Chaleco]-[%d]^n [Kills]-[%d]^n [Rango]-[%s] ^n [Sig. Rango]-[%s]^n [Kills Restantes]-[%d]^n [Adrenalina]-[%d|100]"
        
get_user_health(id), get_user_armor(id), g_frags[id], Rangos[g_rango[id]][NOMBRE], Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id], jctf_get_adrenaline(id))
    }
    
}
/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.0"HUD"id+TASK_HUD__"b")
        
    
g_toggle[id] = true
    num_to_str
(idstr_idcharsmax(str_id))
    
TrieSetString(client_prefixstr_id"")
    
PutPrefix(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
        
    
remove_task(id+TASK_HUD)
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s !gFelicidades !tSubiste Al !yRango: !y[!t !g%s !y]!t"PrefijoRangos[g_rango[id]][NOMBRE])
        
chatcolor(id"%s !gFelicidades !tSubiste Al !yRango: !y[!t !g%s !y]!t"PrefijoRangos[g_rango[id]][NOMBRE])
        
chatcolor(id"%s !gFelicidades !tSubiste Al !yRango: !y[!t !g%s !y]!t"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}

public 
LoadPrefixes(id)
{
    if(!(
get_user_flags(id) & FLAG_LOAD))
    {
        
console_print(id"%L"LANG_SERVER"PREFIX_PERMISSION"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    
TrieClear(pre_ips_collect)
    
TrieClear(pre_names_collect)
    
TrieClear(pre_steamids_collect)
    
TrieClear(pre_flags_collect)

    
line 0length 0pre_flags_count 0pre_ips_count 0pre_names_count 0;

    if(!
file_exists(file_prefixes)) 
    {
        
formatex(errorcharsmax(error), "%L"LANG_SERVER"PREFIX_NOT_FOUND"in_prefixfile_prefixes)
        
set_fail_state(error)
    }

    
server_print(separator)

    while(
read_file(file_prefixesline++ , textcharsmax(text), length) && (pre_ips_count pre_names_count pre_steamids_count pre_flags_count) <= MAX_PREFIXES)
    {
        if(!
text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
            continue

        
parse(texttypecharsmax(type), keycharsmax(key), prefixcharsmax(prefix))
        
trim(prefix)

        if(!
type[0] || !prefix[0] || !key[0])
            continue

        
replace_all(prefixcharsmax(prefix), "!g""^x04")
        
replace_all(prefixcharsmax(prefix), "!t""^x03")
        
replace_all(prefixcharsmax(prefix), "!n""^x01")

        switch(
type[0])
        {
            case 
'f':
            {
                
pre_flags_count++
                
TrieSetString(pre_flags_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_FLAG"in_prefixprefixkey[0])
            }
            case 
'i':
            {
                
pre_ips_count++
                
TrieSetString(pre_ips_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_IP"in_prefixprefixkey)
            }
            case 
's':
            {
                
pre_steamids_count++
                
TrieSetString(pre_steamids_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_STEAMID"in_prefixprefixkey)
            }
            case 
'n':
            {
                
pre_names_count++
                
TrieSetString(pre_names_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_NAME"in_prefixprefixkey)
            }
            default:
            {
                continue
            }
        }
    }

    if(
pre_flags_count <= && pre_ips_count <= && pre_steamids_count <= && pre_names_count <= 0)
    {
        
server_print("%L"LANG_SERVER"PREFIX_NO"in_prefix)
    }

    
get_user_name(idg_namecharsmax(g_name))
    
server_print("%L"LANG_SERVER"PREFIX_LOADED_BY"in_prefixg_name)
    
console_print(id"%L"LANG_SERVER"PREFIX_LOADED"in_prefix)

    
server_print(separator)

    for(new 
1<= g_maxplayersi++)
    {
        
num_to_str(istr_idcharsmax(str_id))
        
TrieDeleteKey(client_prefixstr_id)
        
PutPrefix(i)
    }
    
    return 
PLUGIN_HANDLED
}

public 
LoadBadPrefixes(id)
{
    if(!
get_pcvar_num(g_bad_prefix))
    {
        
console_print(id"%L"LANG_SERVER"BADP_OFF"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    if(!(
get_user_flags(id) & FLAG_LOAD))
    {
        
console_print(id"%L"LANG_SERVER"BADP_PERMISSION"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    
TrieClear(bad_prefixes_collect)

    
line 0length 0bad_prefix_count 0;

    if(!
file_exists(file_bad_prefixes)) 
    {
        
console_print(id"%L"LANG_SERVER"BADP_NOT_FOUND"in_prefixfile_bad_prefixes)
        return 
PLUGIN_HANDLED        
    
}

    
server_print(separator)

    while(
read_file(file_bad_prefixesline++ , textcharsmax(text), length) && bad_prefix_count <= MAX_BAD_PREFIXES)
    {
        if(!
text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
            continue

        
parse(textprefixcharsmax(prefix))

        if(!
prefix[0])
            continue

        
bad_prefix_count++
        
TrieSetCell(bad_prefixes_collectprefix1)
        
server_print("%L"LANG_SERVER"BADP_LOAD"in_prefixprefix)
    }

    if(
bad_prefix_count <= 0)
    {
        
server_print("%L"LANG_SERVER"BADP_NO"in_prefix)
    }

    
get_user_name(idg_namecharsmax(g_name))
    
server_print("%L"LANG_SERVER"BADP_LOADED_BY"in_prefixg_name)
    
console_print(id"%L"LANG_SERVER"BADP_LOADED"in_prefix)

    
server_print(separator)

    return 
PLUGIN_HANDLED
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id)  {
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public HookSay(id)
{
    
read_args(g_typedcharsmax(g_typed))
    
remove_quotes(g_typed)

    
trim(g_typed)

    if(
equal(g_typed"") || !is_user_connected(id))
        return 
PLUGIN_HANDLED_MAIN

    
if(equal(g_typed"/prefix"))
    {
        if(
g_toggle[id])
        {
            
g_toggle[id] = false
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_OFF"in_prefix)
        }
        else
        {
            
g_toggle[id] = true
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_ON"in_prefix)
        }

        return 
PLUGIN_HANDLED_MAIN
    
}

    if(!
g_toggle[id])
        return 
PLUGIN_CONTINUE

    num_to_str
(idstr_idcharsmax(str_id))

    if((
TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3)
    {
        if(
check_say_characters(g_typed))
            return 
PLUGIN_HANDLED_MAIN
    
}

    
get_user_name(idg_namecharsmax(g_name))

    
g_team cs_get_user_team(id)

    if(
temp_prefix[0])
    {
        
formatex(g_messagecharsmax(g_message), "^1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"say_team_info[is_user_alive(id)][g_team], Rangos[g_rango[id]][NOMBRE], temp_prefixg_nameg_typed)
        
is_admin true
    
}
    else
    {
        
formatex(g_messagecharsmax(g_message), "1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"say_team_info[is_user_alive(id)][g_team], Rangos[g_rango[id]][NOMBRE], g_nameg_typed)
        
is_admin true
    
}

    
get_pcvar_string(g_listen_flagtemp_cvarcharsmax(temp_cvar))

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i))
            continue

        if(
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
        {
            if(
is_admin)
            {
                
g_team cs_get_user_team(i)
                
change_team_info(ig_team_names[CS_TEAM_SPECTATOR])
                
send_message(g_messageii)
                
change_team_info(ig_team_names[g_team])
            }
            else
            {
                
send_message(g_messageidi)
            }
        }
    }

    return 
PLUGIN_HANDLED_MAIN
}
public 
HookSayTeam(id)
{
    
read_args(g_typedcharsmax(g_typed))
    
remove_quotes(g_typed)

    
trim(g_typed)

    if(
equal(g_typed"") || !is_user_connected(id))
        return 
PLUGIN_HANDLED_MAIN

    
if(equal(g_typed"/prefix"))
    {
        if(
g_toggle[id])
        {
            
g_toggle[id] = false
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_OFF"in_prefix)
        }
        else
        {
            
g_toggle[id] = true
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_ON"in_prefix)
        }

        return 
PLUGIN_HANDLED_MAIN
    
}

    if(!
g_toggle[id])
        return 
PLUGIN_CONTINUE

    num_to_str
(idstr_idcharsmax(str_id))

    if((
TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3)
    {
        if(
check_say_characters(g_typed))
            return 
PLUGIN_HANDLED_MAIN
    
}

    
get_user_name(idg_namecharsmax(g_name))

    
g_team cs_get_user_team(id)

    if(
temp_prefix[0])
    {
        
formatex(g_messagecharsmax(g_message), "^1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"sayteam_team_info[is_user_alive(id)][g_team],Rangos[g_rango[id]],temp_prefixg_nameg_typed)
        
is_admin true
    
}
    else
    {
        
formatex(g_messagecharsmax(g_message), "^1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"sayteam_team_info[is_user_alive(id)][g_team],Rangos[g_rango[id]], g_nameg_typed)
        
is_admin false
    
}

    
get_pcvar_string(g_listen_flagtemp_cvarcharsmax(temp_cvar))

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i))
            continue

        if(
get_user_team(id) == get_user_team(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
        {
            if(
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
            {
                if(
is_admin)
                {
                    
g_team cs_get_user_team(i)
                    
change_team_info(ig_team_names[CS_TEAM_SPECTATOR])
                    
send_message(g_messageii)
                    
change_team_info(ig_team_names[g_team])
                }
                else
                {
                    
send_message(g_messageidi)
                }
            }
        }
    }

    return 
PLUGIN_HANDLED_MAIN
}
public 
SetPlayerPrefix(id)
{
    if(!
get_pcvar_num(g_custom) || !get_pcvar_string(g_custom_flagtemp_cvarcharsmax(temp_cvar)))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_OFF"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    if(!(
get_user_flags(id) & read_flags(temp_cvar)))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_PERMISSION"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    new 
input[128], target;
    new 
arg_type[2], arg_prefix[32], arg_key[35];
    new 
temp_str[16];

    
read_args(inputcharsmax(input))
    
remove_quotes(input)
    
parse(inputarg_typecharsmax(arg_type), arg_keycharsmax(arg_key), arg_prefixcharsmax(arg_prefix))
    
trim(arg_prefix)

    if(
get_pcvar_num(g_bad_prefix) && is_bad_prefix(arg_prefix) && !equali(arg_prefix""))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_FORBIDDEN"in_prefixarg_prefix)
        return 
PLUGIN_HANDLED
    
}

    if(
get_pcvar_num(g_prefix_characters) && check_prefix_characters(arg_prefix))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_SYMBOL"in_prefixarg_prefixforbidden_prefixes_symbols[i])
        return 
PLUGIN_HANDLED
    
}

    switch(
arg_type[0])
    {
        case 
'f':
        {
            
target 0
            temp_str 
"Flag"
        
}
        case 
'i':
        {
            
target find_player("d"arg_key)
            
temp_str "IP"
        
}
        case 
's':
        {
            
target find_player("c"arg_key)
            
temp_str "SteamID"
        
}
        case 
'n':
        {
            
target find_player("a"arg_key)
            
temp_str "Name"
        
}
        default:
        {
            
console_print(id"%L"LANG_SERVER"CUSTOM_INVALID"in_prefixarg_type)
            return 
PLUGIN_HANDLED
        
}
    }

    
get_user_name(idg_namecharsmax(g_name))

    if(
equali(arg_prefix""))
    {
        
find_and_delete(arg_typearg_key)

        if(
target)
        {
            
PutPrefix(target)
        }
        
        
console_print(id"%L"LANG_SERVER"CUSTOM_REMOVE"in_prefixtemp_strarg_key)
        
server_print("%L"LANG_SERVER"CUSTOM_REMOVE_INFO"in_prefixg_nametemp_strarg_key)
        return 
PLUGIN_HANDLED
    
}

    
find_and_delete(arg_typearg_key)

    
formatex(textcharsmax(text), "^"%s^" ^"%s^" ^"%s^""arg_typearg_keyarg_prefix)
    
write_file(file_prefixestext, -1)

    switch(
arg_type[0])
    {
        case 
'f':
        {
            
TrieSetString(pre_flags_collectarg_keyarg_prefix)
        }
        case 
'i':
        {
            
TrieSetString(pre_ips_collectarg_keyarg_prefix)
        }
        case 
's':
        {
            
TrieSetString(pre_steamids_collectarg_keyarg_prefix)
        }
        case 
'n':
        {
            
TrieSetString(pre_names_collectarg_keyarg_prefix)
        }
    }

    if(
target)
    {
        
num_to_str(targetstr_idcharsmax(str_id))
        
TrieSetString(client_prefixstr_idarg_prefix)
    }

    
console_print(id"%L"LANG_SERVER"CUSTOM_CHANGE"in_prefixtemp_strarg_keyarg_prefix)
    
server_print("%L"LANG_SERVER"CUSTOM_CHANGE_INFO"in_prefixg_nametemp_strarg_keyarg_prefix

    return 
PLUGIN_HANDLED
}


public 
client_infochanged(id)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_CONTINUE

    
new g_old_name[32];

    
get_user_info(id"name"g_namecharsmax(g_name))
    
get_user_name(idg_old_namecharsmax(g_old_name))

    if(!
equal(g_nameg_old_name))
    {
        
num_to_str(idstr_idcharsmax(str_id))
        
TrieSetString(client_prefixstr_id"")
        
set_task(0.5"PutPrefix"id)
        return 
PLUGIN_HANDLED
    
}

    return 
PLUGIN_CONTINUE
}

public 
PutPrefix(id)
{
    
num_to_str(idstr_idcharsmax(str_id))
    
TrieSetString(client_prefixstr_id"")

    new 
sflags[32], temp_flag[2];
    
get_flags(get_user_flags(id), sflagscharsmax(sflags))

    for(new 
0<= charsmax(sflags); i++)
    {
        
formatex(temp_flagcharsmax(temp_flag), "%c"sflags[i])

        if(
TrieGetString(pre_flags_collecttemp_flagtemp_prefixcharsmax(temp_prefix)))
        {
            
TrieSetString(client_prefixstr_idtemp_prefix)
        }
    }

    
get_user_ip(idtemp_keycharsmax(temp_key), 1)

    if(
TrieGetString(pre_ips_collecttemp_keytemp_prefixcharsmax(temp_prefix)))
    {
        
TrieSetString(client_prefixstr_idtemp_prefix)
    }

    
get_user_authid(idtemp_keycharsmax(temp_key))

    if(
TrieGetString(pre_steamids_collecttemp_keytemp_prefixcharsmax(temp_prefix)))
    {
        
TrieSetString(client_prefixstr_idtemp_prefix)
    }

    
get_user_name(idtemp_keycharsmax(temp_key))

    if(
TrieGetString(pre_names_collecttemp_keytemp_prefixcharsmax(temp_prefix)))
    {
        
TrieSetString(client_prefixstr_idtemp_prefix)
    }

    return 
PLUGIN_HANDLED
}
send_message(const message[], const id, const i)
{
    
message_begin(MSG_ONEg_saytxt, {000}, i)
    
write_byte(id)
    
write_string(message)
    
message_end()
}

change_team_info(const id, const team[])
{
    
message_begin(MSG_ONEg_teaminfo,_id)
    
write_byte(id)
    
write_string(team)
    
message_end()
}

bool:check_say_characters(const check_message[])
{
    for(new 
0charsmax(forbidden_say_symbols); i++)
    {
        if(
check_message[0] == forbidden_say_symbols[i])
        {
            return 
true
        
}
    }
    return 
false
}

bool:check_prefix_characters(const check_prefix[])
{
    for(
0charsmax(forbidden_prefixes_symbols); i++)
    {
        if(
containi(check_prefixforbidden_prefixes_symbols[i]) != -1)
        {
            return 
true
        
}
    }
    return 
false
}

bool:is_bad_prefix(const check_prefix[])
{
    if(
TrieGetCell(bad_prefixes_collectcheck_prefixtemp_value))
    {
        return 
true
    
}
    return 
false
}

find_and_delete(const arg_type[], const arg_key[])
{
    
line 0length 0;

    while(
read_file(file_prefixesline++ , textcharsmax(text), length))
    {
        if(!
text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
            continue

        
parse(texttypecharsmax(type), keycharsmax(key), prefixcharsmax(prefix))
        
trim(prefix)

        if(!
type[0] || !prefix[0] || !key[0])
            continue
            
        if(!
equal(arg_typetype) || !equal(arg_keykey))
            continue
            
        
write_file(file_prefixes""line 1)
    }
    
    switch(
arg_type[0])
    {
        case 
'f':
        {
            
TrieDeleteKey(pre_flags_collectarg_key)
        }
        case 
'i':
        {
            
TrieDeleteKey(pre_ips_collectarg_key)
        }
        case 
's':
        {
            
TrieDeleteKey(pre_steamids_collectarg_key)
        }
        case 
'n':
        {
            
TrieDeleteKey(pre_names_collectarg_key)
        }
    }
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 

Responder
#4
Código PHP:
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
        
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad>")
    
register_concmd("ap_reload_prefixes""LoadPrefixes")
    
register_concmd("ap_reload_badprefixes""LoadBadPrefixes")
    
register_concmd("ap_put""SetPlayerPrefix")
    
register_clcmd("say""HookSay")  /// si no quieren prefix eliminar esta area
    
    
    /* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_Hud register_cvar("rangos_hud""1")          // 1 - Mostrar HUD | 0 - No Mostrar
    
cvar_knifex2 register_cvar("rangos_knifex2""1")    // 1 - x2 frags con knife | 0 - ï¿½O :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - ï¿½O :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_bad_prefix register_cvar("ap_bad_prefixes""1")
    
g_listen register_cvar("ap_listen""1")
    
g_listen_flag register_cvar("ap_listen_flag""a")
    
g_custom register_cvar("ap_custom_current""1")
    
g_custom_flag register_cvar("ap_custom_current_flag""b")
    
g_say_characters register_cvar("ap_say_characters""1")
    
g_prefix_characters register_cvar("ap_prefix_characters""1")

    
g_teaminfo get_user_msgid("TeamInfo")
    
g_saytxt get_user_msgid ("SayText")
    
g_maxplayers get_maxplayers()
    
    
nfv_file("Ranguitos"VaultRangocharsmax(VaultRango))
    
    
pre_ips_collect TrieCreate()
    
pre_names_collect TrieCreate()
    
pre_steamids_collect TrieCreate()
    
pre_flags_collect TrieCreate()
    
bad_prefixes_collect TrieCreate()
    
client_prefix TrieCreate()
    
    
register_dictionary("admin_prefixes.txt")

    
get_configsdir(configs_dircharsmax(configs_dir))
    
formatex(file_prefixescharsmax(file_prefixes), "%s/ap_prefixes.ini"configs_dir)
    
formatex(file_bad_prefixescharsmax(file_bad_prefixes), "%s/ap_bad_prefixes.ini"configs_dir)
    
    
LoadPrefixes(0)
    
LoadBadPrefixes(0)
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[HUD]*
=====================================*/
public HUD(taskid) {
    new 
id ID_HUD
    
    
if (!is_user_alive(id)) {
        
id pev(idpev_iuser2)
        if (!
is_user_alive(id)) return;
    }
   
    if(
id != ID_HUD) {
        
set_hudmessage(2552552550.600.6716.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"|| [Kills]:[%d]  ||  [Rango]:[%s] ||"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    } else {
        
set_hudmessage(12825500.570.3006.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"^n [Vida]-[%d]^n [Chaleco]-[%d]^n [Kills]-[%d]^n [Rango]-[%s] ^n [Sig. Rango]-[%s]^n [Kills Restantes]-[%d]^n [Adrenalina]-[%d|100]"
        
get_user_health(id), get_user_armor(id), g_frags[id], Rangos[g_rango[id]][NOMBRE], Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id], jctf_get_adrenaline(id))
    }
    
}
/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.0"HUD"id+TASK_HUD__"b")
        
    
g_toggle[id] = true
    num_to_str
(idstr_idcharsmax(str_id))
    
TrieSetString(client_prefixstr_id"")
    
PutPrefix(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
        
    
remove_task(id+TASK_HUD)
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
public 
LoadPrefixes(id)
{
    if(!(
get_user_flags(id) & FLAG_LOAD))
    {
        
console_print(id"%L"LANG_SERVER"PREFIX_PERMISSION"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    
TrieClear(pre_ips_collect)
    
TrieClear(pre_names_collect)
    
TrieClear(pre_steamids_collect)
    
TrieClear(pre_flags_collect)

    
line 0length 0pre_flags_count 0pre_ips_count 0pre_names_count 0;

    if(!
file_exists(file_prefixes)) 
    {
        
formatex(errorcharsmax(error), "%L"LANG_SERVER"PREFIX_NOT_FOUND"in_prefixfile_prefixes)
        
set_fail_state(error)
    }

    
server_print(separator)

    while(
read_file(file_prefixesline++ , textcharsmax(text), length) && (pre_ips_count pre_names_count pre_steamids_count pre_flags_count) <= MAX_PREFIXES)
    {
        if(!
text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
            continue

        
parse(texttypecharsmax(type), keycharsmax(key), prefixcharsmax(prefix))
        
trim(prefix)

        if(!
type[0] || !prefix[0] || !key[0])
            continue

        
replace_all(prefixcharsmax(prefix), "!g""^x04")
        
replace_all(prefixcharsmax(prefix), "!t""^x03")
        
replace_all(prefixcharsmax(prefix), "!n""^x01")

        switch(
type[0])
        {
            case 
'f':
            {
                
pre_flags_count++
                
TrieSetString(pre_flags_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_FLAG"in_prefixprefixkey[0])
            }
            case 
'i':
            {
                
pre_ips_count++
                
TrieSetString(pre_ips_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_IP"in_prefixprefixkey)
            }
            case 
's':
            {
                
pre_steamids_count++
                
TrieSetString(pre_steamids_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_STEAMID"in_prefixprefixkey)
            }
            case 
'n':
            {
                
pre_names_count++
                
TrieSetString(pre_names_collectkeyprefix)
                
server_print("%L"LANG_SERVER"PREFIX_LOAD_NAME"in_prefixprefixkey)
            }
            default:
            {
                continue
            }
        }
    }

    if(
pre_flags_count <= && pre_ips_count <= && pre_steamids_count <= && pre_names_count <= 0)
    {
        
server_print("%L"LANG_SERVER"PREFIX_NO"in_prefix)
    }

    
get_user_name(idg_namecharsmax(g_name))
    
server_print("%L"LANG_SERVER"PREFIX_LOADED_BY"in_prefixg_name)
    
console_print(id"%L"LANG_SERVER"PREFIX_LOADED"in_prefix)

    
server_print(separator)

    for(new 
1<= g_maxplayersi++)
    {
        
num_to_str(istr_idcharsmax(str_id))
        
TrieDeleteKey(client_prefixstr_id)
        
PutPrefix(i)
    }
    
    return 
PLUGIN_HANDLED
}

public 
LoadBadPrefixes(id)
{
    if(!
get_pcvar_num(g_bad_prefix))
    {
        
console_print(id"%L"LANG_SERVER"BADP_OFF"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    if(!(
get_user_flags(id) & FLAG_LOAD))
    {
        
console_print(id"%L"LANG_SERVER"BADP_PERMISSION"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    
TrieClear(bad_prefixes_collect)

    
line 0length 0bad_prefix_count 0;

    if(!
file_exists(file_bad_prefixes)) 
    {
        
console_print(id"%L"LANG_SERVER"BADP_NOT_FOUND"in_prefixfile_bad_prefixes)
        return 
PLUGIN_HANDLED        
    
}

    
server_print(separator)

    while(
read_file(file_bad_prefixesline++ , textcharsmax(text), length) && bad_prefix_count <= MAX_BAD_PREFIXES)
    {
        if(!
text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
            continue

        
parse(textprefixcharsmax(prefix))

        if(!
prefix[0])
            continue

        
bad_prefix_count++
        
TrieSetCell(bad_prefixes_collectprefix1)
        
server_print("%L"LANG_SERVER"BADP_LOAD"in_prefixprefix)
    }

    if(
bad_prefix_count <= 0)
    {
        
server_print("%L"LANG_SERVER"BADP_NO"in_prefix)
    }

    
get_user_name(idg_namecharsmax(g_name))
    
server_print("%L"LANG_SERVER"BADP_LOADED_BY"in_prefixg_name)
    
console_print(id"%L"LANG_SERVER"BADP_LOADED"in_prefix)

    
server_print(separator)

    return 
PLUGIN_HANDLED
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id)  {
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}

/*================
*[SAY]*
=====================================*/
public HookSay(id)
{
    
read_args(g_typedcharsmax(g_typed))
    
remove_quotes(g_typed)

    
trim(g_typed)

    if(
equal(g_typed"") || !is_user_connected(id))
        return 
PLUGIN_HANDLED_MAIN

    
if(equal(g_typed"/prefix"))
    {
        if(
g_toggle[id])
        {
            
g_toggle[id] = false
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_OFF"in_prefix)
        }
        else
        {
            
g_toggle[id] = true
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_ON"in_prefix)
        }

        return 
PLUGIN_HANDLED_MAIN
    
}

    if(!
g_toggle[id])
        return 
PLUGIN_CONTINUE

    num_to_str
(idstr_idcharsmax(str_id))

    if((
TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3)
    {
        if(
check_say_characters(g_typed))
            return 
PLUGIN_HANDLED_MAIN
    
}

    
get_user_name(idg_namecharsmax(g_name))

    
g_team cs_get_user_team(id)

    if(
temp_prefix[0])
    {
        
formatex(g_messagecharsmax(g_message), "^1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"say_team_info[is_user_alive(id)][g_team], Rangos[g_rango[id]][NOMBRE], temp_prefixg_nameg_typed)
        
is_admin true
    
}
    else
    {
        
formatex(g_messagecharsmax(g_message), "1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"say_team_info[is_user_alive(id)][g_team], Rangos[g_rango[id]][NOMBRE], g_nameg_typed)
        
is_admin true
    
}

    
get_pcvar_string(g_listen_flagtemp_cvarcharsmax(temp_cvar))

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i))
            continue

        if(
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
        {
            if(
is_admin)
            {
                
g_team cs_get_user_team(i)
                
change_team_info(ig_team_names[CS_TEAM_SPECTATOR])
                
send_message(g_messageii)
                
change_team_info(ig_team_names[g_team])
            }
            else
            {
                
send_message(g_messageidi)
            }
        }
    }

    return 
PLUGIN_HANDLED_MAIN
}
public 
HookSayTeam(id)
{
    
read_args(g_typedcharsmax(g_typed))
    
remove_quotes(g_typed)

    
trim(g_typed)

    if(
equal(g_typed"") || !is_user_connected(id))
        return 
PLUGIN_HANDLED_MAIN

    
if(equal(g_typed"/prefix"))
    {
        if(
g_toggle[id])
        {
            
g_toggle[id] = false
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_OFF"in_prefix)
        }
        else
        {
            
g_toggle[id] = true
            client_print
(idprint_chat"%L"LANG_SERVER"PREFIX_ON"in_prefix)
        }

        return 
PLUGIN_HANDLED_MAIN
    
}

    if(!
g_toggle[id])
        return 
PLUGIN_CONTINUE

    num_to_str
(idstr_idcharsmax(str_id))

    if((
TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefixstr_idtemp_prefixcharsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3)
    {
        if(
check_say_characters(g_typed))
            return 
PLUGIN_HANDLED_MAIN
    
}

    
get_user_name(idg_namecharsmax(g_name))

    
g_team cs_get_user_team(id)

    if(
temp_prefix[0])
    {
        
formatex(g_messagecharsmax(g_message), "^1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"sayteam_team_info[is_user_alive(id)][g_team],Rangos[g_rango[id]],temp_prefixg_nameg_typed)
        
is_admin true
    
}
    else
    {
        
formatex(g_messagecharsmax(g_message), "^1%s^4(^1%s^4)^3%s^4 %s^1 :^3 %s"sayteam_team_info[is_user_alive(id)][g_team],Rangos[g_rango[id]], g_nameg_typed)
        
is_admin false
    
}

    
get_pcvar_string(g_listen_flagtemp_cvarcharsmax(temp_cvar))

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i))
            continue

        if(
get_user_team(id) == get_user_team(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
        {
            if(
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
            {
                if(
is_admin)
                {
                    
g_team cs_get_user_team(i)
                    
change_team_info(ig_team_names[CS_TEAM_SPECTATOR])
                    
send_message(g_messageii)
                    
change_team_info(ig_team_names[g_team])
                }
                else
                {
                    
send_message(g_messageidi)
                }
            }
        }
    }

    return 
PLUGIN_HANDLED_MAIN
}
public 
SetPlayerPrefix(id)
{
    if(!
get_pcvar_num(g_custom) || !get_pcvar_string(g_custom_flagtemp_cvarcharsmax(temp_cvar)))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_OFF"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    if(!(
get_user_flags(id) & read_flags(temp_cvar)))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_PERMISSION"in_prefix)
        return 
PLUGIN_HANDLED
    
}

    new 
input[128], target;
    new 
arg_type[2], arg_prefix[32], arg_key[35];
    new 
temp_str[16];

    
read_args(inputcharsmax(input))
    
remove_quotes(input)
    
parse(inputarg_typecharsmax(arg_type), arg_keycharsmax(arg_key), arg_prefixcharsmax(arg_prefix))
    
trim(arg_prefix)

    if(
get_pcvar_num(g_bad_prefix) && is_bad_prefix(arg_prefix) && !equali(arg_prefix""))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_FORBIDDEN"in_prefixarg_prefix)
        return 
PLUGIN_HANDLED
    
}

    if(
get_pcvar_num(g_prefix_characters) && check_prefix_characters(arg_prefix))
    {
        
console_print(id"%L"LANG_SERVER"CUSTOM_SYMBOL"in_prefixarg_prefixforbidden_prefixes_symbols[i])
        return 
PLUGIN_HANDLED
    
}

    switch(
arg_type[0])
    {
        case 
'f':
        {
            
target 0
            temp_str 
"Flag"
        
}
        case 
'i':
        {
            
target find_player("d"arg_key)
            
temp_str "IP"
        
}
        case 
's':
        {
            
target find_player("c"arg_key)
            
temp_str "SteamID"
        
}
        case 
'n':
        {
            
target find_player("a"arg_key)
            
temp_str "Name"
        
}
        default:
        {
            
console_print(id"%L"LANG_SERVER"CUSTOM_INVALID"in_prefixarg_type)
            return 
PLUGIN_HANDLED
        
}
    }

    
get_user_name(idg_namecharsmax(g_name))

    if(
equali(arg_prefix""))
    {
        
find_and_delete(arg_typearg_key)

        if(
target)
        {
            
PutPrefix(target)
        }
        
        
console_print(id"%L"LANG_SERVER"CUSTOM_REMOVE"in_prefixtemp_strarg_key)
        
server_print("%L"LANG_SERVER"CUSTOM_REMOVE_INFO"in_prefixg_nametemp_strarg_key)
        return 
PLUGIN_HANDLED
    
}

    
find_and_delete(arg_typearg_key)

    
formatex(textcharsmax(text), "^"%s^" ^"%s^" ^"%s^""arg_typearg_keyarg_prefix)
    
write_file(file_prefixestext, -1)

    switch(
arg_type[0])
    {
        case 
'f':
        {
            
TrieSetString(pre_flags_collectarg_keyarg_prefix)
        }
        case 
'i':
        {
            
TrieSetString(pre_ips_collectarg_keyarg_prefix)
        }
        case 
's':
        {
            
TrieSetString(pre_steamids_collectarg_keyarg_prefix)
        }
        case 
'n':
        {
            
TrieSetString(pre_names_collectarg_keyarg_prefix)
        }
    }

    if(
target)
    {
        
num_to_str(targetstr_idcharsmax(str_id))
        
TrieSetString(client_prefixstr_idarg_prefix)
    }

    
console_print(id"%L"LANG_SERVER"CUSTOM_CHANGE"in_prefixtemp_strarg_keyarg_prefix)
    
server_print("%L"LANG_SERVER"CUSTOM_CHANGE_INFO"in_prefixg_nametemp_strarg_keyarg_prefix

    return 
PLUGIN_HANDLED
}


public 
client_infochanged(id)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_CONTINUE

    
new g_old_name[32];

    
get_user_info(id"name"g_namecharsmax(g_name))
    
get_user_name(idg_old_namecharsmax(g_old_name))

    if(!
equal(g_nameg_old_name))
    {
        
num_to_str(idstr_idcharsmax(str_id))
        
TrieSetString(client_prefixstr_id"")
        
set_task(0.5"PutPrefix"id)
        return 
PLUGIN_HANDLED
    
}

    return 
PLUGIN_CONTINUE
}

public 
PutPrefix(id)
{
    
num_to_str(idstr_idcharsmax(str_id))
    
TrieSetString(client_prefixstr_id"")

    new 
sflags[32], temp_flag[2];
    
get_flags(get_user_flags(id), sflagscharsmax(sflags))

    for(new 
0<= charsmax(sflags); i++)
    {
        
formatex(temp_flagcharsmax(temp_flag), "%c"sflags[i])

        if(
TrieGetString(pre_flags_collecttemp_flagtemp_prefixcharsmax(temp_prefix)))
        {
            
TrieSetString(client_prefixstr_idtemp_prefix)
        }
    }

    
get_user_ip(idtemp_keycharsmax(temp_key), 1)

    if(
TrieGetString(pre_ips_collecttemp_keytemp_prefixcharsmax(temp_prefix)))
    {
        
TrieSetString(client_prefixstr_idtemp_prefix)
    }

    
get_user_authid(idtemp_keycharsmax(temp_key))

    if(
TrieGetString(pre_steamids_collecttemp_keytemp_prefixcharsmax(temp_prefix)))
    {
        
TrieSetString(client_prefixstr_idtemp_prefix)
    }

    
get_user_name(idtemp_keycharsmax(temp_key))

    if(
TrieGetString(pre_names_collecttemp_keytemp_prefixcharsmax(temp_prefix)))
    {
        
TrieSetString(client_prefixstr_idtemp_prefix)
    }

    return 
PLUGIN_HANDLED
}
send_message(const message[], const id, const i)
{
    
message_begin(MSG_ONEg_saytxt, {000}, i)
    
write_byte(id)
    
write_string(message)
    
message_end()
}

change_team_info(const id, const team[])
{
    
message_begin(MSG_ONEg_teaminfo,_id)
    
write_byte(id)
    
write_string(team)
    
message_end()
}

bool:check_say_characters(const check_message[])
{
    for(new 
0charsmax(forbidden_say_symbols); i++)
    {
        if(
check_message[0] == forbidden_say_symbols[i])
        {
            return 
true
        
}
    }
    return 
false
}

bool:check_prefix_characters(const check_prefix[])
{
    for(
0charsmax(forbidden_prefixes_symbols); i++)
    {
        if(
containi(check_prefixforbidden_prefixes_symbols[i]) != -1)
        {
            return 
true
        
}
    }
    return 
false
}

bool:is_bad_prefix(const check_prefix[])
{
    if(
TrieGetCell(bad_prefixes_collectcheck_prefixtemp_value))
    {
        return 
true
    
}
    return 
false
}

find_and_delete(const arg_type[], const arg_key[])
{
    
line 0length 0;

    while(
read_file(file_prefixesline++ , textcharsmax(text), length))
    {
        if(!
text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
            continue

        
parse(texttypecharsmax(type), keycharsmax(key), prefixcharsmax(prefix))
        
trim(prefix)

        if(!
type[0] || !prefix[0] || !key[0])
            continue
            
        if(!
equal(arg_typetype) || !equal(arg_keykey))
            continue
            
        
write_file(file_prefixes""line 1)
    }
    
    switch(
arg_type[0])
    {
        case 
'f':
        {
            
TrieDeleteKey(pre_flags_collectarg_key)
        }
        case 
'i':
        {
            
TrieDeleteKey(pre_ips_collectarg_key)
        }
        case 
's':
        {
            
TrieDeleteKey(pre_steamids_collectarg_key)
        }
        case 
'n':
        {
            
TrieDeleteKey(pre_names_collectarg_key)
        }
    }
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 

Responder
#5
gracias ya me conpilo Gran sonrisa
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)