Menu con Adv_Vault
#1
Hola aca yo de nuevoWhatever
Necesito una pequeña ayudita quiero agregarle a mi menu en la parte del tiempo jugado un auto-guardado para que sea mas llamativo

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <jctf>

enum _:SYSTIME_STRUCT
{
    
SYSTIME_DAYS,
    
SYSTIME_HOURS,
    
SYSTIME_MINUTES,
    
SYSTIME_SECONDS,
    
SYSTIME_CHECK
};

new 
g_systime[33][SYSTIME_STRUCT];

public 
plugin_init()
{
    
register_plugin("Time""1.0""Cristian'");
    
register_clcmd"nightvision""cmdMenu" );
}

public 
client_putinserver(id)
    
g_systime[id][SYSTIME_CHECK] = get_systime();

public 
cmdMenu(id)
{
    new 
title[150];

    
g_systime[id][SYSTIME_SECONDS] = (get_systime() - g_systime[id][SYSTIME_CHECK]);
    
g_systime[id][SYSTIME_DAYS] = ((g_systime[id][SYSTIME_SECONDS] / 86400) % 7);
    
g_systime[id][SYSTIME_HOURS] = ((g_systime[id][SYSTIME_SECONDS] / 3600) % 24);
    
g_systime[id][SYSTIME_MINUTES] = ((g_systime[id][SYSTIME_SECONDS] / 60) % 60);

    
formatex(title149"\y|| Menu De Jugadores^n\dDias: %d, Horas: %d, Minutos: %d y Segundos: %d",  g_systime[id][SYSTIME_DAYS], g_systime[id][SYSTIME_HOURS], g_systime[id][SYSTIME_MINUTES], (g_systime[id][SYSTIME_SECONDS] % 60));
    new 
gMenu menu_create(title"handlerMenu")

    new 
adrenalina[32]
    new 
adrenalina2[32]

    
format(adrenalina2charsmax(adrenalina2), "\yAdrenaline \w(%d \y/ \w100)"jctf_get_adrenaline(id))
    
format(adrenalinacharsmax(adrenalina), "\yAdrenaline \w(\r%d \y/ \w100)"jctf_get_adrenaline(id))

    
menu_additem(gMenu, ( is_user_admin(id)  ? "\y[\w Menu ADMIN \y]" "\wPanel \d[Admin] \y]"), "1");
    
menu_additem(gMenu"\y(\w Top Mejores Jugadores \y)""2")
    
menu_additem(gMenu, ( jctf_get_adrenaline(id)<100  adrenalina adrenalina2), "3");
    
menu_additem(gMenu"\y(\w Armas Especiales \y)""3")
    
menu_additem(gMenu"\y(\r Resetear Score \y)""4")
    
menu_additem(gMenu"\y[\w Informacion \y]""5")


    
menu_display(idgMenu0)
}
public 
handlerMenu(idmenuitem)
{
    if ( 
item == MENU_EXIT )
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            if(!
is_user_admin(id))
            {
                
client_print(idprint_center"**No tienes acceso a este comando**")
            }
            else if(
is_user_admin(id))
            {
                
client_cmd(id"amxmodmenu")
            }
        }
        case 
1:
        {
            
client_cmd(id"say top")
        }
        case 
2:
        {
            
client_cmd(id"adrenaline")
        }
        case 
3:
        {
            
client_cmd(id"say /Apespecial")
        }
        case 
4:
        {
            
client_cmd(id"say /rs")
        }
        case 
5:
        {
            
client_cmd(id"say /AP")
        }

    }
    return 
PLUGIN_HANDLED;

Ze_Jurassic_World_Z [52%]
Ze_Jumping_Area [37%]
(04/02/2019, 05:15 PM)kikizon2 escribió: Me voy por un tiempo y cuando regreso veo esto... Oh god why
Responder
#2
https://amxmodx-es.com/Thread-TUT-Guarda...ejemplo-zp
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#3
(03/10/2019, 06:13 PM)kikizon2 escribió: https://amxmodx-es.com/Thread-TUT-Guarda...ejemplo-zp

Entendi un poco como hacerlo kikizon, pero aun asi de la forma que lo adapte me lanza errores
Ze_Jurassic_World_Z [52%]
Ze_Jumping_Area [37%]
(04/02/2019, 05:15 PM)kikizon2 escribió: Me voy por un tiempo y cuando regreso veo esto... Oh god why
Responder
#4
Proba
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <jctf>
#include <adv_vault>

