Evento de Logros [v1.2] + Guardado Top 10 adv_vault
#1
Bug 
Bueno espero que esten bien quisiera aportarles este plugins de logros que tenia realizado por alli y decidi compartirlos con ustedes espero que sea de su agrado. Comenten cualquier cosa. y si me pueden dar ideas para optimizarlo o mejor el codigo son todas bienvenidas. Mario

Código PHP:
/*** Descripcion:
    debes ir desbloqueado cada logro segun la accion que te pida realizar para poderlo completar.
    
    Cvars:
    estas son las cvars que se ultilizaran ponerle un maxinmo de kills a cada logro
    "cvarl_killct",        
    "cvarl_killtt",        
    "cvarl_killct_round",    
    "cvarl_killtt_round",    
    "cvarl_knife",        
    "cvarl_glock",        
    "cvarl_usp",        
    "cvarl_deagle",        
    "cvarl_he",         
    "cvarl_mp5",        
    "cvarl_m4a1",        
    "cvarl_ak47",        
    "cvarl_scout",        
    "cvarl_m3",        
    "cvarl_xm1014",        
    "cvarl_g3g1",        
    "cvarl_sg550",        
    "cvarl_awp",        
    "cvarl_m249",        
    "cvarl_headshot"
    
    PD; es recomendable cambiar las cvars mediante el codigo y luego activar el plugin recuerden que lleva guardado y se podrian
    bugear el conteo de los logros ganados si ya un jugador ah ganado un logro y luego suben el kill requerido de ese logro.
    ya que el jugador tendria que volverlo a completar y le contara 2 veces el mismo logro ganado.
    
    Changelogs:
    version 1.0 Realizacion del plugin por la parte rapida.
    version 1.1 Mejoramiento de la Esctructura del codigo
    version 1.2 Arreglado un bug el menu de ver logros.
    
    Creditos: Gonza* me base en su sistema de logros.
    Destro por su Api adv_vault.
***/    
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <colorchat>
#include <adv_vault>


#define MaxLogros  20
#define LogroSonido "Logros/logro_ganado.wav"
#define CONTACTO "visita amxmodx-es.com"

new const PLUGIN[][] = { "Evento de Logros" "1.2""SytOws2j" }

new const 
TAG[] = "^4[AMXX]^1"


new bool:g_conectado[33], bool:g_round

new gKillsCT[33];
new 
gKillsTT[33];
new 
gKCTRound[33];
new 
gKTTRound[33];
new 
gKnife[33]
new 
gGlock[33]
new 
gUsp[33]
new 
gDeagle[33]
new 
gHe[33]
new 
gMp5[33]
new 
gM4[33]
new 
gAk47[33]
new 
gScout[33]
new 
gM3[33]
new 
gXm1014[33]
new 
gG3G1[33]
new 
gSG550[33];
new 
gAwp[33];
new 
gM2[33];
new 
gHs[33];

new 
gVarContadores[33][22];


enum _:NombreCvars
{
    
CVAR_KILLCT 0,
    
CVAR_KILLTT,
    
CVAR_KILLCT_ROUND,
    
CVAR_KILLTT_ROUND,
    
CVAR_KNIFE,
    
CVAR_GLOCK,
    
CVAR_USP,
    
CVAR_DEAGLE,
    
CVAR_HE,
    
CVAR_MP5,
    
CVAR_M4A1,
    
CVAR_AK47,
    
CVAR_SCOUT,
    
CVAR_M3,
    
CVAR_XM1414,
    
CVAR_G3G1,
    
CVAR_SG550,
    
CVAR_AWP,
    
CVAR_M249,
    
CVAR_HEADSHDOT
};

enum _:Cvars
{
    
CVAR_NOMBRE 0,
    
CVAR_INT
};

new const 
CvarsRequerido[Cvars][][] = 
{
    {
        
"cvarl_killct",        
        
"cvarl_killtt",        
        
"cvarl_killct_round",    
        
"cvarl_killtt_round",    
        
"cvarl_knife",        
        
"cvarl_glock",        
        
"cvarl_usp",        
        
"cvarl_deagle",        
        
"cvarl_he",         
        
"cvarl_mp5",        
        
"cvarl_m4a1",        
        
"cvarl_ak47",        
        
"cvarl_scout",        
        
"cvarl_m3",        
        
"cvarl_xm1014",        
        
"cvarl_g3g1",        
        
"cvarl_sg550",        
        
"cvarl_awp",        
        
"cvarl_m249",        
        
"cvarl_headshot"
    
},
    {
    
        
"2000"// CVAR_KILLCT
        
"2000"// CVAR_KILLTT
        
"7",    // CVAR_KILLCT_ROUND
        
"7",    // CVAR_KILLTT_ROUND
        
"500",    // CVAR_KNIFE,
        
"500",    // CVAR_GLOCK
        
"500",    // CVAR_USP
        
"500",    // CVAR_DEAGLE
        
"300",    // CVAR_HE
        
"400",    // CVAR_MP5
        
"1000",    // CVAR_M4A1
        
"1000",    // CVAR_AK47
        
"500",    // CVAR_SCOUT
        
"3000",    // CVAR_M3
        
"1500",    // CVAR_XM1414
        
"1500",    // CVAR_G3G1
        
"1500",    // CVAR_SG550
        
"1000",    // CVAR_AWP
        
"500",    // CVAR_M249
        
"1000"    // CVAR_HEADSHDOT
    
}
}
new 
g_cvars[NombreCvars]




enum _:LOGROS
{
    
LOGROS_NOMBRE 0,
    
LOGROS_DESCRIPCION
}


enum _:LOGROS_TIPO
{
    
LOGROS_GENERALES 0
    
};


new const 
TodosLogrosProgreso[LOGROS][][] = 

