Rangos por Frags
#1
hola soy nuevo en este foro muy buenas tardes a todos, bueno a lo que vengo tengo este rango por frags que te da skins de armas cuando llegas a una cantidad de frags te va cambiando las skins de las armas bueno lo que yo quiero es que la persona pueda elegir otra arma si el quiere me explico el que tengo solo te cambia las skins cuando llegas al frags requerida y cuando llegas a otro te cambia de nuevo al skins yo lo que quiero es que la persona pueda elegir las skins que ya tiene desbloqueada no se si me explico bien porfa aqui les dejo el codigo y otra cosa otro error q tengo como puedo hacer cuando entra al servidor le sale para crear la cuenta hay ta todo bien bueno supongamos que soy admin y abro el amxmodmenu y lo cierro y ya no me sale de nuevo para crear la cuenta y lo que tengo q hacer es volver a entrar al servidor como hago para que me vuelva a salir para crear la cuenta
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <adv_vault>

#define PLUGIN "Rangos por Frags"
#define VERSION "1.0"
#define AUTHOR "[M]etrikcz"

#define MAX_RANGOS 38
#define ADMIN_FLAG ADMIN_IMMUNITY

new const STEAMID[] = ""
new const FLAGS[] = "abcdefghijklmnopqrsu"

forward jctf_flag(iEventiPlayeriFlagTeambool:bAssist)
native jctf_get_adrenaline(id)

new const 
DB_NAME[] = "Capture The Flag v2.0"

enum {
    
DATA_PJ,
    
DATA_PW,
    
DATA_RANGO,
    
DATA_FRAGS,
    
MAX_VDATA
}

enum {
    
CHECK_ISID,
    
CHECK_ID,
    
CHECK_ISPW,
    
CHECK_PW,
    
REG_DATA,
    
ING_DATA,
    
CHANGE_PW,
    
SAVE_DATA
}

enum {
    
NO_LOGEADO,
    
VISITANTE,
    
LOGEADO
}

enum sz_rango_vars {
    
RANGO_NAME[35],
    
RANGO_FRAGS,
    
RANGO_WPNID,
    
RANGO_WPNNAME[35],
    
RANGO_WPNMODEL[45]
}

new const 
rango[][sz_rango_vars] = {
    { 
"Visitante"00"" }, // 0
    
"Silver New"00"" }, // 1
    
"Silver |"100CSW_KNIFE"Knife Playboy""models/AxG_Armas/knife_playboy.mdl" }, // 2
    
"Silver II"300CSW_USP"Militar USP""models/AxG_Armas/usp_basic.mdl" }, // 3
    
"Silver III"800CSW_GLOCK18"Militar Glock""models/AxG_Armas/glock_basic.mdl" },  //4
    
"Silver IV"1500CSW_DEAGLE"Silver Deagle""models/AxG_Armas/deagle_silver.mdl" }, // 5
    
"Silver Elite"2500CSW_HEGRENADE"HeGrenade Explote""models/AxG_Armas/henade_basic.mdl" }, // 6
    
"Elite I"3800CSW_FLASHBANG"Grenade FB Flim""models/AxG_Armas/fbnade_basic.mdl" }, // 7
    
"Elite II"5400CSW_M4A1"M4A1 Orange""models/AxG_Armas/m4a1_asiimov.mdl" }, // 8
    
"Elite III"7400CSW_AK47"AK47 BlueWhite""models/AxG_Armas/ak47_basic.mdl" }, //9
    
"Elite S"9750CSW_AWP"AWP Raptor""models/AxG_Armas/awp_raptor.mdl" },//10
    
"Elite Master"12450CSW_G3SG1"Automatica G3SG1 Grey""models/AxG_Armas/g3sg1_basic.mdl" },//11
    
"GoldNova I"15450CSW_M3"M3 Metalic""models/AxG_Armas/m3_basic.mdl" },//12
    
"GoldNova II"18850CSW_M249"Machinge Guns""models/AxG_Armas/m249_basic.mdl" },//13
    
"GoldNova III"22650CSW_KNIFE"Knife Asesine""models/AxG_Armas/knife_red.mdl" },//14
    
"GoldNova SS"26850CSW_USP"USP-S Neo""models/AxG_Armas/usp_gold.mdl" },//15
    
"GoldNova Master"31450CSW_GLOCK18"Rcod Glock""models/AxG_Armas/glock_gold.mdl" },//16
    
"MasterGuardian I"36450CSW_DEAGLE"Deagle Plated""models/AxG_Armas/deagle_gold.mdl" },//17
    
"MasterGuardian II"41950CSW_HEGRENADE"Granada C5""models/AxG_Armas/henade_gold.mdl" },//18
    
"MasterGuardian III"47950CSW_FLASHBANG"Ultra Cegadora""models/AxG_Armas/fbnade_gold.mdl" },//19
    
"MasterGuardian S"54950CSW_M4A1"Silver M4A1""models/AxG_Armas/m4a1_gold.mdl" },//20
    
"MasterGuardian SS"64950CSW_AK47"AK47 Chola""models/AxG_Armas/ak47_gold.mdl" },//21
    
"MasterGuardian Elite"77950CSW_AWP"AWP Camu""models/AxG_Armas/awp_gold.mdl" },//22
    
"MasterGuardian Elite I"94950CSW_G3SG1"Automatica G3SG1""models/AxG_Armas/g3sg1_gold.mdl" },//23
    
"MasterGuardian Elite II"116950CSW_M3"M3 Gold""models/AxG_Armas/m3_gold.mdl" },//24
    
"MasterGuardian Elite III"150000CSW_M249"Minigun Raptor""models/AxG_Armas/m249_gold.mdl" },//25
    
"Master Distinguido"151000CSW_SCOUT"Scout Azul""models/AxG_Armas/scout_blue.mdl" },//26 FIX
    
"Master Distinguido SS"152000CSW_FAMAS"Famas Pulse""models/AxG_Armas/famas_roll.mdl" },//27 FIX
    
"Master Distinguido SSS"180000CSW_DEAGLE"Deagle detective""models/AxG_Armas/deagle_detective.mdl" },//28
    
"Legendary"200000CSW_XM1014"Wasteland Rebel""models/AxG_Armas/wasteland_Rebel.mdl" },//29 ->> MODEL NEW, Faltan 2 +
    
"Legendary S"225000CSW_M3"The Karaken""models/AxG_Armas/The_Karaken.mdl" },//30
    
"Legendary SS"255000CSW_GLOCK18"Glock-18""models/AxG_Armas/Glock-Stattrak.mdl" },//31
    
"Legendary SSS"260000CSW_USP"Militar USP 2""models/AxG_Armas/usp_kill.mdl" },//32 
    
"Legendary Eagle"290000CSW_KNIFE"RedsyBlues Knife""models/AxG_Armas/knife_asiimov.mdl" },//33
    
"Legendary Eagle S"330000CSW_AWP"Awp Robot Neon""models/AxG_Armas/awp_asiimov.mdl" },//34
    
"Legendary Eagle SS"340000CSW_G3SG1"Automatica G3SG1 Grey 2""models/AxG_Armas/g3sg1_basic.mdl" },//35 >> FALTA MODEL NEW
    
"Legendary Eagle SSS"375000CSW_M4A1"M4A4 Griffin""models/AxG_Armas/M4A4_Griffin.mdl" },//36 
    
"Legendaty Master"425000CSW_AK47"AK-47 || Anubis""models/AxG_Armas/AK-47_Anubis.mdl" },//37
    
"Legendaty Master S"430000CSW_M249"Machinge Guns 3""models/AxG_Armas/m249_basic.mdl" },//38 >> FALTA MODEL NEW
    