enum _:SYSTIME_STRUCT
{
    
SYSTIME_DAYS,
    
SYSTIME_HOURS,
    
SYSTIME_MINUTES,
    
SYSTIME_SECONDS,
    
SYSTIME_CHECK
};

enum 
{
    
DATA_DIA,
    
DATA_HORA,
    
DATA_MIN,
    
DATA_SEG,
    
DATA_MAX
};

new 
g_data[DATA_MAX];

new 
g_systime[33][SYSTIME_STRUCT];
new 
g_playername[33][32];

new 
g_vault;

stock advanced_vault_init()
{
    
g_vault adv_vault_open("data"false);
    
    
g_data[DATA_DIA] = adv_vault_register_field(g_vault"Dias"DATATYPE_INT11);
    
g_data[DATA_HORA] = adv_vault_register_field(g_vault"Hora"DATATYPE_INT11);
    
g_data[DATA_MIN] = adv_vault_register_field(g_vault"Min"DATATYPE_INT11);
    
g_data[DATA_SEG] = adv_vault_register_field(g_vault"Seg"DATATYPE_INT11);
    
    
    
adv_vault_init(g_vault);
    
}
stock advanced_vault_load(id)
{
    if(
adv_vault_get_prepare(g_vault0g_playername[id])) 
    {
        
g_systime[id][SYSTIME_DAYS] = adv_vault_get_field(g_vaultg_data[DATA_DIA]);
        
g_systime[id][SYSTIME_HOURS] = adv_vault_get_field(g_vaultg_data[DATA_HORA]);
        
g_systime[id][SYSTIME_MINUTES] = adv_vault_get_field(g_vaultg_data[DATA_MIN]);
        
g_systime[id][SYSTIME_SECONDS] = adv_vault_get_field(g_vaultg_data[DATA_SEG]);
    }else {    
log_amx("[%s] No tiene datos guardados"g_playername[id]); return; }
}
stock advanced_vault_save(id)
{
    
adv_vault_set_start(g_vault);
    
    
adv_vault_set_field(g_vaultg_data[DATA_DIA], g_systime[id][SYSTIME_DAYS]);
    
adv_vault_set_field(g_vaultg_data[DATA_HORA], g_systime[id][SYSTIME_HOURS]);
    
adv_vault_set_field(g_vaultg_data[DATA_MIN], g_systime[id][SYSTIME_MINUTES]);
    
adv_vault_set_field(g_vaultg_data[DATA_SEG], g_systime[id][SYSTIME_SECONDS]);
    
    
adv_vault_set_end(g_vault0g_playername[id]);
}
public 
plugin_init()
{
    
register_plugin("Time""1.0""Cristian'");
    
register_clcmd"nightvision""cmdMenu" );
    
    
advanced_vault_init();
}

public 
client_putinserver(id) {
    
get_user_name(idg_playername[id], charsmax(g_playername[]));
    
g_systime[id][SYSTIME_CHECK] = get_systime();
    
    
advanced_vault_load(id);
}


public 
client_disconnect(id)
    
advanced_vault_save(id);