{
    
    {
        
"El CT Mas Potente",
        
"El Terrorista Mas Potente",        // 0// 0
        
"El CT Audaz",
        
"El Terrorista Audaz",
        
"El Dios del Cuchillo",            // 2
        
"El Dios de la Glock",            // 3
        
"El Dios de la Usp",            // 4
        
"El Dios de la Deagle",            // 5
        
"Bombardero Experto",
        
"Sargento de SWATT",            // 6
        
"Elite de SWATT",            // 7
        
"Taliban de la Elite",            // 8
        
"Franco Tirador Sigiloso",        // 9
        
"Surfista Tirador Elite",        // 10
        
"Surfista Tirador Habilidoso",        // 11
        
"Franco Tirador Capacitado 1",        // 12
        
"Franco Tirador Capacitado 2",        // 13
        
"Franco Tirador Experto" ,        // 14
         
"Sylvestre Stallone Rambo",        // 15// 1// 0
        
"Soldado Habil Experto"        // 1
        
        
    
},
    {
        
        
"Asesina a 2000 TTs",
        
"Asesina a 2000 CTs",        // 0// 0
        
"Asesina a 7 TTs en una Ronda",
        
"Asesina a 7 CTs en una Ronda",
        
"Asesina a 500 enemigos con Cuchillo",
        
"Asesina a 500 enemigos con Glock",
        
"Asesina a 500 enemigos con Usp",
        
"Asesina a 500 enemigos con Deagle",
        
"Asesina a 300 enemigos Con Granada HE",
        
"Asesina a 400 enemigos con la Mp5",
        
"Asesina a 1000 enemigos con la M4a1",
        
"Asesina a 1000 enemigos con Ak47",
        
"Asesina a 500 enemigos con Scout",
        
"Asesina a 3000 enemigos con M3",        // 10
        
"Asesina a 1500 enemigos con Xm1014",
        
"Asesina a 1500 enemigos con TAKA TT"
        
"Asesina a 1500 enemigos con TAKA CT",
        
"Asesina a 1000 enemigos con AWP",
        
"Asesina a 500 enemigos con M249",
        
"Asesina a 1000 enemigos de HS"    //
    
}
    
}

new 
g_logros[33][LOGROS_TIPO][22]
new 
g_MenuLogro[33], LogrosGanados[33];

enum
{
    
    
LOGRO_RONDA_CT,
    
LOGRO_RONDA_TT,
    
LOGRO_LOGROSGENERALES,
    
LOGRO_CT,
    
LOGRO_TT,
    
LOGRO_HS,
    
LOGRO_GLOCK,
    
LOGRO_CUCHILLO,
    
LOGRO_USP,
    
LOGRO_DEAGLE,
    
LOGRO_MP5,
    
LOGRO_M4A1,
    
LOGRO_AK47,
    
LOGRO_SCOUT,
    
LOGRO_M3,
    
LOGRO_HE,
    
LOGRO_XM1014,
    
LOGRO_TAKACT,
    
LOGRO_TAKATT,
    
LOGRO_AWP,
    
LOGRO_M2,
    
LOGRO_GANADO,
    
MAX
}

new 
field[MAX], vaultvNombre[33][32] ,g_sort;
new 
motd[1536];

public 
plugin_init()
{
    
register_plugin(PLUGIN[0], PLUGIN[1], PLUGIN[2]);
    
    
register_clcmd("say /logros","MenuProgresoLogros",_,"<mostrar menu de pogreso de logros>");
    
register_clcmd("say /ltop","pfn_top",_,"<mostrar top de logros>");
    
register_clcmd("say /layuda","MostrarAyuda",_,"<brindar ayuda al cliente>");
    
register_clcmd("say /lmenu","ShowMenuPrincipal");
    
    
register_concmd("amxx_verlogros","pfn_verlogros",ADMIN_RCON,"<#amxx_verlogros #nombre>")
    
register_concmd("say /ljugadores","verlogros_jugadores",ADMIN_RCON,"<ver los logros completados de los jugadores por un menu>")
    
    for (new 
0sizeof(CvarsRequerido[]); i++)
    {
        
g_cvars[i]     =register_cvar(CvarsRequerido[CVAR_NOMBRE][i],CvarsRequerido[CVAR_INT][i]);
    }

    
    
    
    
RegisterHam(Ham_Spawn,         "player",     "Ham_PlayerSpawn"1)
    
    
register_event("HLTV" "round_start" "a""1=0""2=0")
    
register_event"SendAudio""TTRonda""a""2&%!MRAD_terwin" ); 
    
register_event"SendAudio""CTRonda""a""2&%!MRAD_ctwin" ); 
    
register_event"SendAudio""EmpateRonda","a","2&%!MRAD_rounddraw" );
    
register_event("DeathMsg",                    "event_DeathMsg""a")
    
    
register_menu("Descripcion"<< 9"MenuProgresoLogrosDesc_h")


    
    
    
vault                 =  adv_vault_open("EventoLogros"false)
    
field[LOGRO_RONDA_CT]        =  adv_vault_register_field(vault"RONDACT"DATATYPE_INT)
    
field[LOGRO_RONDA_TT]        =  adv_vault_register_field(vault"RONDATT"DATATYPE_INT)
    
field[LOGRO_LOGROSGENERALES]    =  adv_vault_register_field(vault"LOGROGENERALES"DATATYPE_ARRAY,22)
    
field[LOGRO_CT]            =  adv_vault_register_field(vault"KILLCT"DATATYPE_INT)
    
field[LOGRO_TT]            =  adv_vault_register_field(vault"KILLTT"DATATYPE_INT)
    
field[LOGRO_HS]         =  adv_vault_register_field(vault"HS"DATATYPE_INT)
    
field[LOGRO_GLOCK]         =  adv_vault_register_field(vault"GLOCK"DATATYPE_INT)
    
field[LOGRO_CUCHILLO]         =  adv_vault_register_field(vault"CUCHILLO"DATATYPE_INT)
    
field[LOGRO_USP]         =  adv_vault_register_field(vault"USP"DATATYPE_INT)
    
field[LOGRO_DEAGLE]         =  adv_vault_register_field(vault"DEAGLE"DATATYPE_INT)
    
field[LOGRO_MP5]         =  adv_vault_register_field(vault"MP5"DATATYPE_INT)
    
field[LOGRO_M4A1]         =  adv_vault_register_field(vault"M4A1"DATATYPE_INT)
    