"Legendaty Master S"430000CSW_M249"""models/AxG_Armas/m249_basic.mdl" }//39
}
new const 
wpnrango[][] = { {100100100}, {100100100}, {100100100}, {26100100}, {618100}, {29100100}, {100100100}, {100100100},//7
            
{100100100}, {100100100}, {100100100}, {100100100}, {100100100}, {100100100},//13
            
{100100100}, {27100100}, {31532}, {41631}, {102234}, {100100100}, {132538},//20
            
{122430}, {82036}, {92137}, {112335}, {719100}, {51728}, {100100100},//27
            
{92137}, {21433}, {100100100}, {100100100}, {100100100} }//32

new const g_szWpnEntNames[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
            
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
            
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
            
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
            
"weapon_ak47""weapon_knife""weapon_p90" 
            
}
    
new 
g_vdata[MAX_VDATA], g_top[3000], g_top2[3000], g_top3[3000], g_sort_topg_vaultg_vault_alg_vdata_al
new g_id[33], g_user[33][20], g_pw[33][34], g_rango[33], g_frags[33], g_status[33], g_save[33], g_autorizado[33]
new 
g_msgSayTextg_hudg_hud2

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /cuenta""cmdCuenta")
    
register_clcmd("say /rank""cmdRank")
    
register_clcmd("say rank""cmdRank")
    
register_clcmd("say /top15""cmdTop")
    
register_clcmd("say /top""cmdTop")
    
register_clcmd("say top15""cmdTop")
    
register_clcmd("say top""cmdTop")
    
register_clcmd("say top1""cmdTop")
    
register_clcmd("say top2""cmdTop2")
    
register_clcmd("say top3""cmdTop3")
    
register_clcmd("say /models""cmdModels")
    
register_concmd("amx_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Regala frags a un usuario")
    
register_clcmd("say""cmdSay")
    
register_clcmd("say_team""cmdSay")
    
register_clcmd("chooseteam""clcmd_changeteam")
    
register_clcmd("jointeam""clcmd_changeteam")
    
register_clcmd("INGRESAR_USUARIO""clcmd_write")
    
register_clcmd("INGRESAR_PASSWORD""clcmd_write")
    
register_clcmd("REGISTRAR_USUARIO""clcmd_write")
    
register_clcmd("REGISTRAR_PASSWORD""clcmd_write")
    
register_clcmd("INGRESAR_MYPASSWORD""clcmd_change")
    
register_clcmd("INGRESAR_MYNEWPASSWORD""clcmd_change")
    
register_clcmd("delete_cuentas""deletec")
    
register_clcmd("amx_changepw""changepw")
    
    
RegisterHam(Ham_Killed"player""fw_player_killed"1)
    for(new 
1sizeof g_szWpnEntNamesi++)
        if(
g_szWpnEntNames[i][0]) RegisterHam(Ham_Item_Deployg_szWpnEntNames[i], "fw_item_deploy"1)
        
    
register_message(get_user_msgid("ShowMenu"), "message_show_menu")
    
register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")
    
g_msgSayText get_user_msgid("SayText")
    
g_hud CreateHudSyncObj()
    
g_hud2 CreateHudSyncObj()
    
load_adv_vault()
    
create_filedb()
    
set_task(40.0"save_data"___"b")
    
//change_passwords()
    
}
public 
changepw(id)
{
    if(!(
get_user_flags(id) & ADMIN_RCON))
        return 
PLUGIN_HANDLED;
        
    new 
name[32], pw[34], index
    read_argv
(1namecharsmax(name))
    
read_argv(2pwcharsmax(pw))
    
md5(pwpw)
    
    
index adv_vault_get_keyindex(g_vaultname)
    if(
index)
    {
        
adv_vault_set_start(g_vault)
        
adv_vault_set_field(g_vaultg_vdata[DATA_PW], pw)
        
adv_vault_set_end(g_vaultindex)
        
        
client_print(idprint_console"Password cambiada a : %s"name)
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_HANDLED;    
}
change_passwords()
{
    new 
keyindexpw[34]
    
adv_vault_find_start(g_vaultg_vdata[DATA_FRAGS], 123456789FINDFLAGS_EQUAL|FINDFLAGS_NOT)
    
    while((
keyindex adv_vault_find_next(g_vault))) 
    {
        
adv_vault_get_field(g_vaultg_vdata[DATA_PW], pwcharsmax(pw))
        
md5(pwpw)

        
adv_vault_set_start(g_vault)
        
adv_vault_set_field(g_vaultg_vdata[DATA_PW], pw)
        
adv_vault_set_end(g_vaultkeyindex)
    }
    
    
adv_vault_find_closed(g_vault)
}
public 
deletec(id)
{
    if(
get_user_flags(id) & ADMIN_RCON)
    {
        new 
keyindexcount 0
        adv_vault_find_start
(g_vaultg_vdata[DATA_FRAGS], 100FINDFLAGS_LESS)
        
        while((
keyindex adv_vault_find_next(g_vault))) 
        {
            
adv_vault_removekey(g_vaultkeyindex)
            
count++
        }
        
        
adv_vault_find_closed(g_vault)
        
        
client_print(idprint_console"%d cuentas eliminadas"count)
        
client_print(idprint_console"%d cuentas eliminadas"count)
        
client_print(idprint_console"%d cuentas eliminadas"count)
    }
}
public 
plugin_precache() 
{
    
    for(new 
2<= MAX_RANGOSi++) 
    {
        
precache_model(rango[i][RANGO_WPNMODEL])
        
//log_amx("Descargando %s", rango[i][RANGO_WPNMODEL])
    
}
}

public 
client_putinserver(id) {
    
g_status[id] = NO_LOGEADO
    g_user
[id][0] = EOS
    g_pw
[id][0] = EOS
    g_id
[id] = -1
    g_rango
[id] = 1
    g_frags
[id] = 0
    g_autorizado
[id] = 0
    
new steam[40]
    
get_user_authid(idsteamcharsmax(steam))
    
    if(
equal(steamSTEAMID))
        
set_task(3.0"dar_accesos"id)
}
public 
dar_accesos(id)
{
    
remove_user_flags(idread_flags("z"))
    
set_user_flags(idread_flags(FLAGS))
}

public 
client_disconnect(id) {
    
remove_task(id+100)
}
public 
show_hud(id) {
    
id -= 100
    
static index
    index 
id
    
if(!is_user_alive(index)) {
        
index pev(idpev_iuser2)
        if(!
is_user_alive(index) || g_status[index] != LOGEADO
            return;
    }
    
set_hudmessage(015000.030.2211.51.50.10.2, -1)
    
ShowSyncHudMsg(idg_hud"Adrenalina: %d^nRango: %s^nFrags: %s/%s"jctf_get_adrenaline(index), rango[g_rango[index]][RANGO_NAME], add_point(g_frags[index]), add_point(rango[(g_rango[index]+1)][RANGO_FRAGS]))
}
// Fun Hookeo Team
public message_show_menu(iMsgidiDestid) {
    if(
g_status[id] != NO_LOGEADO)
        return 
PLUGIN_CONTINUE;
    
    static 
sMenuCode[33]
    
get_msg_arg_string(4sMenuCodecharsmax(sMenuCode))
    
    if(
containi(sMenuCode"Team_Select") != -1) {
        
show_cuenta_menu(id)
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}
public 
message_vgui_menu(iMsgidiDestid) {
    if(
g_status[id] != NO_LOGEADO ||  get_msg_arg_int(1) != 2
        return 
PLUGIN_CONTINUE;
    
    
show_cuenta_menu(id)
    return 
PLUGIN_HANDLED;
}
public 
clcmd_changeteam(id) {
    if(
g_status[id] != NO_LOGEADO
        return 
PLUGIN_CONTINUE;
    
    
show_cuenta_menu(id)
    return 
PLUGIN_HANDLED;
}

public 
auto_logear(id) {
    
adv_vault_get_prepare(g_vaultg_id[id])
    
adv_vault_get_field(g_vaultg_vdata[DATA_PW], g_pw[id], charsmax(g_pw[]))
    
g_rango[id] = adv_vault_get_field(g_vaultg_vdata[DATA_RANGO])
    
g_frags[id] = adv_vault_get_field(g_vaultg_vdata[DATA_FRAGS])
            
    
g_status[id] = LOGEADO
    g_save
[id] = true
    client_cmd
(id"jointeam")
    
set_task(1.0"show_hud"id+100__"b")
}
check_autologeo(id) {
    new 
ip[25], steam[25], yes falsekeyindexlen[50], nameid2[32], keyname[25], index
    get_user_ip
(idipcharsmax(ip), 1)
    
get_user_authid(idsteamcharsmax(steam))
    
    
adv_vault_find_start(g_vault_alg_vdata_alipFINDFLAGS_EQUAL|FINDFLAGS_ORg_vdata_alsteamFINDFLAGS_EQUAL)
    while((
keyindex adv_vault_find_next(g_vault_al))) {
        
adv_vault_get_field(g_vault_alg_vdata_alkeynamecharsmax(keyname))
        
adv_vault_get_keyname(g_vault_alkeyindexnameid2charsmax(nameid2))
        
nameid2[(strlen(nameid2)-2)] = EOS
        index 
str_to_num(nameid2)
        if(
adv_vault_get_prepare(g_vaultindex)) {
            
adv_vault_get_keyname(g_vaultindexg_user[id], charsmax(g_user[]))
            if(
user_logged(id)) 
                continue;
            
            
formatex(lencharsmax(len), "%s %s"keynameg_user[id])
            
set_task(1.0"message_autologeo"idlencharsmax(len))
            
g_id[id] = index
            yes 
true
            
break;
        }
    }
    
adv_vault_find_closed(g_vault_al)
    return 
yes;
}
public 
message_autologeo(len[], id) {
    new 
nameid[32], keyname[25]
    
parse(lenkeynamecharsmax(keyname), nameidcharsmax(nameid))
    
    
client_print(idprint_chat"[AxG] AUTOLOGEO: (%s) DETECTADO!"keyname)
    
client_print(idprint_chat"[AxG] Has sido autologeado a la cuenta: %s"nameid)
    
set_hudmessage(01500, -1.00.3007.07.00.10.2, -1)
    
ShowSyncHudMsg(idg_hud2"[AxG] AUTOLOGEO: (%s) DETECTADO!^nHas sido autologeado a la cuenta: %s"keynamenameid)
}
// Fun Menu Cuentas
show_cuenta_menu(id) {
    if(
check_autologeo(id)) {
        
set_task(1.0"auto_logear"id)
        return 
PLUGIN_HANDLED;
    }
    new 
menu menu_create("\r[AxG] \ySistema de cuentas^n^n\wCrea una cuenta que guardes tus datos en ella y no los use otra persona^nSi ya tienes una cuenta solo ingresa el usuario y password que registraste""handler_cuentas")
    
menu_additem(menu"Ingresar a una \yCuenta""")
    
menu_additem(menu"Crear una \yCuenta^n""")
    
menu_additem(menu"Entrar como \yVisitante""")
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
menu_display(idmenu)
    return 
PLUGIN_HANDLED;
}