public 
cmdMenu(id)
{
    new 
title[150];

    
g_systime[id][SYSTIME_SECONDS] = (get_systime() - g_systime[id][SYSTIME_CHECK]);
    
g_systime[id][SYSTIME_DAYS] = ((g_systime[id][SYSTIME_SECONDS] / 86400) % 7);
    
g_systime[id][SYSTIME_HOURS] = ((g_systime[id][SYSTIME_SECONDS] / 3600) % 24);
    
g_systime[id][SYSTIME_MINUTES] = ((g_systime[id][SYSTIME_SECONDS] / 60) % 60);

    
formatex(title149"\y|| Menu De Jugadores^n\dDias: %d, Horas: %d, Minutos: %d y Segundos: %d",  g_systime[id][SYSTIME_DAYS], g_systime[id][SYSTIME_HOURS], g_systime[id][SYSTIME_MINUTES], (g_systime[id][SYSTIME_SECONDS] % 60));
    new 
gMenu menu_create(title"handlerMenu")

    new 
adrenalina[32]
    new 
adrenalina2[32]

    
format(adrenalina2charsmax(adrenalina2), "\yAdrenaline \w(%d \y/ \w100)"jctf_get_adrenaline(id))
    
format(adrenalinacharsmax(adrenalina), "\yAdrenaline \w(\r%d \y/ \w100)"jctf_get_adrenaline(id))

    
menu_additem(gMenu, ( is_user_admin(id)  ? "\y[\w Menu ADMIN \y]" "\wPanel \d[Admin] \y]"), "1");
    
menu_additem(gMenu"\y(\w Top Mejores Jugadores \y)""2")
    
menu_additem(gMenu, ( jctf_get_adrenaline(id)<100  adrenalina adrenalina2), "3");
    
menu_additem(gMenu"\y(\w Armas Especiales \y)""3")
    
menu_additem(gMenu"\y(\r Resetear Score \y)""4")
    
menu_additem(gMenu"\y[\w Informacion \y]""5")


    
menu_display(idgMenu0)
}
public 
handlerMenu(idmenuitem)
{
    if ( 
item == MENU_EXIT )
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            if(!
is_user_admin(id))
            {
                
client_print(idprint_center"**No tienes acceso a este comando**")
            }
            else if(
is_user_admin(id))
            {
                
client_cmd(id"amxmodmenu")
            }
        }
        case 
1:
        {
            
client_cmd(id"say top")
        }
        case 
2:
        {
            
client_cmd(id"adrenaline")
        }
        case 
3:
        {
            
client_cmd(id"say /Apespecial")
        }
        case 
4:
        {
            
client_cmd(id"say /rs")
        }
        case 
5:
        {
            
client_cmd(id"say /AP")
        }

    }
    return 
PLUGIN_HANDLED;

Responder
#5
(03/10/2019, 07:31 PM)Niper.-. escribió: Proba
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <jctf>
#include <adv_vault>

enum _:SYSTIME_STRUCT
{
    
SYSTIME_DAYS,
    
SYSTIME_HOURS,
    
SYSTIME_MINUTES,
    
SYSTIME_SECONDS,
    
SYSTIME_CHECK
};

enum 
{
    
DATA_DIA,
    
DATA_HORA,
    
DATA_MIN,
    
DATA_SEG,
    
DATA_MAX
};

new 
g_data[DATA_MAX];

new 
g_systime[33][SYSTIME_STRUCT];
new 
g_playername[33][32];

new 
g_vault;

stock advanced_vault_init()
{
    
g_vault adv_vault_open("data"false);
    
    
g_data[DATA_DIA] = adv_vault_register_field(g_vault"Dias"DATATYPE_INT11);
    
g_data[DATA_HORA] = adv_vault_register_field(g_vault"Hora"DATATYPE_INT11);
    
g_data[DATA_MIN] = adv_vault_register_field(g_vault"Min"DATATYPE_INT11);
    
g_data[DATA_SEG] = adv_vault_register_field(g_vault"Seg"DATATYPE_INT11);
    
    
    
adv_vault_init(g_vault);
    
}
stock advanced_vault_load(id)
{
    if(
adv_vault_get_prepare(g_vault0g_playername[id])) 
    {
        
g_systime[id][SYSTIME_DAYS] = adv_vault_get_field(g_vaultg_data[DATA_DIA]);
        
g_systime[id][SYSTIME_HOURS] = adv_vault_get_field(g_vaultg_data[DATA_HORA]);
        
g_systime[id][SYSTIME_MINUTES] = adv_vault_get_field(g_vaultg_data[DATA_MIN]);
        
g_systime[id][SYSTIME_SECONDS] = adv_vault_get_field(g_vaultg_data[DATA_SEG]);
    }else {    
log_amx("[%s] No tiene datos guardados"g_playername[id]); return; }
}
stock advanced_vault_save(id)
{
    
adv_vault_set_start(g_vault);
    
    
adv_vault_set_field(g_vaultg_data[DATA_DIA], g_systime[id][SYSTIME_DAYS]);
    
adv_vault_set_field(g_vaultg_data[DATA_HORA], g_systime[id][SYSTIME_HOURS]);
    
adv_vault_set_field(g_vaultg_data[DATA_MIN], g_systime[id][SYSTIME_MINUTES]);
    
adv_vault_set_field(g_vaultg_data[DATA_SEG], g_systime[id][SYSTIME_SECONDS]);
    
    
adv_vault_set_end(g_vault0g_playername[id]);
}
public 
plugin_init()
{
    
register_plugin("Time""1.0""Cristian'");
    
register_clcmd"nightvision""cmdMenu" );
    
    
advanced_vault_init();
}