field[LOGRO_AK47]         =  adv_vault_register_field(vault"AK47"DATATYPE_INT)
    
field[LOGRO_SCOUT]         =  adv_vault_register_field(vault"SCOUT"DATATYPE_INT)
    
field[LOGRO_M3]         =  adv_vault_register_field(vault"M3"DATATYPE_INT)
    
field[LOGRO_HE]         =  adv_vault_register_field(vault"HE"DATATYPE_INT)
    
field[LOGRO_XM1014]         =  adv_vault_register_field(vault"XM1014"DATATYPE_INT)
    
field[LOGRO_TAKACT]         =  adv_vault_register_field(vault"TAKACT"DATATYPE_INT)
    
field[LOGRO_TAKATT]        =  adv_vault_register_field(vault"TAKATT"DATATYPE_INT)
    
field[LOGRO_AWP]         =  adv_vault_register_field(vault"AWP"DATATYPE_INT)
    
field[LOGRO_M2]         =  adv_vault_register_field(vault"M2"DATATYPE_INT)
    
field[LOGRO_GANADO]        =  adv_vault_register_field(vault"LOGRO_GANADO"DATATYPE_INT)
    
    
    
adv_vault_init(vault)
    
g_sort             adv_vault_sort_create(vault,ORDER_DESC,0,2000,field[LOGRO_GANADO]);
    
}
public 
plugin_precache() precache_sound(LogroSonido)

public 
round_start(skip)
{
    for(new 
id=1id <= get_maxplayers(); id++)
    {
        if(
is_user_connected(id)) Guardar(id)
        
TemporizarDatos(id)
    }
    
    if(!
skip)
    {
        
adv_vault_sort_update(vaultg_sort)
        
update_motd()
    }
}

public 
pfn_top(id)
{
    
show_motd(idmotd"LOGROS COMPLETADOS TOP-10")
}

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

    static 
newname[32], name[32]

    
get_user_info(id"name"newname31)
    
get_user_name(idname31)

    if(!
equal(newnamename))
    {

        
Cargar(id)
    }
}
public 
client_putinserver(id)
{
    
g_conectado[id] = true;
    
g_round true;
    
get_user_name(idvNombre[id], charsmax(vNombre[]))
    
     
// Seteamos los contadores en 0
    
gKnife[id] = gHs[id] = 0
    gGlock
[id] = gUsp[id] = gDeagle[id] = gHe[id] = gMp5[id] = gM4[id] = gAk47[id] = gKCTRound[id] = gKTTRound[id] = 0;
    
gScout[id] = gM3[id] = gXm1014[id] = gG3G1[id] = gSG550[id] = gAwp[id] = gM2[id] = gKillsCT[id] = gKillsTT[id] = 0
        LogrosGanados
[id] = 0

   
    
// Y los logros en incompletos (Si usa un sistema de guardado, hagalo como y donde corresponda)
    
arrayset(g_logros[id][LOGROS_GENERALES], 0sizeof(g_logros[][]))
    
    

    
Cargar(id// cargamos datos
    
TemporizarDatos(id)
    
    
set_task(10.0,"Mensaje",id);
    


}
public 
Mensaje(id)
{
    
    
ColorChat(idNORMAL,"%s Evento de Logros escriba /lmenu para informarte.",TAG);
    
}

public 
ShowMenuPrincipal(id)
{
    
    new 
menu menu_create("\yEvento de Logros","handler_principal")
    
    
menu_additem(menu,"\wMenu de Logros","1");
    
menu_additem(menu,"\wTop10 de Logros","2");
    
menu_additem(menu,"\wAyuda","3");
    
menu_additem(menu,"\wVer Logros Completados \r[ADMIN]","4");
    
menu_additem(menu,"\wContacto","5");

    
menu_setprop(menu,MPROP_EXITNAME,"Salir")
    
menu_display(id,menu)
    return 
PLUGIN_HANDLED;
}

public 
handler_principalidmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    switch( 
item )
    {
        
        case 
0MenuProgresoLogrosid )
        case 
1pfn_topid )
        case 
2MostrarAyudaid );
        case 
3verlogros_jugadores(id);
        case 
4Contactoid );
        case 
6: return PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_HANDLED
}
    


public 
MostrarAyuda(id)
{

    
    new 
szTitle[32];
    
formatex(szTitle,charsmax(szTitle),"Comandos y Ayuda General");
    
    
show_motd(id,"logroshelp.txt",szTitle);
    
    return 
PLUGIN_HANDLED;
}