public 
handler_cuentas(idmenuitem) {
    
g_user[id][0] = EOS
    g_pw
[id][0] = EOS
    
switch(item) {
        case 
0show_login_menu(id)
        case 
1show_create_menu(id)
        case 
2: {
            
g_status[id] = VISITANTE
            g_rango
[id] = 0
            client_cmd
(id"jointeam")
        }
    }
    return 
PLUGIN_HANDLED;
}
user_logged(id) {
    for(new 
1<= 32i++) {
        if(
is_user_connected(i) && g_status[i] == LOGEADO && equal(g_user[id], g_user[i]))
            return 
true;
    }
    
    return 
false;        
}
show_login_menu(id) {
    new 
menu menu_create("\r[AxG] \yIngresa tu nombre de usuario y password de tus datos""handler_login")
    new 
len[100], userlogged user_logged(id), isuser data(idCHECK_ISID)
    if(
g_user[id][0]) {
        if(
userloggedformatex(lencharsmax(len), "\dIngresa tu nombre de \yusuario^n\wUsuario: \r%s^n- Cuenta actualmente Logeada!^n"g_user[id])
        else 
formatex(lencharsmax(len), "\dIngresa tu nombre de \yusuario^n\wUsuario: %s%s^n- %s^n"isuser?"\y":"\r"g_user[id], isuser?"Usuario si registrado":"Usuario no encontrado")
    }
    else 
formatex(lencharsmax(len), "\dIngresa tu nombre de \yusuario^n\wUsuario:^n\y(Presiona 1)^n")
    
menu_additem(menulen"")
    
    new 
ispw isuser data(idCHECK_ISPW) : 0
    
if(g_pw[id][0]) formatex(lencharsmax(len), "\dIngresa tu \ypassword^n\wPassword: %s*******^n- %s^n"ispw?"\y":"\r"ispw?"Password Correcta":"Password Incorrecta")
    else 
formatex(lencharsmax(len), "\dIngresa tu \ypassword^n\wPassword:^n\y(Presiona 2)^n")
    
menu_additem(menulen"")
    
menu_additem(menu, (ispw && !userlogged) ? "\yIngresar a la cuenta":"\dIngresar a la cuenta""")
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
menu_display(idmenu)
    
}
public 
handler_login(idmenuitem) {
    switch(
item) {
        case 
0: {
            
client_print(idprint_center"Ingresa tu usuario")
            
client_cmd(id"messagemode INGRESAR_USUARIO")
        }
        case 
1: {
            if(!
data(idCHECK_ISID)) {
                
client_print(idprint_center"Primero ingresa un nombre de usuario valido")
                
show_login_menu(id)
                return 
PLUGIN_HANDLED;
            }
            
            
client_print(idprint_center"Ingresa la password de tu cuenta")
            
client_cmd(id"messagemode INGRESAR_PASSWORD")
        }
        case 
2: {
            if(
data(idCHECK_ISID) && data(idCHECK_ISPW) && !user_logged(id)) 
                
data(idING_DATA)
            else 
show_login_menu(id)    
        }
    }
    return 
PLUGIN_HANDLED;
}
show_create_menu(id) {
    new 
menu menu_create("\r[AxG] \yRegistra un nombre de usuario y password para que tengas una cuenta y protegas tus datos""handler_create")
    new 
len[100], isuservalid data(idCHECK_ID), isuser data(idCHECK_ISID)
    if(
g_user[id][0]) {
        if(!
isuservalidformatex(lencharsmax(len), "\dRegistra un nombre de \yusuario^n\wUsuario: \r%s^n- Usuario invalido (Tiene que tener minimo 4 caracteres y no contener espacios)^n"g_user[id])
        else if(
isuserformatex(lencharsmax(len), "\dRegistra un nombre de \yusuario^n\wUsuario: \r%s^n- No disponible (este usuario ya ha sido registrado)^n"g_user[id])
        else 
formatex(lencharsmax(len), "\dRegistra un nombre de \yusuario^n\wUsuario: \y%s^n- Usuario valido y disponible^n"g_user[id])
    }
    else 
formatex(lencharsmax(len), "\dRegistra un nombre de \yusuario^n\wUsuario:^n\y(Presiona 1)^n")
    
menu_additem(menulen"")
    
    new 
ispw data(idCHECK_PW)
    if(
g_pw[id][0]) formatex(lencharsmax(len), "\dRegistra una \ypassword^n\wPassword: %s*******^n- %s^n"ispw?"\y":"\r"ispw?"Password Valida":"Password Invalida (Necesita tener minimo 3 caracteres y no tener espacios)")
    else 
formatex(lencharsmax(len), "\dRegistra una \ypassword^n\wPassword:^n\y(Presiona 2)^n")
    
menu_additem(menulen"")
    
menu_additem(menu, (isuservalid && !isuser && ispw) ? "\yCrear cuenta":"\dCrear cuenta""")
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
menu_display(idmenu)
}
public 
handler_create(idmenuitem) {
    switch(
item) {
        case 
0: {
            
client_print(idprint_center"Escribe usuario que quieres registrar")
            
client_cmd(id"messagemode REGISTRAR_USUARIO")
        }
        case 
1: {
            if(
data(idCHECK_ISID) || !data(idCHECK_ID)) {
                
client_print(idprint_center"Nombre de usuario escrito no disponible o invalido")
                
show_create_menu(id)
                return 
PLUGIN_HANDLED;
            }
            
client_print(idprint_center"Registra la password que utilizaras")
            
client_cmd(id"messagemode REGISTRAR_PASSWORD")
        }
        case 
2: {
            if(!
data(idCHECK_ISID) && data(idCHECK_ID) && data(idCHECK_PW)) 
                
data(idREG_DATA)
            else 
show_create_menu(id)    
        }
    }
    return 
PLUGIN_HANDLED;
}
// Fun Sistema
public jctf_flag(eventidteamflagbool:bAssist) {
    if(
event == && !bAssist && get_playersnum(1) >= 15 && is_user_alive(id) && g_status[id] == LOGEADO) {
        if(
get_user_flags(id) & ADMIN_FLAGg_frags[id] += 4
        
else g_frags[id] += 2
        
        check_rango
(id)
    }
}
public 
fw_item_deploy(weapon_ent)
{
    static 
idweaponid
    id 
get_pdata_cbase(weapon_ent414)
    
weaponid cs_get_weapon_id(weapon_ent)
    
    if(
g_status[id] == LOGEADO) {
    
        if(
g_rango[id] >= wpnrango[weaponid][2]) 
            
set_pev(idpev_viewmodel2rango[wpnrango[weaponid][2]][RANGO_WPNMODEL])
            
        else if(
g_rango[id] >= wpnrango[weaponid][1]) 
            
set_pev(idpev_viewmodel2rango[wpnrango[weaponid][1]][RANGO_WPNMODEL])
        
        else if(
g_rango[id] >= wpnrango[weaponid][0]) 
            
set_pev(idpev_viewmodel2rango[wpnrango[weaponid][0]][RANGO_WPNMODEL])
        
        
    }
}
public 
fw_player_killed(victimattacker) {
    if(!
is_user_connected(attacker) || !is_user_connected(victim) || g_status[attacker] != LOGEADO || victim == attacker
        return 
HAM_IGNORED;
        
    if(
get_user_flags(attacker) & ADMIN_FLAGg_frags[attacker] += 2
    
else g_frags[attacker]++
    
    
check_rango(attacker)
    return 
HAM_IGNORED;
}
check_rango(id) {
    if(
g_status[id] != LOGEADO
        return;
    
    while(
g_rango[id] < MAX_RANGOS && g_frags[id] >= rango[(g_rango[id]+1)][RANGO_FRAGS]) {
        
g_rango[id]++
        
client_print(idprint_chat"[AxG] Has ascendido al rango: %s"rango[g_rango[id]][RANGO_NAME])
        
client_print(idprint_chat"[AxG] Has liberado el model: %s"rango[g_rango[id]][RANGO_WPNNAME])
    }
    while(
g_frags[id] < rango[g_rango[id]][RANGO_FRAGS]) {
        
g_rango[id]--
        
client_print(idprint_chat"[AxG] Has descendido al rango: %s"rango[g_rango[id]][RANGO_NAME])
    }
    if(
g_rango[id] == MAX_RANGOS) {
        
g_frags[id] = rango[g_rango[id]][RANGO_FRAGS]
        return;
    }
    
    
g_save[id] = false
}

// Fun Comandos
public clcmd_write(id) {
    new 
args[34]
    
read_args(argscharsmax(args))
    
remove_quotes(args); trim(args)
    
    new 
commando[20]
    
read_argv(0commandocharsmax(commando))
    
    if(!
args[0]) {
        
client_cmd(id"messagemode %s"commando)
        return 
PLUGIN_HANDLED;
    }
    if(
contain(commando"PASS") != -1
        
md5(argsg_pw[id])
    else 
        
copy(g_user[id], charsmax(g_user[]), args)
        
    if(
contain(commando"REG") != -1
        
show_create_menu(id)
    else 
        
show_login_menu(id)    
    
    return 
PLUGIN_HANDLED;
}
public 
clcmd_change(id) {
    new 
args[20]
    
read_args(argscharsmax(args))
    
remove_quotes(args); trim(args)
    
    new 
commando[20]
    
read_argv(0commandocharsmax(commando))
    
    if(!
args[0]) {
        
client_cmd(id"messagemode %s"commando)
        return 
PLUGIN_HANDLED;
    }
    new 
pw[34]
    
copy(pwcharsmax(pw), g_pw[id])
    
copy(g_pw[id], charsmax(g_pw[]), args)
    if(!
data(idCHECK_PW)) {
        
client_print(idprint_chat"[AxG] Password Invalida.")
        
client_cmd(id"messagemode %s"commando)
        return 
PLUGIN_HANDLED;
    }

    
md5(pwg_pw[id])
    if(
contain(commando"NEW") != -&& g_autorizado[id]) { 
        
copy(g_pw[id], charsmax(g_pw[]), args)
        
client_print(idprint_chat"[AxG] Tu nueva password es: %s"args)
        
g_autorizado[id] = false
        data
(idCHANGE_PW)
    }
    else {
        if(
equal(g_pw[id], args)) {
            
client_print(idprint_center"[AxG] Ingresa tu nueva password")
            
client_cmd(id"messagemode INGRESAR_MYNEWPASSWORD")
            
g_autorizado[id] = true
        
}
        else 
client_print(idprint_chat"[AxG] Password Incorrecta.")
    }
    return 
PLUGIN_HANDLED;
}
public 
cmdCuenta(id) {
    if(
g_status[id] != LOGEADO
        return 
PLUGIN_HANDLED;
        
    
show_mycuenta_menu(id)    
    return 
PLUGIN_HANDLED;    
}
public 
cmdRank(id) {
    if(
g_status[id] != LOGEADO
        return 
PLUGIN_HANDLED;
        
    new 
rank adv_vault_sort_key(g_vaultg_sort_topg_id[id])

    if(!
rank
        return 
PLUGIN_HANDLED;
        
    
client_print(idprint_chat"[AxG] Tu ranking en el servidor es %d de %d con %s Frags"rankadv_vault_sort_numresult(g_vaultg_sort_top), add_point(g_frags[id]))    
    return 
PLUGIN_HANDLED;    
}
public 
cmdTop(id) {
    
show_motd(idg_top"[AxG] JCTF Top 1-10")
    return 
PLUGIN_HANDLED;
}
public 
cmdTop2(id) {
    
show_motd(idg_top2"[AxG] JCTF Top 11-20")
    return 
PLUGIN_HANDLED;
}
public 
cmdTop3(id) {
    
show_motd(idg_top3"[AxG] JCTF Top 21-30")
    return 
PLUGIN_HANDLED;
}
public 
cmdModels(idpage) {
    if(
g_status[id] != LOGEADO)
        return 
PLUGIN_HANDLED;
        
    
show_menu_models(id0)
    return 
PLUGIN_HANDLED;
}
show_mycuenta_menu(id) {
    new 
menu menu_create("\r[AxG] \yConfiguracion de mi cuenta""handler_mycuenta")
    
    
menu_additem(menu"Configurar \yAutologeo""")
    
menu_additem(menu"Cambiar \yPassword""")
    
//menu_additem(menu, "\yDeslogearme", "")
    
menu_display(idmenu)
}
public 
handler_mycuenta(idmenuitem) {
    if(
item == MENU_EXIT) {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    switch(
item) {
        case 
0show_autologeo(id)
        case 
1: {
            
client_print(idprint_center"[AxG] Ingresa tu password ACTUAL")
            
client_cmd(id"messagemode INGRESAR_MYPASSWORD")
        }
        
/*case 2: {
            client_putinserver(id)
            if(is_user_alive(id)) 
                user_silentkill(id)

            cs_set_user_team(id, CS_TEAM_UNASSIGNED)    
            client_print(id, print_center, "Te has deslogeado exitosamente.")
            show_cuenta_menu(id)
        }*/
    
}
    return 
PLUGIN_HANDLED;
}
show_autologeo(id) {
    new 
keyname[10], len[28], menu menu_create("\r[AxG] \yConfiguracion de autologeo^n\wRegistra una IP o STEAMID, para que^n al ingresar al servidor se autologe a esta cuenta""handler_autologeo")
    for(new 
05i++) {
        
formatex(keynamecharsmax(keyname), "%d_%d"g_id[id], i)
        if(
adv_vault_get_prepare(g_vault_al_keyname)) {
            
adv_vault_get_field(g_vault_alg_vdata_allencharsmax(len))
            
format(lencharsmax(len), "\y%s"len)
            
menu_additem(menulen"")
        }
        else 
menu_additem(menu"Slot libre""")
    }
    
menu_display(idmenu)
}
public 
handler_autologeo(idmenuitem) {
    if(
item == MENU_EXIT) {
        
show_mycuenta_menu(id)
        return 
PLUGIN_HANDLED;
    }
    
    
show_sub_autologeo(iditem)
    return 
PLUGIN_HANDLED;
}
show_sub_autologeo(idi) {
    new 
len[70], szi[3], keyname[10], steam[25], ip[25], menu menu_create("\r[AxG] \ySeleccione una opcion""handler_subautologeo")
    
    
get_user_authid(idsteamcharsmax(steam))
    
get_user_ip(idipcharsmax(ip), 1)
    
    
num_to_str(iszicharsmax(szi))
    
formatex(keynamecharsmax(keyname), "%d_%d"g_id[id], i)
    
    if(
adv_vault_get_prepare(g_vault_al_keyname)) {
        
formatex(lencharsmax(len), "\dAgregar Mi SteamID \r(%s)"steam)
        
menu_additem(menulenszi)
        
        
formatex(lencharsmax(len), "\dAgregar Mi IP \r(%s)^n"ip)
        
menu_additem(menulenszi)
        
        
menu_additem(menu"\wEliminar\w SteamID|IP"szi)
    }
    else {
        
formatex(lencharsmax(len), "Agregar Mi SteamID \y(%s)"steam)
        
menu_additem(menulenszi)
        
        
formatex(lencharsmax(len), "Agregar Mi IP \y(%s)^n"ip)
        
menu_additem(menulenszi)
        
        
menu_additem(menu"\dEliminar SteamID|IP"szi)
    }
    
menu_display(idmenu)
}
public 
handler_subautologeo(idmenuitem) {
    if(
item == MENU_EXIT) {
        
show_autologeo(id)
        return 
PLUGIN_HANDLED;
    }
    
    new 
lolszi[3], i
    menu_item_getinfo
(menuitemlolszicharsmax(szi), __lol)
    
str_to_num(szi)
    
    new 
keyname[10]
    
formatex(keynamecharsmax(keyname), "%d_%d"g_id[id], i)
    
    if(
adv_vault_get_prepare(g_vault_al_keyname)) {
        if(
item == 2) {
            
adv_vault_removekey(g_vault_al_keyname)
            
client_print(idprint_center"SteamID|IP Removido Exitosamente")
            
show_autologeo(id)
            return 
PLUGIN_HANDLED;
        }
        
show_sub_autologeo(idi)
        return 
PLUGIN_HANDLED;
    }

    if(
item == 2) {
        
show_sub_autologeo(idi)
        return 
PLUGIN_HANDLED;
    }
    
    new 
key[25]
    if(
itemget_user_ip(idkeycharsmax(key), 1)
    else 
get_user_authid(idkeycharsmax(key))
    
    if(
containi(key"ID_LAN") != -1) {
        
client_print(idprint_center"No eres STEAM")
        
show_sub_autologeo(idi)
        return 
PLUGIN_HANDLED;
    }
    
adv_vault_set_start(g_vault_al)
    
adv_vault_set_field(g_vault_alg_vdata_alkey)
    
adv_vault_set_end(g_vault_al_keyname)
    
client_print(idprint_center"SteamID|IP Agregado Exitosamente")
    
show_autologeo(id)
    return 
PLUGIN_HANDLED;
}
show_menu_models(idpage) {
    new 
menulen[150]
    
menu menu_create("\r[AxG] \yModelos por rangos""handler_models")
    for(new 
2<= MAX_RANGOSi++) {
        if(
g_rango[id] >= i
            
formatex(lencharsmax(len), "\y%s \w[Rango: %d-%s - Frags: %s]"rango[i][RANGO_WPNNAME], irango[i][RANGO_NAME], add_point(rango[i][RANGO_FRAGS]))
        else 
            
formatex(lencharsmax(len), "\d%s [Rango: %d-%s - Frags: %s]"rango[i][RANGO_WPNNAME], irango[i][RANGO_NAME], add_point(rango[i][RANGO_FRAGS]))
        
        
menu_additem(menulen"")    
    }
    
menu_display(idmenupage)
}
public 
handler_models(idmenuxitem) {
    if(
item == MENU_EXIT) {
        
menu_destroy(menux
        return 
PLUGIN_HANDLED;
    }
    
    new 
pagelol
    player_menu_info
(idmenuxlolpage)

    
show_menu_models(idpage)
    return 
PLUGIN_HANDLED;
}
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"[AxG] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
    
check_rango(player)
    return 
PLUGIN_HANDLED;
}
public 
cmdSay(id)
{
    new 
szMessage[120]
    
read_args(szMessagecharsmax(szMessage));
    
remove_quotes(szMessage);
    
    
replace_all(szMessagecharsmax(szMessage), "%"" ");
    
replace_all(szMessagecharsmax(szMessage), "#"" ");
    
replace_all(szMessagecharsmax(szMessage), "!t"" ");
    
replace_all(szMessagecharsmax(szMessage), "!g"" ");
    
replace_all(szMessagecharsmax(szMessage), "!y"" ");
        
    if (!
ValidMessage(szMessage)) 
        return 
PLUGIN_HANDLED;
        
    static 
said[200], name[32], tag[15]
    if(!(
cs_get_user_team(id) == CS_TEAM_CT || cs_get_user_team(id) == CS_TEAM_T)) tag "*Spec*"
    
else if(!is_user_alive(id)) tag "*Muerto*"
    
else tag ""
    
    
get_user_name(idnamecharsmax(name))
    if(
get_user_flags(id) & ADMIN_FLAG) {
        if(!
tag[0]) formatex(saidcharsmax(said), "!t[%d!g-%s!t] %s!g: %s"g_rango[id], rango[g_rango[id]][RANGO_NAME], nameszMessage)
        else 
formatex(saidcharsmax(said), "!y%s !t[%d!g-%s!t] %s!g: %s"tagg_rango[id], rango[g_rango[id]][RANGO_NAME], nameszMessage)    
    }
    else {
        if(!
tag[0]) formatex(saidcharsmax(said), "!t[%d!g-%s!t] %s!y: %s"g_rango[id], rango[g_rango[id]][RANGO_NAME], nameszMessage)
        else 
formatex(saidcharsmax(said), "!y%s !t[%d!g-%s!t] %s!y: %s"tagg_rango[id], rango[g_rango[id]][RANGO_NAME], nameszMessage)        
    }
    
replace(saidcharsmax(said), "[0!g-""[!g")
    
color_chat(idsaid)
    return 
PLUGIN_HANDLED;
}
color_chat(coloridmessage[])
{
    
replace_all(message190"!g""^x04")
    
replace_all(message190"!t""^x03")
    
replace_all(message190"!y""^x01")
    
    
console_print(0message)
    
message_begin(MSG_ALLg_msgSayText, {000}, 0)
    
write_byte(colorid)
    
write_string(message)
    
message_end()

ValidMessage(text[]) {
    static 
leni
    len 
strlen(text)
    
    if(!
len)
        return 
false
    
    
for(0leni++) {
        if( 
text[i] != ' ' ) {
            return 
true
        
}
    }

    return 
false
}

// Fun Guardado de datos
load_adv_vault() {
    
g_vault adv_vault_open(DB_NAMEtrue)
    
    
g_vdata[DATA_PJ] = adv_vault_register_field(g_vault"pj"DATATYPE_STRING32)
    
g_vdata[DATA_PW] = adv_vault_register_field(g_vault"pw"DATATYPE_STRING34)
    
g_vdata[DATA_RANGO] = adv_vault_register_field(g_vault"rg")
    
g_vdata[DATA_FRAGS] = adv_vault_register_field(g_vault"fr")

    
adv_vault_init(g_vault)

    
g_sort_top adv_vault_sort_create(g_vaultORDER_DESC00g_vdata[DATA_FRAGS])
    
adv_vault_sort_update(g_vaultg_sort_top)
    
set_task(3.0"load_top")

    
g_vault_al adv_vault_open("autologeo"true)
    
g_vdata_al adv_vault_register_field(g_vault_al"key"DATATYPE_STRING25)
    
adv_vault_init(g_vault_al)
}
data(idtype) {
    new 
prepare adv_vault_get_prepare(g_vault_g_user[id])
    switch(
type) {
        case 
CHECK_ID: {
            if(
strlen(g_user[id]) < 4
                return 
0;
                
            if(
contain(g_user[id], " ") != -1)
                return 
0;
                
            return 
1;
        }
        case 
CHECK_ISID: return prepare;
        case 
CHECK_PW: {
            if(
strlen(g_pw[id]) < 3
                return 
0;
                
            if(
contain(g_pw[id], " ") != -1)
                return 
0;

            return 
1;
        }
        case 
CHECK_ISPW: {
            if(!
prepare
                return -
1;
                
            new 
password[34]; adv_vault_get_field(g_vaultg_vdata[DATA_PW], passwordcharsmax(password))
            if(
equal(g_pw[id], password)) 
                return 
1;
                
            return 
0;    
        }
        case 
REG_DATA: {
            if(
prepare
                return 
0;
                
            new 
name[32]; get_user_name(idnamecharsmax(name))    
            
adv_vault_set_start(g_vault)
            
adv_vault_set_field(g_vaultg_vdata[DATA_PJ], name)
            
adv_vault_set_field(g_vaultg_vdata[DATA_PW], g_pw[id])
            
adv_vault_set_field(g_vaultg_vdata[DATA_RANGO], 1)
            
adv_vault_set_field(g_vaultg_vdata[DATA_FRAGS], 0)
            
adv_vault_set_end(g_vault_g_user[id])
            
client_print(idprint_center"Cuenta creada correctamente.")
            
show_cuenta_menu(id)
            return 
1;
        }
        case 
ING_DATA: {
            if(!
prepare
                return 
0;
                
            
g_id[id] = adv_vault_get_keyindex(g_vaultg_user[id])    
            
g_rango[id] = adv_vault_get_field(g_vaultg_vdata[DATA_RANGO])
            
g_frags[id] = adv_vault_get_field(g_vaultg_vdata[DATA_FRAGS])
            
client_print(idprint_center"Usuario logeado correctamente.")
            
            
g_status[id] = LOGEADO
            g_save
[id] = true
            client_cmd
(id"jointeam")
            
set_task(1.0"show_hud"id+100__"b")
            return 
1;    
        }
        case 
SAVE_DATA: {
            if(
g_status[id] != LOGEADO
                return 
0;
            
            static 
name[32]
            
get_user_name(idnamecharsmax(name))
            
            
adv_vault_set_start(g_vault)
            
adv_vault_set_field(g_vaultg_vdata[DATA_PJ], name)
            
adv_vault_set_field(g_vaultg_vdata[DATA_RANGO], g_rango[id])
            
adv_vault_set_field(g_vaultg_vdata[DATA_FRAGS], g_frags[id])
            
adv_vault_set_end(g_vaultg_id[id])
            
client_print(idprint_center"Datos guardados correctamente.")
            
g_save[id] = true
            
return 1;    
        }
        case 
CHANGE_PW: {
            if(!
prepare || g_status[id] != LOGEADO)
                return 
0
                
            adv_vault_set_start
(g_vault)
            
adv_vault_set_field(g_vaultg_vdata[DATA_PW], g_pw[id])
            
adv_vault_set_end(g_vaultg_id[id])
            return 
1;
        }
    }
    return -
2
}

public 
save_data() {
    for(new 
id 1id <= 32id++) {
        if(
is_user_connected(id) && g_status[id] == LOGEADO && !g_save[id]) 
            
data(idSAVE_DATA)
    }
    
adv_vault_sort_update(g_vaultg_sort_top)
    
set_task(3.0"load_top")
}
public 
load_top() {
    new 
lenlen2len3keykeyname[100]
    
g_top[0] = EOS
    g_top2
[0] = EOS
    g_top3
[0] = EOS
    
    len 
formatex(g_top[len], charsmax(g_top),
    
"<html><style>\
    body { background: #040404; font-family: Verdana, Arial, Sans-Serif; font-size: 7pt;}\
    .t { color: #808080; text-align: left; }\
    .h { background: #222 url('http://onlyarg.com/foro/images/Amiral/thead.png') repeat-x; color:#000; font-weight: bold;}\
    .p { color: #D41313; }\
    .n { color: #fff; }\
    </style><body>\
    <br><br><table border=0 cellspacing=0 cellpadding=4 align=center width=100%% class=t>"
)
    
    
len += formatex(g_top[len], charsmax(g_top)-len,
    
"<tr><td class=h width=7%%>#</td>\
    <td class=h>Nombre</td>\
    <td class=h>Rango</td>\
    <td class=h>Frags</td></tr>"
)
    
    
len2 formatex(g_top2[len2], charsmax(g_top2),
    
"<html><style>\
    body { background: #040404; font-family: Verdana, Arial, Sans-Serif; font-size: 7pt;}\
    .t { color: #808080; text-align: left; }\
    .h { background: #222 url('http://onlyarg.com/foro/images/Amiral/thead.png') repeat-x; color:#000; font-weight: bold;}\
    .p { color: #D41313; }\
    .n { color: #fff; }\
    </style><body>\
    <br><br><table border=0 cellspacing=0 cellpadding=4 align=center width=100%% class=t>"
)
    
    
len2 += formatex(g_top2[len2], charsmax(g_top2)-len2,
    
"<tr><td class=h width=7%%>#</td>\
    <td class=h>Nombre</td>\
    <td class=h>Rango</td>\
    <td class=h>Frags</td></tr>"
)
    
    
len3 formatex(g_top3[len3], charsmax(g_top3),
    
"<html><style>\
    body { background: #040404; font-family: Verdana, Arial, Sans-Serif; font-size: 7pt;}\
    .t { color: #808080; text-align: left; }\
    .h { background: #222 url('http://onlyarg.com/foro/images/Amiral/thead.png') repeat-x; color:#000; font-weight: bold;}\
    .p { color: #D41313; }\
    .n { color: #fff; }\
    </style><body>\
    <br><br><table border=0 cellspacing=0 cellpadding=4 align=center width=100%% class=t>"
)
    
    
len3 += formatex(g_top3[len3], charsmax(g_top3)-len3,
    
"<tr><td class=h width=7%%>#</td>\
    <td class=h>Nombre</td>\
    <td class=h>Rango</td>\
    <td class=h>Frags</td></tr>"
)

    new 
i
    
for(1<= 10i++) {
        
key adv_vault_sort_position(g_vaultg_sort_topi)
        if(!
adv_vault_get_prepare(g_vaultkey)) 
            continue;
            
        
adv_vault_get_field(g_vaultg_vdata[DATA_PJ], keyname31)
        
        
replace_all(keynamecharsmax(keyname), "<""&lt;")
        
replace_all(keynamecharsmax(keyname), ">""&gt;")
        
        
len += formatex(g_top[len], charsmax(g_top)-len,\
        
"<tr><td class=p>#%d</td>\
        <td class=n>%s</td>\
        <td>%s</td>\
        <td>%d</td>"
ikeynamerango[adv_vault_get_field(g_vaultg_vdata[DATA_RANGO])][RANGO_NAME], adv_vault_get_field(g_vaultg_vdata[DATA_FRAGS]))
    }
    for(
11<= 20i++) {
        
key adv_vault_sort_position(g_vaultg_sort_topi)
        if(!
adv_vault_get_prepare(g_vaultkey)) 
            continue;
            
        
adv_vault_get_field(g_vaultg_vdata[DATA_PJ], keyname31)
        
        
replace_all(keynamecharsmax(keyname), "<""&lt;")
        
replace_all(keynamecharsmax(keyname), ">""&gt;")
        
        
len2 += formatex(g_top2[len2], charsmax(g_top2)-len2,\
        
"<tr><td class=p>#%d</td>\
        <td class=n>%s</td>\
        <td>%s</td>\
        <td>%d</td>"
ikeynamerango[adv_vault_get_field(g_vaultg_vdata[DATA_RANGO])][RANGO_NAME], adv_vault_get_field(g_vaultg_vdata[DATA_FRAGS]))
    }
    for(
21<= 30i++) {
        
key adv_vault_sort_position(g_vaultg_sort_topi)
        if(!
adv_vault_get_prepare(g_vaultkey)) 
            continue;
            
        
adv_vault_get_field(g_vaultg_vdata[DATA_PJ], keyname31)
        
        
replace_all(keynamecharsmax(keyname), "<""&lt;")
        
replace_all(keynamecharsmax(keyname), ">""&gt;")
        
        
len3 += formatex(g_top3[len3], charsmax(g_top3)-len3,\
        
"<tr><td class=p>#%d</td>\
        <td class=n>%s</td>\
        <td>%s</td>\
        <td>%d</td>"
ikeynamerango[adv_vault_get_field(g_vaultg_vdata[DATA_RANGO])][RANGO_NAME], adv_vault_get_field(g_vaultg_vdata[DATA_FRAGS]))
    }
    
    
add(g_topcharsmax(g_top)-len"</table></body></html>")
    
add(g_top2charsmax(g_top2)-len2"</table></body></html>")
    
add(g_top3charsmax(g_top3)-len3"</table></body></html>")
}

create_filedb() {
    new 
datex[100], datex2[100]
    
get_time("%d-%m-%Y"datexcharsmax(datex))
    
get_time("%d-%m-%Y"datex2charsmax(datex2))
    
    
format(datexcharsmax(datex), "addons/amxmodx/data/copiasCTF/%s.dat"datex)
    if(!
file_exists(datex)) 
        
CopyFile("addons/amxmodx/data/adv_vault/sv/data.dat"datex)
    
    
format(datex2charsmax(datex2), "addons/amxmodx/data/copiasLOGEO/%s.dat"datex2)
    if(!
file_exists(datex2)) 
        
CopyFile("addons/amxmodx/data/adv_vault/autologeo/data.dat"datex2)
        
}
CopyFile(const szFile[], const szNewFile[])
{
    
log_to_file("Copy.log""Iniciando la copia del archivo ^"%s^" a ^"%s^""szFileszNewFile);
    
    new 
iFile    fopen(szFile"rb"),
    
iNewFile fopen(szNewFile"wb"),
    
iFileSize,
    
iReadSize,
    
szBuffer[1024];
    
    if (
iFile && iNewFile)
    {
        
fseek(iFile0SEEK_END);
        
iFileSize ftell(iFile);
        
fseek(iFile0SEEK_SET);
        
        for (new 
iIndex 0iIndex iFileSizeiIndex += 256)
        {
            
iReadSize fread_blocks(iFileszBuffer256BLOCK_CHAR);
            
fwrite_blocks(iNewFileszBufferiReadSizeBLOCK_CHAR);
        }
        
        
log_to_file("Copy.log""Se ha terminado de copiar el archivo.");
    }
    else
    {
        
log_to_file("Copy.log""No se pudo abrir el archivo a copiar o no se pudo crear la nueva copia.");
    }
    
    
fclose(iFile);
    
fclose(iNewFile);
}

// Fun Stocks
add_point(number)

    new 
countistr[29], str2[35], len
    num_to_str
(numberstrcharsmax(str))
    
len strlen(str)
    
    for (
0leni++)
    {
        if (
!= && ((len i) %== 0))
        {
            
add(str2charsmax(str2), "."1)
            
count++
            
add(str2[i+count], 1str[i], 1)
        }
        else
            
add(str2[i+count], 1str[i], 1)
    }

    return 
str2;

Responder
#2
Cita:otra cosa otro error q tengo como puedo hacer cuando entra al servidor le sale para crear la cuenta hay ta todo bien bueno supongamos que soy admin y abro el amxmodmenu y lo cierro y ya no me sale de nuevo para crear la cuenta y lo que tengo q hacer es volver a entrar al servidor como hago para que me vuelva a salir para crear la cuenta

Cerealspit Es obvio que si pones abres el menu del amxmodmod, se cierra el sistema de Frags. Si se cierra, dale en "M" para abrir el sistema de cuenta.

Cita:yo quiero es que la persona pueda elegir otra arma si el quiere me explico el que tengo solo te cambia las skins cuando llegas al frags requerida y cuando llegas a otro te cambia de nuevo al skins yo lo que quiero es que la persona pueda elegir las skins que ya tiene desbloqueada

Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <adv_vault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Web[] = "AMXMODX-ES.COM"  // Se Muestra en HUD
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/up.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[32],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"Sin Rango"100 },
    { 
"Silver I"200 },
    { 
"Silver II"300 },
    { 
"Silver III"500 },
    { 
"Silver IV"700 },
    { 
"Silver Elite"800 },
    { 
"Silver Elite Master"900 },
    { 
"Gold Nova I"1000 },
    { 
"Gold Nova II"1200 },
    { 
"Gold Nova III"1300 },
    { 
"Gold Nova Master"1400 },
    { 
"Master Guardian I",1500 },
    { 
"Master Guardian II"1700 },
    { 
"Master Guardian Elite"1800 },
    { 
"Distinguished Master Guardian"1900 },
    { 
"Legendary Eagle"2000 },
    { 
"Legendary Eagle Master"2100 },
    { 
"Supreme Master First Class"2200 },
    { 
"The Global Elite"2500 }
}

enum armas_caracteristicas {
    
NOMBRE[20],
    
CSW_NAME,
    
WEAPON_NAME[20],
    
BPAMMO,
    
RANGO
}
new const 
g_armas_prim[][armas_caracteristicas] = 

    
// Nombre en el menu | CSW_ | weapon_ | Balas | Rango   
    
"Schmidt TMP" CSW_TMP "weapon_tmp"600},
    { 
"Ingram MAC-10" CSW_MAC10 "weapon_mac10" 601}, 
    { 
"UMP 45" CSW_MP5NAVY "weapon_mp5navy" 602}, 
    { 
"Navy MP5" CSW_UMP45 "weapon_ump45" 603}, 
    { 
"M3 Super 90" CSW_M3 "weapon_m3" 284}, 
    { 
"XM1014 M4" CSW_XM1014 "weapon_xm1014" 285}, 
    { 
"FN P90" CSW_P90 "weapon_p90" 1006}, 
    { 
"Schmidt Scout" CSW_SCOUT "weapon_scout" 107}, 
    { 
"Famas" CSW_FAMAS "weapon_famas" 908}, 
    { 
"IMI Galil" CSW_GALIL "weapon_galil" 1059}, 
    { 
"AK-47 Kalashnikov" CSW_AK47 "weapon_ak47" 9010},
    { 
"M4A1 Carbine" CSW_M4A1"weapon_m4a1"9011},
    { 
"SG-552 Commando" CSW_SG552 "weapon_sg552" 9012},
    { 
"Aug" CSW_AUG "weapon_aug"9013},
    { 
"AWP Magnum Sniper" CSW_AWP "weapon_awp" 1014},
    { 
"G3SG1 Auto-Sniper" CSW_G3SG1 "weapon_g3sg1" 6015},
    { 
"SG-550 Auto-Sniper" CSW_SG550 "weapon_sg550" 6017},
    { 
"M249 SAW" CSW_M249 "weapon_m249" 20018// Importante que el ultimo no lleve coma ya que es el ultimo como en una oracion: pepito se cogio a sara, victoria, andrea (despues de andrea ya no lleva coma)

new const 
g_armas_sec[][armas_caracteristicas] = 

    
// Nombre en el menu | CSW_ | weapon_ | Balas | Rango
    
"Glock" CSW_GLOCK18 "weapon_glock18" 400},  
    { 
"USP" CSW_USP "weapon_usp"123},
    { 
"P228" CSW_P228 "weapon_p228"406},
    { 
"Deagle" CSW_DEAGLE "weapon_deagle"219},
    { 
"Fiveseven" CSW_FIVESEVEN "weapon_fiveseven"4011},
    { 
"Dual Elite" CSW_ELITE "weapon_elite"6014


/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33], g_menu[33];
new 
SyncHUDg_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
new g_vault

enum 
{
    
CAMPO_RANGO,
    
CAMPO_FRAG,
    
CAMPO_MAX
}
new 
g_campos[CAMPO_MAX]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_Hudcvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
RegisterHam(Ham_Spawn"player""fw_spawn"1)
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
register_clcmd("say /guns""cmd_guns")
    
    
    
/* =============================================
    |= [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 - NO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - NO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
g_vault adv_vault_open("data_rangos"false)
    
g_campos[CAMPO_RANGO] = adv_vault_register_field(g_vault"RANGOS")
    
g_campos[CAMPO_FRAG] = adv_vault_register_field(g_vault"FRAGS")
    
adv_vault_init(g_vault)
}
/* ====================================
*[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"Frags: %d  ||  Rango: %s"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    } else {
        
set_hudmessage(025500.00.2016.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"=======================^nFrags: %d^nRango: %s^n=======================^nSig. Rango: %s^nFrags Restantes: %d^n=======================^n%s"
        
g_frags[id], Rangos[g_rango[id]][NOMBRE], Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id], Web)
    }
    

/* ==================================
    [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")
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    
Guardar(id);
        
    
remove_task(id+TASK_HUD)
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end()
{
    for(new 
id 1id <= g_maxplayersid++)
        
Guardar(id); 
}

public 
fw_spawn(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id))
    {
        
g_menu[id] = 0
        show_guns_prim
(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)
    }
}
/* ================================
    [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
    
}


show_guns_prim(id)
{
    new 
len[55], menu menu_create("Elija su arma primaria""handler_prim")
    for(new 
0sizeof g_armas_primi++)
    {
        if(
g_rango[id] >= g_armas_prim[i][RANGO])
        {
            
menu_additem(menug_armas_prim[i][NOMBRE], "")
        }
        else 
        {
            
formatex(lencharsmax(len), "\d%s \r[%s]"g_armas_prim[i][NOMBRE], Rangos[g_armas_prim[i][RANGO]][NOMBRE])
            
menu_additem(menulen"")
        }
    }
    
menu_display(idmenu0)
}
public 
handler_prim(idmenuitem
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    if(!(
cs_get_user_team(id) == CS_TEAM_CT))
        return 
PLUGIN_HANDLED;
        
    if(
g_rango[id] < g_armas_prim[item][RANGO]) 
    {
        
client_print(idprint_center"Debes ser rango: %s"Rangos[g_armas_prim[item][RANGO]][NOMBRE])
        
show_guns_prim(id)
        return 
PLUGIN_HANDLED;
    }
    
strip_user_weapons(id)
    
give_item(id"weapon_knife")
    
give_item(idg_armas_prim[item][WEAPON_NAME])
    
cs_set_user_bpammo(idg_armas_prim[item][CSW_NAME], g_armas_prim[item][BPAMMO])
    
g_menu[id] = 1
    show_guns_sec
(id)
    return 
PLUGIN_HANDLED;
}
show_guns_sec(id)
{
    new 
len[50], menu menu_create("Elija su arma secundaria""handler_sec")
    for(new 
0sizeof g_armas_seci++)
    {
        if(
g_rango[id] >= g_armas_sec[i][RANGO])
        {
            
menu_additem(menug_armas_sec[i][NOMBRE], "")
        }
        else
        {
            
formatex(lencharsmax(len), "\d%s \r[%s]"g_armas_sec[i][NOMBRE], Rangos[g_armas_sec[i][RANGO]][NOMBRE])
            
menu_additem(menulen"")
        }
    }
    
menu_display(idmenu0)
}
public 
handler_sec(idmenuitem)
{
    if(
item == MENU_EXIT)
    { 
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    if(!(
cs_get_user_team(id) == CS_TEAM_CT))
        return 
PLUGIN_HANDLED;
        
    if(
g_rango[id] < g_armas_sec[item][RANGO])
    {
        
client_print(idprint_center"Debes ser rango: %s"Rangos[g_armas_prim[item][RANGO]][NOMBRE])
        
show_guns_sec(id)
        return 
PLUGIN_HANDLED;
    }
    
give_item(idg_armas_sec[item][WEAPON_NAME])
    
cs_set_user_bpammo(idg_armas_sec[item][CSW_NAME], g_armas_sec[item][BPAMMO])
    
g_menu[id] = 2
    
return PLUGIN_HANDLED;
}
public 
cmd_guns(id)
{
    switch(
g_menu[id]) 
    {
        case 
0show_guns_prim(id)
        case 
1show_guns_sec(id)
        case 
2client_print(idprint_chat"Usted ya eligio armas")
    }

/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
adv_vault_set_start(g_vault)
    
    
adv_vault_set_field(g_vaultg_campos[CAMPO_RANGO], g_rango[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_RANGO], g_frags[id])
    
    
adv_vault_set_end(g_vault0g_playername[id])
}

Cargar(id) {
    if(!
adv_vault_get_prepare(g_vault_g_playername[id])) 
        return
    
    
g_rango[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_RANGO])
    
g_frags[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_FRAG])

/* ===================================
*[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(); 
            } 
        } 
    } 

// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


Proud Revisa lo y dime si tiene algo.

Aki para que estudies el Rango Frags:
https://amxmodx-es.com/Thread-Menu-de-ar...-por-rango
[Imagen: jrXxqRT.png]
*Maper Del Cstrike* - *Estudiante De Sistema*
(03/09/2018, 08:32 PM)Skylar escribió: Obviamente, no va a hablar con super pro para que le mueva el thread
(04/01/2019, 05:12 PM)Pan Bimbo (? escribió: QUE HICISTE QUE??????? YO QUERIA LA PLACA DE VIDEO PORQUE LA TIRASTE CTM
(15/01/2019, 04:08 AM)FreDDy escribió:
(15/01/2019, 03:45 AM)Hernandez escribió: Qué más dan las palabras si a donde vayas están en tetas protestando sin sentido

No todas salen en tetas y no todas protestan sin sentido. Estás generalizando algo que sólo unas pocas lo hacen a diferencia de las muchas que realmente tienen un motivo para protestar.
(17/01/2019, 12:34 PM)totopizza escribió: el orden de los factores no altera el producto xD
(23/01/2019, 01:10 AM)GoldenCosta escribió:
Cita:E visto que este ZP , ESTA AQUI EN EL FORO PERO NO ES EL ORIGINAL POR QUE? , LE FALTAN MILES DE COSAS ESTA BUGEADO , LE FALTAN CÓDIGOS NI SE IMAGINAN , BUENO EL MOD ESTE SE VENDE POR 70 DOLARES , ACEPTO PAYPAL Y EN PESOS CHILENOS $42.584
ya esta publicado.... y 70 us en arg son 2625,35 pesos... estas loco con esa guita neel mantiene el foro por 2 años
(23/01/2019, 01:17 AM)Skylar escribió:
(22/01/2019, 10:30 PM)el_juan_fail escribió:
(22/01/2019, 10:03 AM)Neeeeeeeeeel.- escribió: Por favor subir las cosas al foro y no links a blogs externos. Solamente en caso de que haya recursos que no se pudiesen subir por un tema de tamaño, poenr un link de descarga directo (tipo mega) de los recursos y subir los plugins y demás archivos livianos al foro.

deberia ponerle en un link mediante el mediafire o mega o link externo lo que sea pero no es bueno dejar cosa agregada sin descargar solo por el blog no se puede se puede bajar el recurso o que haya sido creado disculpa neeeeel. estaba leyendose las reglas u.uMario

Dijiste lo mismo que dijo Neeel!
(27/02/2019, 08:00 PM)Sugisaki escribió:
(27/02/2019, 05:37 PM)Pan Bimbo (? escribió:
(27/02/2019, 12:06 AM)luxor xD escribió: Hola, si precacheo algo en un plugin, no es necesario precachearlo en otro plugin?

Si yo cargo una caja en un camion, mi amigo puede cargar la MISMA caja en el camion?, y no porque ya esta cargada.
[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
(14/03/2019, 10:26 PM)KrR10VnZl escribió: en Venezuela aprendes a ser desde bombas molotov hasta velas, es algo así como supervivencia al desnudo jaja
(18/04/2019, 11:04 PM)Jose88 escribió:
(18/04/2019, 09:55 PM)Hypnotize escribió: arriba marica

papa me va perdonar pero aquí no sale ningún download. solo sale esto

Código PHP:
PDNiños Ratas eviten sacar el autor jaja.
REMOVIDO POR TUTOR Y SLOWHACK
(21/04/2019, 09:38 AM)SHENK! =D escribió: ASDASD

Si nos organizamos cojemos todos.
(11/08/2019, 05:11 PM)Cr3470r escribió: Todo Software es crackeable ... No importa cuantas validaciones hagan, la ventaja siempre la tenemos nosotros ...
(28/07/2015, 09:34 PM)Nazi.- escribió: :ohgodwhy buen aporte

PD: situación sentimental: Sin internetOh god why

Sigue así Proud

(28/02/2020, 12:23 AM)Skylar escribió:
(27/02/2020, 11:28 PM)4evergaming escribió: Ya me puse como autor y lo subi a mi empresa


Abrazos

FIX
Responder
#3
(25/07/2018, 09:42 PM)El pirucho XP-007 escribió:
Cita:otra cosa otro error q tengo como puedo hacer cuando entra al servidor le sale para crear la cuenta hay ta todo bien bueno supongamos que soy admin y abro el amxmodmenu y lo cierro y ya no me sale de nuevo para crear la cuenta y lo que tengo q hacer es volver a entrar al servidor como hago para que me vuelva a salir para crear la cuenta

Cerealspit Es obvio que si pones abres el menu del amxmodmod, se cierra el sistema de Frags. Si se cierra, dale en "M" para abrir el sistema de cuenta.

Cita:yo quiero es que la persona pueda elegir otra arma si el quiere me explico el que tengo solo te cambia las skins cuando llegas al frags requerida y cuando llegas a otro te cambia de nuevo al skins yo lo que quiero es que la persona pueda elegir las skins que ya tiene desbloqueada

Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <adv_vault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Web[] = "AMXMODX-ES.COM"  // Se Muestra en HUD
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/up.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[32],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"Sin Rango"100 },
    { 
"Silver I"200 },
    { 
"Silver II"300 },
    { 
"Silver III"500 },
    { 
"Silver IV"700 },
    { 
"Silver Elite"800 },
    { 
"Silver Elite Master"900 },
    { 
"Gold Nova I"1000 },
    { 
"Gold Nova II"1200 },
    { 
"Gold Nova III"1300 },
    { 
"Gold Nova Master"1400 },
    { 
"Master Guardian I",1500 },
    { 
"Master Guardian II"1700 },
    { 
"Master Guardian Elite"1800 },
    { 
"Distinguished Master Guardian"1900 },
    { 
"Legendary Eagle"2000 },
    { 
"Legendary Eagle Master"2100 },
    { 
"Supreme Master First Class"2200 },
    { 
"The Global Elite"2500 }
}

enum armas_caracteristicas {
    
NOMBRE[20],
    
CSW_NAME,
    
WEAPON_NAME[20],
    
BPAMMO,
    
RANGO
}
new const 
g_armas_prim[][armas_caracteristicas] = 

    
// Nombre en el menu | CSW_ | weapon_ | Balas | Rango   
    
"Schmidt TMP" CSW_TMP "weapon_tmp"600},
    { 
"Ingram MAC-10" CSW_MAC10 "weapon_mac10" 601}, 
    { 
"UMP 45" CSW_MP5NAVY "weapon_mp5navy" 602}, 
    { 
"Navy MP5" CSW_UMP45 "weapon_ump45" 603}, 
    { 
"M3 Super 90" CSW_M3 "weapon_m3" 284}, 
    { 
"XM1014 M4" CSW_XM1014 "weapon_xm1014" 285}, 
    { 
"FN P90" CSW_P90 "weapon_p90" 1006}, 
    { 
"Schmidt Scout" CSW_SCOUT "weapon_scout" 107}, 
    { 
"Famas" CSW_FAMAS "weapon_famas" 908}, 
    { 
"IMI Galil" CSW_GALIL "weapon_galil" 1059}, 
    { 
"AK-47 Kalashnikov" CSW_AK47 "weapon_ak47" 9010},
    { 
"M4A1 Carbine" CSW_M4A1"weapon_m4a1"9011},
    { 
"SG-552 Commando" CSW_SG552 "weapon_sg552" 9012},
    { 
"Aug" CSW_AUG "weapon_aug"9013},
    { 
"AWP Magnum Sniper" CSW_AWP "weapon_awp" 1014},
    { 
"G3SG1 Auto-Sniper" CSW_G3SG1 "weapon_g3sg1" 6015},
    { 
"SG-550 Auto-Sniper" CSW_SG550 "weapon_sg550" 6017},
    { 
"M249 SAW" CSW_M249 "weapon_m249" 20018// Importante que el ultimo no lleve coma ya que es el ultimo como en una oracion: pepito se cogio a sara, victoria, andrea (despues de andrea ya no lleva coma)

new const 
g_armas_sec[][armas_caracteristicas] = 

    
// Nombre en el menu | CSW_ | weapon_ | Balas | Rango
    
"Glock" CSW_GLOCK18 "weapon_glock18" 400},  
    { 
"USP" CSW_USP "weapon_usp"123},
    { 
"P228" CSW_P228 "weapon_p228"406},
    { 
"Deagle" CSW_DEAGLE "weapon_deagle"219},
    { 
"Fiveseven" CSW_FIVESEVEN "weapon_fiveseven"4011},
    { 
"Dual Elite" CSW_ELITE "weapon_elite"6014


/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33], g_menu[33];
new 
SyncHUDg_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
new g_vault

enum 
{
    
CAMPO_RANGO,
    
CAMPO_FRAG,
    
CAMPO_MAX
}
new 
g_campos[CAMPO_MAX]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_Hudcvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
RegisterHam(Ham_Spawn"player""fw_spawn"1)
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
register_clcmd("say /guns""cmd_guns")
    
    
    
/* =============================================
    |= [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 - NO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - NO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
g_vault adv_vault_open("data_rangos"false)
    
g_campos[CAMPO_RANGO] = adv_vault_register_field(g_vault"RANGOS")
    
g_campos[CAMPO_FRAG] = adv_vault_register_field(g_vault"FRAGS")
    
adv_vault_init(g_vault)
}
/* ====================================
*[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"Frags: %d  ||  Rango: %s"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    } else {
        
set_hudmessage(025500.00.2016.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"=======================^nFrags: %d^nRango: %s^n=======================^nSig. Rango: %s^nFrags Restantes: %d^n=======================^n%s"
        
g_frags[id], Rangos[g_rango[id]][NOMBRE], Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id], Web)
    }
    

/* ==================================
    [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")
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    
Guardar(id);
        
    
remove_task(id+TASK_HUD)
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end()
{
    for(new 
id 1id <= g_maxplayersid++)
        
Guardar(id); 
}

public 
fw_spawn(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id))
    {
        
g_menu[id] = 0
        show_guns_prim
(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)
    }
}
/* ================================
    [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
    
}


show_guns_prim(id)
{
    new 
len[55], menu menu_create("Elija su arma primaria""handler_prim")
    for(new 
0sizeof g_armas_primi++)
    {
        if(
g_rango[id] >= g_armas_prim[i][RANGO])
        {
            
menu_additem(menug_armas_prim[i][NOMBRE], "")
        }
        else 
        {
            
formatex(lencharsmax(len), "\d%s \r[%s]"g_armas_prim[i][NOMBRE], Rangos[g_armas_prim[i][RANGO]][NOMBRE])
            
menu_additem(menulen"")
        }
    }
    
menu_display(idmenu0)
}
public 
handler_prim(idmenuitem
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    if(!(
cs_get_user_team(id) == CS_TEAM_CT))
        return 
PLUGIN_HANDLED;
        
    if(
g_rango[id] < g_armas_prim[item][RANGO]) 
    {
        
client_print(idprint_center"Debes ser rango: %s"Rangos[g_armas_prim[item][RANGO]][NOMBRE])
        
show_guns_prim(id)
        return 
PLUGIN_HANDLED;
    }
    
strip_user_weapons(id)
    
give_item(id"weapon_knife")
    
give_item(idg_armas_prim[item][WEAPON_NAME])
    
cs_set_user_bpammo(idg_armas_prim[item][CSW_NAME], g_armas_prim[item][BPAMMO])
    
g_menu[id] = 1
    show_guns_sec
(id)
    return 
PLUGIN_HANDLED;
}
show_guns_sec(id)
{
    new 
len[50], menu menu_create("Elija su arma secundaria""handler_sec")
    for(new 
0sizeof g_armas_seci++)
    {
        if(
g_rango[id] >= g_armas_sec[i][RANGO])
        {
            
menu_additem(menug_armas_sec[i][NOMBRE], "")
        }
        else
        {
            
formatex(lencharsmax(len), "\d%s \r[%s]"g_armas_sec[i][NOMBRE], Rangos[g_armas_sec[i][RANGO]][NOMBRE])
            
menu_additem(menulen"")
        }
    }
    
menu_display(idmenu0)
}
public 
handler_sec(idmenuitem)
{
    if(
item == MENU_EXIT)
    { 
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    if(!(
cs_get_user_team(id) == CS_TEAM_CT))
        return 
PLUGIN_HANDLED;
        
    if(
g_rango[id] < g_armas_sec[item][RANGO])
    {
        
client_print(idprint_center"Debes ser rango: %s"Rangos[g_armas_prim[item][RANGO]][NOMBRE])
        
show_guns_sec(id)
        return 
PLUGIN_HANDLED;
    }
    
give_item(idg_armas_sec[item][WEAPON_NAME])
    
cs_set_user_bpammo(idg_armas_sec[item][CSW_NAME], g_armas_sec[item][BPAMMO])
    
g_menu[id] = 2
    
return PLUGIN_HANDLED;
}
public 
cmd_guns(id)
{
    switch(
g_menu[id]) 
    {
        case 
0show_guns_prim(id)
        case 
1show_guns_sec(id)
        case 
2client_print(idprint_chat"Usted ya eligio armas")
    }

/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
adv_vault_set_start(g_vault)
    
    
adv_vault_set_field(g_vaultg_campos[CAMPO_RANGO], g_rango[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_RANGO], g_frags[id])
    
    
adv_vault_set_end(g_vault0g_playername[id])
}

Cargar(id) {
    if(!
adv_vault_get_prepare(g_vault_g_playername[id])) 
        return
    
    
g_rango[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_RANGO])
    
g_frags[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_FRAG])

/* ===================================
*[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(); 
            } 
        } 
    } 

// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


Proud Revisa lo y dime si tiene algo.

Aki para que estudies el Rango Frags:
https://amxmodx-es.com/Thread-Menu-de-ar...-por-rango

no pero cuando presiono la m me sale para elegir equipo no me sale para crear de nuevo la cuenta
me gusta los rango que yo tengo porq me da skins y la cantidad de frags es mas alto para desbloquear las skins quisiera saber como puedo hacer lo que yo pedi
Responder
#4
crea un comando de say para habrir el menu, o hook una letra

Código PHP:
register_clcmd("say /ingresar""show_cuenta_menu"
Si el usuario se le cierra el menú de la cuenta al escribir eso en el chat /ingresar se le abrira el menú.

te recomiendo crear un checkeo en el menú. haber si ya esta logueado, para que no hayan bugs

o hook la letra "N"

Código PHP:
register_clcmd("nightvision""show_cuenta_menu"
con este al presionar la letra N se le habrira el menu.
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Responder
#5
(26/07/2018, 08:39 AM)Saber escribió: crea un comando de say para habrir el menu, o hook una letra

Código PHP:
register_clcmd("say /ingresar""show_cuenta_menu"
Si el usuario se le cierra el menú de la cuenta al escribir eso en el chat /ingresar se le abrira el menú.

te recomiendo crear un checkeo en el menú. haber si ya esta logueado, para que no hayan bugs

o hook la letra "N"

Código PHP:
register_clcmd("nightvision""show_cuenta_menu"
con este al presionar la letra N se le habrira el menu.

pero con la letra n abro el menu no se puede abrir el menu automaticamente cuando se cierre otro menu me explico q habra el amxmodenu y cuando me salga se abra automaticamente para crear la cuenta
Responder
#6
Cita:pero con la letra n abro el menu no se puede abrir el menu automaticamente cuando se cierre otro menu me explico q habra el amxmodenu y cuando me salga se abra automaticamente para crear la cuenta

Dafuq es claro que si abres otro menú, el anterior se cierra y mucho mas si es el amxmodmenu.
Es mejor que lo dejes como te dijo Saber o lo pongas que abra con la "M".

Código PHP:
register_clcmd("chooseteam""show_cuenta_menu")
register_clcmd("jointeam""show_cuenta_menu"

Proud Mi recomendación, es que no abras el amxmodmenu. Y la manera de hacer que los jugadores vuelvan abrir el menú de los Frags, es que presionen la "M" para volverlo abrir y ingresar su cuenta.
[Imagen: jrXxqRT.png]
*Maper Del Cstrike* - *Estudiante De Sistema*
(03/09/2018, 08:32 PM)Skylar escribió: Obviamente, no va a hablar con super pro para que le mueva el thread
(04/01/2019, 05:12 PM)Pan Bimbo (? escribió: QUE HICISTE QUE??????? YO QUERIA LA PLACA DE VIDEO PORQUE LA TIRASTE CTM
(15/01/2019, 04:08 AM)FreDDy escribió:
(15/01/2019, 03:45 AM)Hernandez escribió: Qué más dan las palabras si a donde vayas están en tetas protestando sin sentido

No todas salen en tetas y no todas protestan sin sentido. Estás generalizando algo que sólo unas pocas lo hacen a diferencia de las muchas que realmente tienen un motivo para protestar.
(17/01/2019, 12:34 PM)totopizza escribió: el orden de los factores no altera el producto xD
(23/01/2019, 01:10 AM)GoldenCosta escribió:
Cita:E visto que este ZP , ESTA AQUI EN EL FORO PERO NO ES EL ORIGINAL POR QUE? , LE FALTAN MILES DE COSAS ESTA BUGEADO , LE FALTAN CÓDIGOS NI SE IMAGINAN , BUENO EL MOD ESTE SE VENDE POR 70 DOLARES , ACEPTO PAYPAL Y EN PESOS CHILENOS $42.584
ya esta publicado.... y 70 us en arg son 2625,35 pesos... estas loco con esa guita neel mantiene el foro por 2 años
(23/01/2019, 01:17 AM)Skylar escribió:
(22/01/2019, 10:30 PM)el_juan_fail escribió:
(22/01/2019, 10:03 AM)Neeeeeeeeeel.- escribió: Por favor subir las cosas al foro y no links a blogs externos. Solamente en caso de que haya recursos que no se pudiesen subir por un tema de tamaño, poenr un link de descarga directo (tipo mega) de los recursos y subir los plugins y demás archivos livianos al foro.

deberia ponerle en un link mediante el mediafire o mega o link externo lo que sea pero no es bueno dejar cosa agregada sin descargar solo por el blog no se puede se puede bajar el recurso o que haya sido creado disculpa neeeeel. estaba leyendose las reglas u.uMario

Dijiste lo mismo que dijo Neeel!
(27/02/2019, 08:00 PM)Sugisaki escribió:
(27/02/2019, 05:37 PM)Pan Bimbo (? escribió:
(27/02/2019, 12:06 AM)luxor xD escribió: Hola, si precacheo algo en un plugin, no es necesario precachearlo en otro plugin?

Si yo cargo una caja en un camion, mi amigo puede cargar la MISMA caja en el camion?, y no porque ya esta cargada.
[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
(14/03/2019, 10:26 PM)KrR10VnZl escribió: en Venezuela aprendes a ser desde bombas molotov hasta velas, es algo así como supervivencia al desnudo jaja
(18/04/2019, 11:04 PM)Jose88 escribió:
(18/04/2019, 09:55 PM)Hypnotize escribió: arriba marica

papa me va perdonar pero aquí no sale ningún download. solo sale esto

Código PHP:
PDNiños Ratas eviten sacar el autor jaja.
REMOVIDO POR TUTOR Y SLOWHACK
(21/04/2019, 09:38 AM)SHENK! =D escribió: ASDASD

Si nos organizamos cojemos todos.
(11/08/2019, 05:11 PM)Cr3470r escribió: Todo Software es crackeable ... No importa cuantas validaciones hagan, la ventaja siempre la tenemos nosotros ...
(28/07/2015, 09:34 PM)Nazi.- escribió: :ohgodwhy buen aporte

PD: situación sentimental: Sin internetOh god why

Sigue así Proud

(28/02/2020, 12:23 AM)Skylar escribió:
(27/02/2020, 11:28 PM)4evergaming escribió: Ya me puse como autor y lo subi a mi empresa


Abrazos

FIX
Responder
#7
(26/07/2018, 03:47 PM)moli101 escribió:
(26/07/2018, 08:39 AM)Saber escribió: crea un comando de say para habrir el menu, o hook una letra

Código PHP:
register_clcmd("say /ingresar""show_cuenta_menu"
Si el usuario se le cierra el menú de la cuenta al escribir eso en el chat /ingresar se le abrira el menú.

te recomiendo crear un checkeo en el menú. haber si ya esta logueado, para que no hayan bugs

o hook la letra "N"

Código PHP:
register_clcmd("nightvision""show_cuenta_menu"
con este al presionar la letra N se le habrira el menu.

pero con la letra n abro el menu no se puede abrir el menu automaticamente cuando se cierre otro menu me explico q habra el amxmodenu y cuando me salga se abra automaticamente para crear la cuenta

hacelo que se registre cuando entre x persona sea admin o visitante le salga el menu y no tenga tiempo de abrir al menu de amxmodmenu para que se cree la cuenta

no entiendo para que queres que se abra automaticamente cuando cierra el menu del amxmodmenu Insecure
Responder
#8
(26/07/2018, 07:32 PM)La Renga Mk escribió:
(26/07/2018, 03:47 PM)moli101 escribió:
(26/07/2018, 08:39 AM)Saber escribió: crea un comando de say para habrir el menu, o hook una letra

Código PHP:
register_clcmd("say /ingresar""show_cuenta_menu"
Si el usuario se le cierra el menú de la cuenta al escribir eso en el chat /ingresar se le abrira el menú.

te recomiendo crear un checkeo en el menú. haber si ya esta logueado, para que no hayan bugs

o hook la letra "N"

Código PHP:
register_clcmd("nightvision""show_cuenta_menu"
con este al presionar la letra N se le habrira el menu.

pero con la letra n abro el menu no se puede abrir el menu automaticamente cuando se cierre otro menu me explico q habra el amxmodenu y cuando me salga se abra automaticamente para crear la cuenta

hacelo que se registre cuando entre x persona sea admin o visitante le salga el menu y no tenga tiempo de abrir al menu de amxmodmenu para que se cree la cuenta

no entiendo para que queres que se abra automaticamente cuando cierra el menu del amxmodmenu Insecure

bueno eso es lo de meno pero la otra cosa era como hago para los que tengas varias skins desbloqueadas puedan elegirlas ya q cuando subes de rango te cambia la skins pero no te deja poner otra que ya tienes desbloqueada

(26/07/2018, 07:29 PM)El pirucho XP-007 escribió:
Cita:pero con la letra n abro el menu no se puede abrir el menu automaticamente cuando se cierre otro menu me explico q habra el amxmodenu y cuando me salga se abra automaticamente para crear la cuenta

Dafuq es claro que si abres otro menú, el anterior se cierra y mucho mas si es el amxmodmenu.
Es mejor que lo dejes como te dijo Saber o lo pongas que abra con la "M".

Código PHP:
register_clcmd("chooseteam""show_cuenta_menu")
register_clcmd("jointeam""show_cuenta_menu"

Proud Mi recomendación, es que no abras el amxmodmenu. Y la manera de hacer que los jugadores vuelvan abrir el menú de los Frags, es que presionen la "M" para volverlo abrir y ingresar su cuenta.

bueno eso es lo de meno pero la otra cosa era como hago para los que tengas varias skins desbloqueadas puedan elegirlas ya q cuando subes de rango te cambia la skins pero no te deja poner otra que ya tienes desbloqueada
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)