public 
client_putinserver(id) {
    
get_user_name(idg_playername[id], charsmax(g_playername[]));
    
g_systime[id][SYSTIME_CHECK] = get_systime();
    
    
advanced_vault_load(id);
}


public 
client_disconnect(id)
    
advanced_vault_save(id);

public 
cmdMenu(id)
{
    new 
title[150];

    
g_systime[id][SYSTIME_SECONDS] = (get_systime() - g_systime[id][SYSTIME_CHECK]);
    
g_systime[id][SYSTIME_DAYS] = ((g_systime[id][SYSTIME_SECONDS] / 86400) % 7);
    
g_systime[id][SYSTIME_HOURS] = ((g_systime[id][SYSTIME_SECONDS] / 3600) % 24);
    
g_systime[id][SYSTIME_MINUTES] = ((g_systime[id][SYSTIME_SECONDS] / 60) % 60);

    
formatex(title149"\y|| Menu De Jugadores^n\dDias: %d, Horas: %d, Minutos: %d y Segundos: %d",  g_systime[id][SYSTIME_DAYS], g_systime[id][SYSTIME_HOURS], g_systime[id][SYSTIME_MINUTES], (g_systime[id][SYSTIME_SECONDS] % 60));
    new 
gMenu menu_create(title"handlerMenu")

    new 
adrenalina[32]
    new 
adrenalina2[32]

    
format(adrenalina2charsmax(adrenalina2), "\yAdrenaline \w(%d \y/ \w100)"jctf_get_adrenaline(id))
    
format(adrenalinacharsmax(adrenalina), "\yAdrenaline \w(\r%d \y/ \w100)"jctf_get_adrenaline(id))

    
menu_additem(gMenu, ( is_user_admin(id)  ? "\y[\w Menu ADMIN \y]" "\wPanel \d[Admin] \y]"), "1");
    
menu_additem(gMenu"\y(\w Top Mejores Jugadores \y)""2")
    
menu_additem(gMenu, ( jctf_get_adrenaline(id)<100  adrenalina adrenalina2), "3");
    
menu_additem(gMenu"\y(\w Armas Especiales \y)""3")
    
menu_additem(gMenu"\y(\r Resetear Score \y)""4")
    
menu_additem(gMenu"\y[\w Informacion \y]""5")


    
menu_display(idgMenu0)
}
public 
handlerMenu(idmenuitem)
{
    if ( 
item == MENU_EXIT )
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            if(!
is_user_admin(id))
            {
                
client_print(idprint_center"**No tienes acceso a este comando**")
            }
            else if(
is_user_admin(id))
            {
                
client_cmd(id"amxmodmenu")
            }
        }
        case 
1:
        {
            
client_cmd(id"say top")
        }
        case 
2:
        {
            
client_cmd(id"adrenaline")
        }
        case 
3:
        {
            
client_cmd(id"say /Apespecial")
        }
        case 
4:
        {
            
client_cmd(id"say /rs")
        }
        case 
5:
        {
            
client_cmd(id"say /AP")
        }

    }
    return 
PLUGIN_HANDLED;


Sigue sin guardar el tiempo Triste
Ze_Jurassic_World_Z [52%]
Ze_Jumping_Area [37%]
(04/02/2019, 05:15 PM)kikizon2 escribió: Me voy por un tiempo y cuando regreso veo esto... Oh god why
Responder
#6
No deberías guardar solo los segundos obtenidos del get_systime y dumarlos al desconectarse?
Responder
#7
(03/10/2019, 09:12 PM)Cris.- escribió: No deberías guardar solo los segundos obtenidos del get_systime y dumarlos al desconectarse?

No yo quiero es que cuando se desconecten queden igual guardados y al volver a entrar salga el tiempo que jugo en su ultima conexion ejemplo en su ultima conexion el tenia 0 dias, 2 horas, 19 minutos y 42 segundos, pues asi deberia quedar guardado
Ze_Jurassic_World_Z [52%]
Ze_Jumping_Area [37%]
(04/02/2019, 05:15 PM)kikizon2 escribió: Me voy por un tiempo y cuando regreso veo esto... Oh god why
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)