public 
Contacto(id)
{
    
set_hudmessage(00225, -1.0, -1.010.03.02.05.0)
    
show_hudmessage(id"Contacto: %s"CONTACTO)




public 
CTRonda()
{
    
g_round false;
    for (new 
id 1id <= get_maxplayers(); id++)
    {
        
        if(
g_round == true && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
            
        }
        else
        {
            
gKTTRound[id] = 0;
            
TemporizarDatos(id);
        }
        if(
g_round == true && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            
        }
        else
        {
            
gKCTRound[id] = 0;
            
TemporizarDatos(id);
        }
        
    }
    return 
PLUGIN_HANDLED;
}
public 
TTRonda()
{
    
g_round false;
    for (new 
id 1id <= get_maxplayers(); id++)
    {
        
        if(
g_round == true && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
            
        }
        else
        {
            
gKTTRound[id] = 0;
            
TemporizarDatos(id);
        }
        if(
g_round == true && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            
        }
        else
        {
            
gKCTRound[id] = 0;
            
TemporizarDatos(id);
        }
        
    }
    return 
PLUGIN_HANDLED;
}
public 
EmpateRonda()
{
    
g_round false;
    for (new 
id 1id <= get_maxplayers(); id++)
    {
        
        if(
g_round == true && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
            
        }
        else
        {
            
gKTTRound[id] = 0;
            
TemporizarDatos(id);
        }
        if(
g_round == true && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            
        }
        else
        {
            
gKCTRound[id] = 0;
            
TemporizarDatos(id);
        }
        
        
    }
    return 
PLUGIN_HANDLED;
}



public 
client_disconnect(id)
{
    
g_conectado[id] = false // seteamos la variable en falso ya que se desconectó
    
g_round false // seteamos la variable round en falso ya que se desconectó no puede hacer logros
    
Guardar(id// checkeamos lo del define y guardamos
}

public 
pfn_verlogros(idlevel ,cid)
{
    if(!
cmd_access(id,level,cid,2))
    {
        
ColorChat(id,NORMAL,"%s no tienes acceso a este comando",TAG);
        return;
    }
    static 
szArgumento[32],player,szName[35]
    
read_argv(idszArgumentocharsmax(szArgumento))
    
player cmd_target(idszArgumentoCMDTARGET_ALLOW_SELF)
    
    if(!
player)
    {
        
console_print(id,"%s nombre invalido o jugador no existente",TAG)
        return;
    }
    
get_user_name(player,szNamecharsmax(szName))
    
ColorChat(id,NORMAL,"%s El Jugador ^4%s^1 tiene (^4%d^1 / ^4%d^1) logros completos",TAG,szName,LogrosGanados[player],MaxLogros)    
    
}


public 
verlogros_jugadores(id)
{
    if(!
is_user_admin(id))
    {
        
console_print(id,"%s no tienes acceso a este comando",TAG);
        return 
PLUGIN_HANDLED;
    }
    new 
menu menu_create("Logros Completados de Jugadores","AdminLogros_C")
        
    new 
iPlayers[32],iNum,iPlayer;
    
get_players(iPlayers,iNum,"ch");

    new 
szName[32], szNum[5], szData[64];

    for(new 
i;iNum;i++)
    {
        
iPlayer iPlayers[i];

        
get_user_name(iPlayer,szName,charsmax(szName));
        
formatex(szData,charsmax(szData),"%s | \yLOGROS \w(\r%d \y/ \r%d\w)",szNameLogrosGanados[iPlayer], MaxLogros)
        
num_to_str(iPlayer,szNum,charsmax(szNum))
        
menu_additem(menuszDataszNum)
    

        
    }
    
menu_setprop(menu,MPROP_NEXTNAME,"Siguiente")
    
menu_setprop(menu ,MPROP_BACKNAME"Atras" )
    
menu_setprop(menu ,MPROP_EXITNAME"Salir");
        
    
menu_display(id,menu)
    return 
PLUGIN_HANDLED;
    
}

public 
AdminLogros_C(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    if(
item != 0) return ITEM_DISABLED;
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED;
}
    

public 
MenuProgresoLogros(id)
{
    
    new 
szData[64]
    
formatex(szData,charsmax(szData), "\yLOGROS COMPLETADOS \w(\r%d \y/ \r%d\w)",LogrosGanados[id], MaxLogros)
    new 
menu menu_create(szData"MenuProgresoLogros_h")
    

    new 
szNombre[60], szNum[5],szData2[64// Para el nombre del item y el numero de logro
    

    
for (new logro 0logro sizeof(TodosLogrosProgreso[]); logro++)
    {
        
// Agregamos un item con el nombre del logro y si esta completo o no
        
formatex(szData2,charsmax(szData2),"\w(\r%d \y/ \r%d\w)",gVarContadores[id][logro], get_pcvar_num(g_cvars[logro]))
        
formatex(szNombrecharsmax(szNombre), "%s | \yFrags: %s"TodosLogrosProgreso[LOGROS_NOMBRE][logro] ,gVarContadores[id][logro] != get_pcvar_num(g_cvars[logro]) ?  szData2 "\rCOMPLETOS")
        
num_to_str(logroszNumcharsmax(szNum))
        
menu_additem(menuszNombreszNum)
    }
        
    
menu_setprop(menuMPROP_NEXTNAME"Siguiente")
    
menu_setprop(menuMPROP_BACKNAME"Anterior")
    
menu_setprop(menuMPROP_EXITNAME"Atras")
    
    
menu_display(idmenu)
    
}

public 
MenuProgresoLogros_h(idmenu item)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
accbnum[5]
    
menu_item_getinfo(menuitemacnumcharsmax(num), ""0cb// Obtenemos el numero del logro
    
    
g_MenuLogro[id] = str_to_num(num// Seteamos el numero de logro en la variable
    
MenuProgresoLogrosDescripcion(id// Segundo sub-menu con la descripcion del logro
    
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
    
    
}

public 
MenuProgresoLogrosDescripcion(id)
{
    new 
szText[512], len
    
    len 
+= formatex(szText[len], charsmax(szText) - len"\yProgreso de Logros\y [GENERALES]^n^n")
    
    
len += formatex(szText[len], charsmax(szText) - len"\r-\y NOMBRE:\w %s^n^n",
    
TodosLogrosProgreso[LOGROS_NOMBRE][g_MenuLogro[id]])
    
    
len += formatex(szText[len], charsmax(szText) - len"\r-\y DESCRIPCION:\w %s^n^n",
    
TodosLogrosProgreso[LOGROS_DESCRIPCION][g_MenuLogro[id]])
    
    
len += formatex(szText[len], charsmax(szText) - len"\r0.\w Atras")
    
    
show_menu(id<< 9szText, -1"Descripcion")
}

// Como el unico boton que podemos tocar es 0 (Atras) mostramos directamente el sub-menu anterior
public MenuProgresoLogrosDesc_h(idkeyMenuProgresoLogros(id)

public 
Ham_PlayerSpawn(id) { // cuando el jugador respawnea
    
    
g_round true;
    if(
is_user_alive(id)) 
    { 
// si esta vivo el jugador
        /*checkeamos si no cumplio el logro seteamos los contadores de los logros matar x en x ronda(s) en 0*/ 
    
        
if(g_round == true && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKTTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
gKTTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
            
        }
        else
        {
            
gKTTRound[id] = 0;
            
TemporizarDatos(id);
        }
        if(
g_round == true && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            return 
PLUGIN_HANDLED;
        }
        else if(
g_round == false && gKCTRound[id] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
        {
            
gKCTRound[id] = get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]);
            
TemporizarDatos(id);
            
        }
        else
        {
            
gKCTRound[id] = 0;
            
TemporizarDatos(id);
        }
        
    }    
    
    return 
PLUGIN_HANDLED;
    
// seteamos la variable round en verdadero para checkear los logros de matar x en x ronda(s)
 
    
}
// Cada vez que un jugador muere...
public event_DeathMsg()
{
    new 
iAttacker read_data(1// Obtenemos el index del atacante
    
new iVictim read_data(2// Obtenemos el index de la victima
    
new iHs read_data(3// Obtenemos si fue de headshot (1 si, 0 no)
    
new iWeapon[64]  
    
read_data(4iWeaponcharsmax(iWeapon)) // Obtenemos el nombre del arma con el que se produjo el asesinato xD
    
  
    // Si se suicido (con una bomba por ejemplo), o lo mato una entidad o una caida, retornamos
    
if (!is_user_connected(iAttacker) || iAttacker == iVictim)  return;
    
    
// Obtenemos el team del atacante y de la victima
    
new team get_user_team(iAttacker)
    new 
vteam get_user_team(iVictim)
    

    if(
team == && vteam == && gKillsTT[iAttacker] < get_pcvar_num(g_cvars[CVAR_KILLTT]))
    {
        
gKillsTT[iAttacker]++
        if(
gKillsTT[iAttacker] == get_pcvar_num(g_cvars[CVAR_KILLTT]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttacker LOGROS_GENERALESCVAR_KILLTT)
        
        }
    }
    else if(
team == && vteam == && gKillsCT[iAttacker] < get_pcvar_num(g_cvars[CVAR_KILLCT]))
    {
        
gKillsCT[iAttacker]++
        if(
gKillsCT[iAttacker] == get_pcvar_num(g_cvars[CVAR_KILLCT]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttacker LOGROS_GENERALESCVAR_KILLCT)
            
        }
    }
    
    if(
iHs && gHs[iAttacker] < get_pcvar_num(g_cvars[CVAR_HEADSHDOT]))
    {
        
gHs[iAttacker]++;
        if(
gHs[iAttacker] == get_pcvar_num(g_cvars[CVAR_HEADSHDOT])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttacker LOGROS_GENERALESCVAR_HEADSHDOT)
            
        }
    }
        
    if(
g_round == true && team == && vteam == && gKTTRound[iAttacker] < get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
    {
        
gKTTRound[iAttacker]++
        if(
gKTTRound[iAttacker] == get_pcvar_num(g_cvars[CVAR_KILLTT_ROUND]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttacker LOGROS_GENERALESCVAR_KILLTT_ROUND)
            
        }
    }
    else if(
g_round == true && team == && vteam == && gKCTRound[iAttacker] < get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND]))
    {
        
gKCTRound[iAttacker]++
        if(
gKCTRound[iAttacker] == get_pcvar_num(g_cvars[CVAR_KILLCT_ROUND])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttacker LOGROS_GENERALESCVAR_KILLCT_ROUND)
            
        }
    }
    
    if(
equali(iWeapon,"knife") && gKnife[iAttacker] < get_pcvar_num(g_cvars[CVAR_KNIFE]))
    {
        
gKnife[iAttacker]++;
        if(
gKnife[iAttacker] == get_pcvar_num(g_cvars[CVAR_KNIFE])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_KNIFE)
            
        }
    }
    else if(
equali(iWeapon,"glock18") && gGlock[iAttacker] < get_pcvar_num(g_cvars[CVAR_GLOCK]))
    {
        
gGlock[iAttacker]++;
        if(
gGlock[iAttacker] == get_pcvar_num(g_cvars[CVAR_GLOCK])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_GLOCK)
            
        }
    }
    else if(
equali(iWeapon,"usp") && gUsp[iAttacker] < get_pcvar_num(g_cvars[CVAR_USP]))
    {
        
gUsp[iAttacker]++;
        if(
gUsp[iAttacker] == get_pcvar_num(g_cvars[CVAR_USP])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_USP)
            
        }
    }
    else if(
equali(iWeapon,"deagle") && gDeagle[iAttacker] < get_pcvar_num(g_cvars[CVAR_DEAGLE]))
    {
        
gDeagle[iAttacker]++;
        if(
gDeagle[iAttacker] == get_pcvar_num(g_cvars[CVAR_DEAGLE])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_DEAGLE)
            
        }
    }
    else if(
equali(iWeapon,"hegrenade") && gHe[iAttacker] < get_pcvar_num(g_cvars[CVAR_HE]))
    {
        
gHe[iAttacker]++;
        if(
gHe[iAttacker] == get_pcvar_num(g_cvars[CVAR_HE])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_HE)
            
        }
    }
    else if(
equali(iWeapon,"mp5navy") && gMp5[iAttacker] < get_pcvar_num(g_cvars[CVAR_MP5]))
    {
        
gMp5[iAttacker]++;
        if(
gMp5[iAttacker] == get_pcvar_num(g_cvars[CVAR_MP5]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_MP5)
        
        }
    }
    else if(
equali(iWeapon,"m4a1") && gM4[iAttacker] < get_pcvar_num(g_cvars[CVAR_M4A1]))
    {
        
gM4[iAttacker]++;
        if(
gM4[iAttacker] == get_pcvar_num(g_cvars[CVAR_M4A1]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_M4A1)
            
        }
    }
    else if(
equali(iWeapon,"ak47") && gAk47[iAttacker] < get_pcvar_num(g_cvars[CVAR_AK47]))
    {
        
gAk47[iAttacker]++;
        if(
gAk47[iAttacker] == get_pcvar_num(g_cvars[CVAR_AK47]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_AK47)
            
        }
    }
    else if(
equali(iWeapon,"scout") && gScout[iAttacker] < get_pcvar_num(g_cvars[CVAR_SCOUT]))
    {
        
gScout[iAttacker]++;
        if(
gScout[iAttacker] == get_pcvar_num(g_cvars[CVAR_SCOUT]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_SCOUT)
        
        }
    }
    else if(
equali(iWeapon,"m3") && gM3[iAttacker] < get_pcvar_num(g_cvars[CVAR_M3]))
    {
        
gM3[iAttacker]++;
        if(
gM3[iAttacker] == get_pcvar_num(g_cvars[CVAR_M3])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_M3)
        
        }
    }
    else if(
equali(iWeapon,"xm1014") && gXm1014[iAttacker] < get_pcvar_num(g_cvars[CVAR_XM1414]))
    {
        
gXm1014[iAttacker]++;
        if(
gXm1014[iAttacker] == get_pcvar_num(g_cvars[CVAR_XM1414])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_XM1414)
            
        }
    }
    else if(
equali(iWeapon,"g3sg1") && gG3G1[iAttacker] < get_pcvar_num(g_cvars[CVAR_G3G1]))
    {
        
gG3G1[iAttacker]++;
        if(
gG3G1[iAttacker] == get_pcvar_num(g_cvars[CVAR_G3G1])) 
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_G3G1)
            
        }
    }
    else if(
equali(iWeapon,"sg550") && gSG550[iAttacker] < get_pcvar_num(g_cvars[CVAR_SG550]))
    {
        
gSG550[iAttacker]++;
        if(
gSG550[iAttacker] == get_pcvar_num(g_cvars[CVAR_SG550]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_SG550)
            
        }
    }
    else if(
equali(iWeapon,"awp") && gAwp[iAttacker] < get_pcvar_num(g_cvars[CVAR_AWP]))
    {
        
gAwp[iAttacker]++;
        if(
gAwp[iAttacker] == get_pcvar_num(g_cvars[CVAR_AWP]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_AWP)
        
        }
    }
    else if(
equali(iWeapon,"m249") && gM2[iAttacker] < get_pcvar_num(g_cvars[CVAR_M249]))
    {
        
gM2[iAttacker]++;
        if(
gM2[iAttacker] == get_pcvar_num(g_cvars[CVAR_M249]))
        {
            
LogrosGanados[iAttacker]++;
            
pCheckLogro(iAttackerLOGROS_GENERALES CVAR_M249)
            
        }
    }
    
TemporizarDatos(iVictim);
    
Guardar(iAttacker)
    
    

}


public 
pCheckLogro(idLogroLogroNum)
{
    
    
// Si el logro ya fue completado, retornamos
    
if (g_logros[id][Logro][LogroNum]) return
    
    
// Seteamos la variable en 1 para saber que el jugador completo un logro
    
g_logros[id][Logro][LogroNum] = 1
    
    
// Obtenemos el nombre del jugador
    
new szName[33]
    
get_user_name(idszNamecharsmax(szName))
    
    
// Mostramos por say el nombre del jugador que completo el logro, y el nombre del logro
    
ColorChat(0NORMAL"%s El Jugador ^4%s^1 Ha completado el logro ^"%s^"",TAGszName,TodosLogrosProgreso[LOGROS_NOMBRE][LogroNum])
    
client_cmd(id"spk %s"LogroSonido);
    if(
LogrosGanados[id] == MaxLogros)
    {
        
ColorChat(0NORMAL"%s El Jugador ^4%s^1 Ha completado Todos los Logros (%d / %d)",TAGszName,LogrosGanados[id], MaxLogros)
        
client_cmd(id"spk %s"LogroSonido);
    }
    
Guardar(id);



public 
Cargar(id)
{
    if(!
adv_vault_get_prepare(vault_vNombre[id])) return;
    
    
gKCTRound[id]                     = adv_vault_get_field(vaultfield[LOGRO_RONDA_CT])
    
gKTTRound[id]                     = adv_vault_get_field(vaultfield[LOGRO_RONDA_TT])
    
adv_vault_get_field(vaultfield[LOGRO_LOGROSGENERALES] , g_logros[id][LOGROS_GENERALES],sizeof g_logros[][])
    
gKnife[id]                     = adv_vault_get_field(vaultfield[LOGRO_CUCHILLO])
    
gGlock[id]                    = adv_vault_get_field(vaultfield[LOGRO_GLOCK])
    
gUsp[id]                     = adv_vault_get_field(vaultfield[LOGRO_USP])
    
gDeagle[id]                     = adv_vault_get_field(vaultfield[LOGRO_DEAGLE])
    
gHe[id]                     = adv_vault_get_field(vaultfield[LOGRO_HE])
    
gMp5[id]                     = adv_vault_get_field(vaultfield[LOGRO_MP5])
    
gM4[id]                     = adv_vault_get_field(vaultfield[LOGRO_M4A1])
    
gAk47[id]                     = adv_vault_get_field(vaultfield[LOGRO_AK47])
    
gScout[id]                     = adv_vault_get_field(vaultfield[LOGRO_SCOUT])
    
gM3[id]                     = adv_vault_get_field(vaultfield[LOGRO_M3])
    
gXm1014[id]                    = adv_vault_get_field(vaultfield[LOGRO_XM1014])
    
gG3G1[id]                     = adv_vault_get_field(vaultfield[LOGRO_TAKATT])
    
gSG550[id]                     = adv_vault_get_field(vaultfield[LOGRO_TAKACT])
    
gAwp[id]                     = adv_vault_get_field(vaultfield[LOGRO_AWP])
    
gM2[id]                     = adv_vault_get_field(vaultfield[LOGRO_M2])
    
gKillsCT[id]                     = adv_vault_get_field(vaultfield[LOGRO_CT])
    
gKillsTT[id]                     = adv_vault_get_field(vaultfield[LOGRO_TT])
    
gHs[id]                     = adv_vault_get_field(vaultfield[LOGRO_HS])
    
LogrosGanados[id]                = adv_vault_get_field(vaultfield[LOGRO_GANADO])
    

    

}

public 
Guardar(id)
{
    if(!
is_user_connected(id)) return;

    
adv_vault_set_start(vault)
    
        
adv_vault_set_field(vaultfield[LOGRO_RONDA_CT], gKCTRound[id])
    
adv_vault_set_field(vaultfield[LOGRO_RONDA_TT], gKTTRound[id])
    
adv_vault_set_field(vaultfield[LOGRO_LOGROSGENERALES], g_logros[id][LOGROS_GENERALES])
    
adv_vault_set_field(vaultfield[LOGRO_CUCHILLO], gKnife[id])
    
adv_vault_set_field(vaultfield[LOGRO_GLOCK], gGlock[id])
    
adv_vault_set_field(vaultfield[LOGRO_USP], gUsp[id] )
    
adv_vault_set_field(vaultfield[LOGRO_DEAGLE], gDeagle[id] )
    
adv_vault_set_field(vaultfield[LOGRO_HE], gHe[id] )
    
adv_vault_set_field(vaultfield[LOGRO_MP5], gMp5[id])
    
adv_vault_set_field(vaultfield[LOGRO_M4A1], gM4[id])
    
adv_vault_set_field(vaultfield[LOGRO_AK47], gAk47[id])
    
adv_vault_set_field(vaultfield[LOGRO_SCOUT], gScout[id] )
    
adv_vault_set_field(vaultfield[LOGRO_M3], gM3[id])
    
adv_vault_set_field(vaultfield[LOGRO_XM1014], gXm1014[id])
    
adv_vault_set_field(vaultfield[LOGRO_TAKATT], gG3G1[id])
    
adv_vault_set_field(vaultfield[LOGRO_TAKACT], gSG550[id] )
    
adv_vault_set_field(vaultfield[LOGRO_AWP], gAwp[id] )
    
adv_vault_set_field(vaultfield[LOGRO_M2], gM2[id] )
    
adv_vault_set_field(vaultfield[LOGRO_CT], gKillsCT[id])
    
adv_vault_set_field(vaultfield[LOGRO_TT], gKillsTT[id])
    
adv_vault_set_field(vaultfield[LOGRO_HS], gHs[id])
    
adv_vault_set_field(vaultfield[LOGRO_GANADO], LogrosGanados[id])

   

    
adv_vault_set_end(vault0vNombre[id])
}

update_motd()
{
    
    new 
logroskeyindexnick[96], len
    motd
[0] = 0
    
    add
(motdcharsmax(motd),
    
"<html><style>\
    body{background:#060606 url('https://c1.staticflickr.com/9/8157/7427165626_7863914fc6_n.jpg')repeat-x;color:#000;font-weight:bold;font-size:8pt;}\
    .t{color:#808080;text-align:left; }\
    #h{background: #222 url('http://weknowyourdreamz.com/images/background/background-03.jpg') repeat-x;color:#000;font-weight:bold;}\
    #p{color:#F41313;}\
    #n{color:#fff;}\
    </style><body>\
    <table cellspacing=0 width=100% class=t>"
)
    
    
add(motdcharsmax(motd),
    
"<tr><td id=h width=7%>#</td>\
    <td id=h>Nombre</td>\
    <td id=h>Logros</td></tr>"
)
    
    
len strlen(motd)
    
    
    new 
toploop min(adv_vault_sort_numresult(vaultg_sort), 10)
    
    for(new 
posicion=1posicion <= toploopposicion++)
    {

    
keyindex     adv_vault_sort_position(vaultg_sortposicion)
        
    if(!
adv_vault_get_prepare(vaultkeyindex)) continue
        
        
    
logros adv_vault_get_field(vaultfield[LOGRO_GANADO]);
        
    
adv_vault_get_keyname(vaultkeyindexnickcharsmax(nick))
    
    
    
replace_all(nickcharsmax(nick), "<""&lt")
    
replace_all(nickcharsmax(nick), ">""&gt")
    
len += formatex(motd[len], charsmax(motd)-len,
    
"<tr><td id=p>#%d</td>\
    <td id=n>%s</td>\
    <td>%d</td>"
posicionnicklogros)
    }

    
add(motdcharsmax(motd), "</table></body></html>")
}
TemporizarDatos(id)
{
    
gVarContadores[id][0]    = gKillsCT[id];
    
gVarContadores[id][1]     = gKillsTT[id];
    
gVarContadores[id][2]     = gKCTRound[id];
    
gVarContadores[id][3]     = gKTTRound[id];
    
gVarContadores[id][4]    = gKnife[id]
    
gVarContadores[id][5]     = gGlock[id]
    
gVarContadores[id][6]     = gUsp[id]
    
gVarContadores[id][7]     = gDeagle[id]
    
gVarContadores[id][8]     = gHe[id]
    
gVarContadores[id][9]     = gMp5[id]
    
gVarContadores[id][10]     = gM4[id]
    
gVarContadores[id][11]     = gAk47[id]
    
gVarContadores[id][12]     = gScout[id]
    
gVarContadores[id][13]     = gM3[id]
    
gVarContadores[id][14]     = gXm1014[id]
    
gVarContadores[id][15]     = gG3G1[id]
    
gVarContadores[id][16]     = gSG550[id];
    
gVarContadores[id][17]     = gAwp[id];
    
gVarContadores[id][18]     = gM2[id];
    
gVarContadores[id][19]     = gHs[id];



Archivos adjuntos
.txt   logroshelp.txt (Tamaño: 612 bytes / Descargas: 148)
.zip   Logros.zip (Tamaño: 100.24 KB / Descargas: 120)
[PLUGIN] Dominacion CSGO [v1.3a] + Guardo TOP 10
[APORTES] Evento de Logros [v1.2] + Guardado TOP 10
Código:
La tristeza es una parte ensencal de la vida, solo aquel que la conoce, es capaz de disfrutar de la verdadera felicidad.
Responder
#2
hahaha SytOws aporta más bien tu mod pug a ver que le hago,
PD: buen aporte, lo probare en el pregame.
[Imagen: 76561198090851442.png]
Responder
#3
(05/08/2016, 03:40 PM)PredatorFlys escribió: hahaha SytOws aporta más bien tu mod pug a ver que le hago,
PD: buen aporte, lo probare en el pregame.

Genius ño mi mod pug ño e_e. y gracias pss espero te sirva. Roflmao
[PLUGIN] Dominacion CSGO [v1.3a] + Guardo TOP 10
[APORTES] Evento de Logros [v1.2] + Guardado TOP 10
Código:
La tristeza es una parte ensencal de la vida, solo aquel que la conoce, es capaz de disfrutar de la verdadera felicidad.
Responder
#4
Buen aporte, me servira Excitedeyes
Responder
#5
muy gueno muy gueno
Responder
#6
(05/08/2016, 06:52 PM)Niper.-. escribió: Buen aporte, me servira Excitedeyes

Okey Cutecry suerte Excitedeyes
(05/08/2016, 07:57 PM)AagF escribió: muy gueno muy gueno

Rainbow
[PLUGIN] Dominacion CSGO [v1.3a] + Guardo TOP 10
[APORTES] Evento de Logros [v1.2] + Guardado TOP 10
Código:
La tristeza es una parte ensencal de la vida, solo aquel que la conoce, es capaz de disfrutar de la verdadera felicidad.
Responder
#7
Buen aporte!

Responder
#8
(06/08/2016, 11:10 AM)Skylar escribió: Buen aporte!
Gracias cualquier cosas avisenme de algun bug.Excitedeyes
[PLUGIN] Dominacion CSGO [v1.3a] + Guardo TOP 10
[APORTES] Evento de Logros [v1.2] + Guardado TOP 10
Código:
La tristeza es una parte ensencal de la vida, solo aquel que la conoce, es capaz de disfrutar de la verdadera felicidad.
Responder
#9
buen aporte , no pasa nada si lo activo con esos 4 warnings?, tengo un host muy limitado
Junior al cuadrado , paciencia
Responder
#10
(30/06/2017, 04:11 PM)alonso_9 escribió: buen aporte , no pasa nada si lo activo con esos 4 warnings?, tengo un host muy limitado

No es de mala onda ni nada deberías darte cuenta de cuando es el post, cuales son tus
warnings que te tira para ayudarte ?.
Responder
#11
[/php]
(30/06/2017, 04:14 PM)Kross escribió:
(30/06/2017, 04:11 PM)alonso_9 escribió: buen aporte , no pasa nada si lo activo con esos 4 warnings?, tengo un host muy limitado

No es de mala onda ni nada deberías darte cuenta de cuando es el post, cuales son tus
warnings que te tira para ayudarte ?.
Código PHP:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c1997-2013 ITB CompuPhaseAMX Mod X Team

Warning
Loose indentation on line 338
Warning
Loose indentation on line 342
Warning
Loose indentation on line 1050
Warning
Loose indentation on line 1051
Header size
:           2432 bytes
Code size
:            40352 bytes
Data size
:            37936 bytes
Stack
/heap size:      16384 bytesmaxusage is unknowndue to recursion
Total requirements
:   97104 bytes

4 Warnings
.
Done
y aprovechando , nose que tengo que activar en modules ini ya que me sale esto

[AMXX] Plugin "logros.amxx" failed to load: Plugin uses an unknown function (name "adv_vault_get_keyname") - check your modules.ini
Junior al cuadrado , paciencia
Responder
#12
Activa/colocar en la lista de plugin si no tienes, el plugin del ADV-Vault de Destro.
Responder
#13
(30/06/2017, 04:36 PM)alonso_9 escribió:
(30/06/2017, 04:14 PM)Kross escribió:
(30/06/2017, 04:11 PM)alonso_9 escribió: buen aporte , no pasa nada si lo activo con esos 4 warnings?, tengo un host muy limitado

No es de mala onda ni nada deberías darte cuenta de cuando es el post, cuales son tus
warnings que te tira para ayudarte ?.
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

Warning: Loose indentation on line 338
Warning: Loose indentation on line 342
Warning: Loose indentation on line 1050
Warning: Loose indentation on line 1051
Header size: 2432 bytes
Code size: 40352 bytes
Data size: 37936 bytes
Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion
Total requirements: 97104 bytes

4 Warnings.
Done.
[/php]
y aprovechando , nose que tengo que activar en modules ini ya que me sale esto

[AMXX] Plugin "logros.amxx" failed to load: Plugin uses an unknown function (name "adv_vault_get_keyname") - check your modules.ini

Esos son errores de tabulacion podrías tabularlo por Clickeando Aca y pusiste el plugin adv_vault.amxx en plugins.ini ?
Responder
#14
(30/06/2017, 04:41 PM)Kross escribió:
(30/06/2017, 04:36 PM)alonso_9 escribió:
(30/06/2017, 04:14 PM)Kross escribió:
(30/06/2017, 04:11 PM)alonso_9 escribió: buen aporte , no pasa nada si lo activo con esos 4 warnings?, tengo un host muy limitado

No es de mala onda ni nada deberías darte cuenta de cuando es el post, cuales son tus
warnings que te tira para ayudarte ?.
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

Warning: Loose indentation on line 338
Warning: Loose indentation on line 342
Warning: Loose indentation on line 1050
Warning: Loose indentation on line 1051
Header size: 2432 bytes
Code size: 40352 bytes
Data size: 37936 bytes
Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion
Total requirements: 97104 bytes

4 Warnings.
Done.
[/php]
y aprovechando , nose que tengo que activar en modules ini ya que me sale esto

[AMXX] Plugin "logros.amxx" failed to load: Plugin uses an unknown function (name "adv_vault_get_keyname") - check your modules.ini

Esos son errores de tabulacion podrías tabularlo por Clickeando Aca y pusiste el plugin adv_vault.amxx en plugins.ini ?

antes , queria consultar si activo el plugin ad vault , no le pasara nada a los demas guardados , tengo un guardado nfvault de modules para otro plugin igual y si se pierde queda la caga
Junior al cuadrado , paciencia
Responder
#15
Mmm... no creo ya que yo uso guardado fvault(plugin) y uno adv_vault(plugin) en conclusión uso plugins aparte y no e tenido perdidas de datos.
Responder
#16
(30/06/2017, 04:50 PM)Kross escribió: Mmm... no creo ya que yo uso guardado fvault(plugin) y uno adv_vault(plugin) en conclusión uso plugins aparte y no e tenido perdidas de datos.
Gracias perrinMario
Junior al cuadrado , paciencia
Responder
#17
you forgot to put "logroshelp.txt".
I think Achievementshelp.txt is something else than logroshelp.txt, no?

I rlly want to use your plugin on my server Sonrisa .

EDIT :
Sorry, i use chrome translate and now i see what i`m doing =)) .
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)