[GUIA] Adaptar Niveles a Sis. de Cuentas, y Sis. de Cuentas a ZP
#51
Hola Kikizon2, mira tengo una duda para que es el clcmd_changeteam(id)? y disculpa si esto no es sobre el tema lo de la pregunta anterior, según lo que entiendo yo la función que indicas en la GUIA o C Y P que bloquea el traspaso de equipo al estar logueado algo así?

otra cosita más, CREO que el clcmd_changeteam(id) buguea el nombre es decir yo lo agregue segun la GUIA y a la hora de registrar cuando coloco contraseña y confirmo resetea mi nombre es decir lo elimina y simplemente quedo sin nombre hasta que me di de cuenta que en el sma que dejaste no lo colocas entonces, el clcmd_changeteam(id) da problemas y si es así porque sigue en la GUIA como tal?
Responder
#52
(22/04/2016, 06:19 AM)BloodyDeath escribió: Hola Kikizon2, mira tengo una duda para que es el clcmd_changeteam(id)? y disculpa si esto no es sobre el tema lo de la pregunta anterior, según lo que entiendo yo la función que indicas en la GUIA o C Y P que bloquea el traspaso de equipo al estar logueado algo así?

otra cosita más, CREO que el clcmd_changeteam(id) buguea el nombre es decir yo lo agregue segun la GUIA y a la hora de registrar cuando coloco contraseña y confirmo resetea mi nombre es decir lo elimina y simplemente quedo sin nombre hasta que me di de cuenta que en el sma que dejaste no lo colocas entonces, el clcmd_changeteam(id) da problemas y si es así porque sigue en la GUIA como tal?

Viste la fecha del thread ? Cuando lo probé no me daba ni un problema pacman después que tenga tiempo trato de actualizar pacman aunque ahora recomiendo que dejen el sistema de cuentas aparte pacman
Responder
#53
clcmd_changeteam(id)

Como lo dice la linea es para el choose team, seguramente para el cambio de equipo o hookear la tecla M, pero espera que kizkinzon haga esa actualización mas detallada
Responder
#54
Ayuda kikizon2 hice todo bien pero al compilarlo me dice lo siguiente:

Código PHP:
//// zombie_plague40.sma
// C:\Archivos de programa\Zombie Escape War'Z 4.1b\cstrike\addons\amxmodx\scripting\zombie_plague40.sma«396» : fatal error 100: cannot read from file: "dhudmessage"
//
// Compilation aborted.
// 1 Error.
// Could not locate output file C:\Archivos de Programas\Zombie Escape War'Z 4.1b\cstrike\addons\amxmodx\scripting\compiled\zombie_plague40.amx     «compile failed».

//
// Compilation Time: 0.62 sec
// ----------------------------------------------

Press enter to exit ... 

tengo el zombie plague 4.3 (sin editar nada del scripting zombie_plague40.sma).
CHOTO MATTE KUDASAI
Responder
#55
(08/10/2016, 04:41 PM)ImNoob:( escribió: Ayuda kikizon2 hice todo bien pero al compilarlo me dice lo siguiente:

Código PHP:
//// zombie_plague40.sma
// C:\Archivos de programa\Zombie Escape War'Z 4.1b\cstrike\addons\amxmodx\scripting\zombie_plague40.sma«396» : fatal error 100: cannot read from file: "dhudmessage"
//
// Compilation aborted.
// 1 Error.
// Could not locate output file C:\Archivos de Programas\Zombie Escape War'Z 4.1b\cstrike\addons\amxmodx\scripting\compiled\zombie_plague40.amx     «compile failed».

//
// Compilation Time: 0.62 sec
// ----------------------------------------------

Press enter to exit ... 

tengo el zombie plague 4.3 (sin editar nada del scripting zombie_plague40.sma).
te falta el dhudmessage.inc

va en cstrike/addons/amxmodx/scripting/include


Archivos adjuntos
.inc   dhudmessage.inc (Tamaño: 3.41 KB / Descargas: 3)
Mis Aportes:

[ TTT ] Item: Target Gun

[ TTT ] Item: Skeleton Gun (New)
[ TTT ] Item: Pipe Bomb
[ TTT ] Item: Inverse Golden
[Imagen: 76561198074954930.png] [Imagen: venezuela.gif]
Pregúntate si lo que estás haciendo hoy te acerca a el lugar en el que quieres estar mañana. Corazón
Responder
#56
(08/10/2016, 05:02 PM)SthoNy escribió:
(08/10/2016, 04:41 PM)ImNoob:( escribió: Ayuda kikizon2 hice todo bien pero al compilarlo me dice lo siguiente:

Código PHP:
//// zombie_plague40.sma
// C:\Archivos de programa\Zombie Escape War'Z 4.1b\cstrike\addons\amxmodx\scripting\zombie_plague40.sma«396» : fatal error 100: cannot read from file: "dhudmessage"
//
// Compilation aborted.
// 1 Error.
// Could not locate output file C:\Archivos de Programas\Zombie Escape War'Z 4.1b\cstrike\addons\amxmodx\scripting\compiled\zombie_plague40.amx     «compile failed».

//
// Compilation Time: 0.62 sec
// ----------------------------------------------

Press enter to exit ... 

tengo el zombie plague 4.3 (sin editar nada del scripting zombie_plague40.sma).
te falta el dhudmessage.inc

va en cstrike/addons/amxmodx/scripting/include

Muchas gracias amigo te ganaste mi respeto :,v
CHOTO MATTE KUDASAI
Responder
#57
Una duda este sistema guarda por ip o por nick los datos del zp??
Responder
#58
(06/01/2017, 11:36 PM)jimmerios escribió: Una duda este sistema guarda por ip o por nick los datos del zp??

Nick.
[Imagen: EvoLogo.png.fbcccbc49fb32e6a4bf8f5e72d80c317.png]
nalgas

(03/08/2018, 03:13 PM)Skylar escribió: Está bien que pidas ayudas, pero no para que crees 20 post todos los días mogolico de mierda, me tenes re podrido ya, contraté 10000 sicarios para que te busquen y te maten toda la familia, y a vos que te revienten con una bazooka.
Responder
#59
Buenas segui los pasos al pie de la letra, exepto que en ves de exp, puse para guardar g_ammopacks.. no me tira ningun error el zp,, el unico problema es que al entrar al CS,, es en modo normal. como que bloquea el zp.. alguna solucion?? plizz

EDIT: probe bajarme el sma, lo compile y lo puse en el cs y la verdad q no andubo el zp... capaz sea mi adv_vault.inc,, allguien me pasa el include de adv_vault...
plsss
Responder
#60
debes tener el PLUGIN COMPILADO adv_vault.amxx y activarlo en plugins.ini, por encima de este mod.
[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
#61
Dedo abajo 
(22/01/2017, 10:01 PM)kikizon2 escribió: debes tener el PLUGIN COMPILADO adv_vault.amxx y activarlo en plugins.ini, por encima de este mod.

ApprovedApprovedApproved

Buenisimo, andubo a la perfeccion, muy buena guia te felicito x tu grado de scripter.. esperamos mas guias, son buenos codigos.

EDIT: en cual carpeta me guarda las cuentas?...
Responder
#62
Alguien sabe donde me guarda la carpeta o el archivo dnde guarda las cuentas porque no la encuentro :S, gracias ^^
Responder
#63
(24/01/2017, 05:50 PM)intoxicadooo escribió: Alguien sabe donde me guarda la carpeta o el archivo dnde guarda las cuentas porque no la encuentro :S, gracias ^^

data/advvault/nombredelacuenta
Responder
#64
(24/01/2017, 05:58 PM)matrix123 escribió:
(24/01/2017, 05:50 PM)intoxicadooo escribió: Alguien sabe donde me guarda la carpeta o el archivo dnde guarda las cuentas porque no la encuentro :S, gracias ^^

data/advvault/nombredelacuenta

ni siquiera esta la carpeta.. sera un error de code?'
otra cosa esta bien mi include de adv_vault?, porque me lo descarge de alliedmods creo... y habia varias versiones, y el module "nvault_amxx.dll"...


Archivos adjuntos
.inc   adv_vault.inc (Tamaño: 10.05 KB / Descargas: 2)
.dll   nvault_amxx.dll (Tamaño: 97.5 KB / Descargas: 2)
Responder
#65
Si estas usando la version adv_vault se encuentra en data/adv_vault/nombre de la base de datos, no te recomiendo editar esos archivos
[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
#66
mira ni siquiera me creo la carpeta adv_nvault

Código PHP:
#include <adv_vault>[php]
el include lo agrege al mismo q diste en el tuto 


Archivos adjuntos
.bmp   Nueva imagen de mapa de bits.bmp (Tamaño: 3 MB / Descargas: 12)
Responder
#67
(28/11/2014, 12:58 PM)kikizon2 escribió: Bueno me pidieron lo siguiente:

"Adaptar Este Sistema de Niveles a Este Sistema de Cuentas, y al mismo tiempo que quede todo dentro del ZP" pacman


Yo usare el zp 4.3 + human classes que hay en este foro...


Ya teniendo adaptado el sistema de niveles a nuestro zp siguiendo el respectivo tutorial procederemos a adaptar el sistema de cuentas y a guardar nuestros datos...


Paso 1:

Agregamos la libreria (*.inc) Adv_vault debajo de las demas...

-->

Código PHP:
#include <adv_vault> 


Paso 2:

Creamos Variables y Constantes...

-->

Código PHP:
new g_contra[33][20], g_contra2[33][20], g_cuenta[33][32];

new 
g_vault,g_MsgVguig_MsgShowMenu;
new 
g_Estado[33], g_Can[33], g_Fecha[33][32];

enum {
    
EXP,
    
NIVEL,
    
FECHA,
    
PASSWORD,
    
DATA_M
};
enum {
    
NOREGISTRADO 0,
    
REGISTRADO,
    
LOGUEADO,
    
ESTADOS
};
new const 
Estado[ESTADOS][] = { "Sin Registrar""Registrado""Logueado" };
new 
g_campo[DATA_M]; 



Paso 3:

Nos vamos al init...

PD: Al final de la funcion antes de "}"

-->

Código PHP:
register_clcmd("INGRESAR_PASSWORD""Contra");
    
register_clcmd("say /cuenta""ShowLogMenu");
    
    
g_MsgVgui get_user_msgid("VGUIMenu");
    
g_MsgShowMenu get_user_msgid("ShowMenu");
    
register_message(g_MsgVgui"message_VGUImenu");
    
register_message(g_MsgShowMenu"message_VGUImenu");
    
    
g_vault adv_vault_open("CuentasZP"false);
    
g_campo[EXP] = adv_vault_register_field(g_vault"EXP")
    
g_campo[NIVEL] = adv_vault_register_field(g_vault"NIVEL")
    
g_campo[FECHA] = adv_vault_register_field(g_vault"FECHA"DATATYPE_STRING32);
    
g_campo[PASSWORD] = adv_vault_register_field(g_vault"PW"DATATYPE_STRING20);
    
adv_vault_init(g_vault); 



Paso 4:

Nos vamos al final del plugin y agregamos los nuevos menús y funciones...

-->

Código PHP:
/* MENUS */
public ShowLogMenu(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit), "Sistema de cuentas by \dkikizon^n\wBienvenido \r%s^n\wESTADO: \r%s^n\wTu ultima visita fue: \r%s"g_cuenta[id], Estado[g_Estado[id]], g_Fecha[id]);
    
    new 
menu menu_create(Tit,"menu_log");
    
    
menu_additem(menu, (g_Estado[id] == REGISTRADO && adv_vault_get_prepare(g_vault_g_cuenta[id]))?"Loguearse":"\dLoguearse""1");
    
menu_additem(menu, (g_Estado[id] == NOREGISTRADO && !adv_vault_get_prepare(g_vault_g_cuenta[id]))?"Registrarse^n":"\dRegistrarse^n""2");
    
menu_additem(menu, (g_Estado[id] == LOGUEADO && !g_Can[id])?"Cambiar Contra":"\dCambiar Contra""3");
    
    
menu_display(idmenu0);
}
public 
menu_log(idmenuitem) {
    if(
item == MENU_EXIT) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    switch(
item) {
        case 
0: {
            if(
g_Estado[id] == REGISTRADO && adv_vault_get_prepare(g_vault_g_cuenta[id])) {
                
client_print(idprint_center"Ingresa tu PASSWORD para entrar a tu cuenta");
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            } else {
                
client_print(idprint_center"No puedes elegir esta opcion");
                return 
PLUGIN_HANDLED;
            }
        }
        case 
1: {
            if(
g_Estado[id] == NOREGISTRADO && !adv_vault_get_prepare(g_vault_g_cuenta[id])) {
                
client_print(idprint_center"Ingresa una PASSWORD para crear una cuenta");
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            } else {
                
client_print(idprint_center"No puedes elegir esta opcion");
                return 
PLUGIN_HANDLED;
            }    
        }
        case 
2: {
            if(
g_Estado[id] == LOGUEADO && !g_Can[id]) {
                
client_print(idprint_center"Ingresa tu nueva PASSWORD");
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            } else {
                
client_print(idprint_center"No estas logueado o ya cambiaste tu password durante el mapa");
                return 
PLUGIN_HANDLED;
            }
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
Confirmar(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit),"La password sera \r%s^n^n\yConfirmar?"g_contra2[id]);
    
    new 
menu menu_create(Tit,"menu_confirmar");
    
    
menu_additem(menu,"\rSi\w, confirmar","1");
    
menu_additem(menu,"\rNo\w, deseo reescribirla","2");
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER);
    
    
menu_display(idmenu0);
}
public 
menu_confirmar(idmenuitem) {
    switch(
item) {
        case 
0: {
            switch(
g_Estado[id]) {
                case 
LOGUEADO: {
                    
copy(g_contra[id], 19 ,g_contra2[id]);
                    
Guardar(id);
                    
client_print(idprint_center"Tu password ha sido cambiada satisfactoriamente");
                    
g_Can[id] = 1;
                }
                case 
NOREGISTRADO: {    
                    
client_print(idprint_center"Tu cuenta ha sido creada satisfactoriamente");
                    
copy(g_contra[id], 31g_contra2[id]);
                    
Guardar(id);
                    
jTeam(id);
                }
            }
        }
        case 
1: {
            
menu_destroy(menu);
            
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            if(
g_Estado[id] == LOGUEADO)
                
client_print(idprint_center"Ingresa tu nueva PASSWORD");
            else
                
client_print(idprint_center"Ingresa la PASSWORD para tu nueva cuenta");
        }
    }
    return 
PLUGIN_HANDLED;
}
public 
Guardar(id) {
    if(!
is_user_connected(id)) return;
    
    
adv_vault_set_start(g_vault);
    
adv_vault_set_field(g_vaultg_campo[EXP], kExp[id])
    
adv_vault_set_field(g_vaultg_campo[NIVEL], kNivel[id])
    
adv_vault_set_field(g_vaultg_campo[FECHA], g_Fecha[id]);
    
adv_vault_set_field(g_vaultg_campo[PASSWORD], g_contra[id]);
    
adv_vault_set_end(g_vault0g_cuenta[id]);
}
public 
Cargar(id) {
    if(!
adv_vault_get_prepare(g_vault_g_cuenta[id])) {
        
g_Estado[id] = NOREGISTRADO;
        return;
    } else {
        
g_Estado[id] = REGISTRADO;
        
kExp[id] = adv_vault_get_field(g_vaultg_campo[EXP]);
        
kNivel[id] = adv_vault_get_field(g_vaultg_campo[NIVEL]);
        
adv_vault_get_field(g_vaultg_campo[FECHA], g_Fecha[id], charsmax(g_Fecha[]));
        
adv_vault_get_field(g_vaultg_campo[PASSWORD], g_contra[id], charsmax(g_contra[]));
    }
    
}
public 
Contra(id) {
    
read_args(g_contra[id], charsmax(g_contra));
    
remove_quotes(g_contra[id]);trim(g_contra[id]);
    
    if(
equal(g_contra[id],"") || containi(g_contra[id]," ") != -) {
        
client_print(idprint_center"Tu password contiene errores");
        return 
1;
    }
    
    switch(
g_Estado[id]) {
        case 
NOREGISTRADO: {
            
client_print(idprint_center"Confirma tu password para proseguir");
            
copy(g_contra2[id], 19g_contra[id]);
            
Confirmar(id);
        }
        case 
REGISTRADO: {
            new 
buffer[40];
            
adv_vault_get_prepare(g_vault_g_cuenta[id]);
            
adv_vault_get_field(g_vaultg_campo[PASSWORD], buffercharsmax(buffer));
            
            if(
equal(bufferg_contra[id])) {
                
Guardar(id);
                
client_print(idprint_center"Te logueaste satisfactoriamente en tu cuenta");
                
jTeam(id);
            } else {
                
ShowLogMenu(id);
                
client_print(idprint_center"Password Incorrecta.");
            }
        }
        case 
LOGUEADO: {
            if(
g_Can[id]) {
                
client_print(idprint_center"Ya cambiaste tu contra en este mapa");
                return 
PLUGIN_HANDLED;
            }
            
client_print(idprint_center"Confirma tu password para cambiarla...");
            
copy(g_contra2[id], 19g_contra[id]);
            
Confirmar(id);
        }
    }
    return 
PLUGIN_HANDLED;
}
public 
message_VGUImenu(msgiddestid) {
    if(
g_Estado[id] != LOGUEADO)
        
ShowLogMenu(id);

    return 
1;
}
public 
jTeam(id){
    static 
teammsg_blockteammsg_block_vguirestorevgui;
    
    
restore get_pdata_int(id510);
    
vgui restore & (1<<0);
    
    if (
vgui)
        
set_pdata_int(id510restore & ~(1<<0));
    
    
teammsg_block get_msg_block(g_MsgShowMenu);
    
teammsg_block_vgui get_msg_block(g_MsgVgui);
    
    
set_msg_block(g_MsgShowMenuBLOCK_ONCE);
    
set_msg_block(g_MsgVguiBLOCK_ONCE);
    
    
engclient_cmd(id"jointeam""5");
    
engclient_cmd(id"joinclass""5");
    
    
set_msg_block(g_MsgShowMenuteammsg_block);
    
set_msg_block(g_MsgVguiteammsg_block_vgui);
    
    if (
vgui
        
set_pdata_int(id510restore);
        
    
g_Estado[id] = LOGUEADO;




Paso 5:

Editamos algunas funciones que ya existen en el zp...

-->

1.- client_putinserver()

PD: al final de la función antes de "}"

Código PHP:
get_user_name(idg_cuenta[id], 31);
get_time("%c"g_Fecha[id], 31);
g_contra[id][0] = '^0';
g_Estado[id] = NOREGISTRADO;
    
g_Can[id] = 0;
    
Cargar(id); 

2.- Creamos esta funcion:

Código PHP:
public client_disconnect(id)
    
Guardar(id); 

3.- Editamos esto: fw_ClientUserInfoChanged(id) por fw_ClientUserInfoChanged(id, buffer)

Ahora dentro de la función agregamos:

PD: Al final de la función antes de "}"
Código PHP:
    if(is_user_connected(id)) {
        if(
g_Estado[id] == LOGUEADO) {
            static 
OldName[33];
            
            
engfunc(EngFunc_InfoKeyValuebuffer"name"OldNamesizeof OldName 1);
            
            if(
equal(OldNameg_cuenta[id])) 
                return 
FMRES_IGNORED;
            
            
set_user_info(id"name"g_cuenta[id]);
            
client_cmd(id"setinfo ^"name^" ^"%s^""g_cuenta[id]);
        }
    }
    return 
FMRES_IGNORED

4.- clcmd_changeteam(id)

Reemplazamos el contenido de la funcion por esto:
Código PHP:
static team
    team 
fm_cs_get_user_team(id)
    
    if(
g_Estado[id] != LOGUEADO && team == FM_CS_TEAM_SPECTATOR || g_Estado[id] != LOGUEADO && team == FM_CS_TEAM_UNASSIGNED) {
        
ShowLogMenu(id)
        return 
PLUGIN_HANDLED;
    } else if(
g_Estado[id] == LOGUEADO && team == FM_CS_TEAM_SPECTATOR || g_Estado[id] == LOGUEADO && team == FM_CS_TEAM_UNASSIGNED)
        return 
PLUGIN_CONTINUE;
    
    
show_menu_game(id)
    return 
PLUGIN_HANDLED



y por si no pueden pacman (casi imposible solo es C&P)

Les dejo el sma...

aja reset para que?
o niveles para que? osea lo adapte a mi zp y descarge el tuyo

pero osea si reseteo no hay recompensa como ejemplo
si reseteo que me den 1000 ammo packs
y que sean armas por niveles!. se podra kikion2?

(28/11/2014, 12:58 PM)kikizon2 escribió: Bueno me pidieron lo siguiente:

"Adaptar Este Sistema de Niveles a Este Sistema de Cuentas, y al mismo tiempo que quede todo dentro del ZP" pacman


Yo usare el zp 4.3 + human classes que hay en este foro...


Ya teniendo adaptado el sistema de niveles a nuestro zp siguiendo el respectivo tutorial procederemos a adaptar el sistema de cuentas y a guardar nuestros datos...


Paso 1:

Agregamos la libreria (*.inc) Adv_vault debajo de las demas...

-->

Código PHP:
#include <adv_vault> 


Paso 2:

Creamos Variables y Constantes...

-->

Código PHP:
new g_contra[33][20], g_contra2[33][20], g_cuenta[33][32];

new 
g_vault,g_MsgVguig_MsgShowMenu;
new 
g_Estado[33], g_Can[33], g_Fecha[33][32];

enum {
    
EXP,
    
NIVEL,
    
FECHA,
    
PASSWORD,
    
DATA_M
};
enum {
    
NOREGISTRADO 0,
    
REGISTRADO,
    
LOGUEADO,
    
ESTADOS
};
new const 
Estado[ESTADOS][] = { "Sin Registrar""Registrado""Logueado" };
new 
g_campo[DATA_M]; 



Paso 3:

Nos vamos al init...

PD: Al final de la funcion antes de "}"

-->

Código PHP:
register_clcmd("INGRESAR_PASSWORD""Contra");
    
register_clcmd("say /cuenta""ShowLogMenu");
    
    
g_MsgVgui get_user_msgid("VGUIMenu");
    
g_MsgShowMenu get_user_msgid("ShowMenu");
    
register_message(g_MsgVgui"message_VGUImenu");
    
register_message(g_MsgShowMenu"message_VGUImenu");
    
    
g_vault adv_vault_open("CuentasZP"false);
    
g_campo[EXP] = adv_vault_register_field(g_vault"EXP")
    
g_campo[NIVEL] = adv_vault_register_field(g_vault"NIVEL")
    
g_campo[FECHA] = adv_vault_register_field(g_vault"FECHA"DATATYPE_STRING32);
    
g_campo[PASSWORD] = adv_vault_register_field(g_vault"PW"DATATYPE_STRING20);
    
adv_vault_init(g_vault); 



Paso 4:

Nos vamos al final del plugin y agregamos los nuevos menús y funciones...

-->

Código PHP:
/* MENUS */
public ShowLogMenu(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit), "Sistema de cuentas by \dkikizon^n\wBienvenido \r%s^n\wESTADO: \r%s^n\wTu ultima visita fue: \r%s"g_cuenta[id], Estado[g_Estado[id]], g_Fecha[id]);
    
    new 
menu menu_create(Tit,"menu_log");
    
    
menu_additem(menu, (g_Estado[id] == REGISTRADO && adv_vault_get_prepare(g_vault_g_cuenta[id]))?"Loguearse":"\dLoguearse""1");
    
menu_additem(menu, (g_Estado[id] == NOREGISTRADO && !adv_vault_get_prepare(g_vault_g_cuenta[id]))?"Registrarse^n":"\dRegistrarse^n""2");
    
menu_additem(menu, (g_Estado[id] == LOGUEADO && !g_Can[id])?"Cambiar Contra":"\dCambiar Contra""3");
    
    
menu_display(idmenu0);
}
public 
menu_log(idmenuitem) {
    if(
item == MENU_EXIT) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    switch(
item) {
        case 
0: {
            if(
g_Estado[id] == REGISTRADO && adv_vault_get_prepare(g_vault_g_cuenta[id])) {
                
client_print(idprint_center"Ingresa tu PASSWORD para entrar a tu cuenta");
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            } else {
                
client_print(idprint_center"No puedes elegir esta opcion");
                return 
PLUGIN_HANDLED;
            }
        }
        case 
1: {
            if(
g_Estado[id] == NOREGISTRADO && !adv_vault_get_prepare(g_vault_g_cuenta[id])) {
                
client_print(idprint_center"Ingresa una PASSWORD para crear una cuenta");
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            } else {
                
client_print(idprint_center"No puedes elegir esta opcion");
                return 
PLUGIN_HANDLED;
            }    
        }
        case 
2: {
            if(
g_Estado[id] == LOGUEADO && !g_Can[id]) {
                
client_print(idprint_center"Ingresa tu nueva PASSWORD");
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            } else {
                
client_print(idprint_center"No estas logueado o ya cambiaste tu password durante el mapa");
                return 
PLUGIN_HANDLED;
            }
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
Confirmar(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit),"La password sera \r%s^n^n\yConfirmar?"g_contra2[id]);
    
    new 
menu menu_create(Tit,"menu_confirmar");
    
    
menu_additem(menu,"\rSi\w, confirmar","1");
    
menu_additem(menu,"\rNo\w, deseo reescribirla","2");
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER);
    
    
menu_display(idmenu0);
}
public 
menu_confirmar(idmenuitem) {
    switch(
item) {
        case 
0: {
            switch(
g_Estado[id]) {
                case 
LOGUEADO: {
                    
copy(g_contra[id], 19 ,g_contra2[id]);
                    
Guardar(id);
                    
client_print(idprint_center"Tu password ha sido cambiada satisfactoriamente");
                    
g_Can[id] = 1;
                }
                case 
NOREGISTRADO: {    
                    
client_print(idprint_center"Tu cuenta ha sido creada satisfactoriamente");
                    
copy(g_contra[id], 31g_contra2[id]);
                    
Guardar(id);
                    
jTeam(id);
                }
            }
        }
        case 
1: {
            
menu_destroy(menu);
            
client_cmd(id,"messagemode INGRESAR_PASSWORD");
            if(
g_Estado[id] == LOGUEADO)
                
client_print(idprint_center"Ingresa tu nueva PASSWORD");
            else
                
client_print(idprint_center"Ingresa la PASSWORD para tu nueva cuenta");
        }
    }
    return 
PLUGIN_HANDLED;
}
public 
Guardar(id) {
    if(!
is_user_connected(id)) return;
    
    
adv_vault_set_start(g_vault);
    
adv_vault_set_field(g_vaultg_campo[EXP], kExp[id])
    
adv_vault_set_field(g_vaultg_campo[NIVEL], kNivel[id])
    
adv_vault_set_field(g_vaultg_campo[FECHA], g_Fecha[id]);
    
adv_vault_set_field(g_vaultg_campo[PASSWORD], g_contra[id]);
    
adv_vault_set_end(g_vault0g_cuenta[id]);
}
public 
Cargar(id) {
    if(!
adv_vault_get_prepare(g_vault_g_cuenta[id])) {
        
g_Estado[id] = NOREGISTRADO;
        return;
    } else {
        
g_Estado[id] = REGISTRADO;
        
kExp[id] = adv_vault_get_field(g_vaultg_campo[EXP]);
        
kNivel[id] = adv_vault_get_field(g_vaultg_campo[NIVEL]);
        
adv_vault_get_field(g_vaultg_campo[FECHA], g_Fecha[id], charsmax(g_Fecha[]));
        
adv_vault_get_field(g_vaultg_campo[PASSWORD], g_contra[id], charsmax(g_contra[]));
    }
    
}
public 
Contra(id) {
    
read_args(g_contra[id], charsmax(g_contra));
    
remove_quotes(g_contra[id]);trim(g_contra[id]);
    
    if(
equal(g_contra[id],"") || containi(g_contra[id]," ") != -) {
        
client_print(idprint_center"Tu password contiene errores");
        return 
1;
    }
    
    switch(
g_Estado[id]) {
        case 
NOREGISTRADO: {
            
client_print(idprint_center"Confirma tu password para proseguir");
            
copy(g_contra2[id], 19g_contra[id]);
            
Confirmar(id);
        }
        case 
REGISTRADO: {
            new 
buffer[40];
            
adv_vault_get_prepare(g_vault_g_cuenta[id]);
            
adv_vault_get_field(g_vaultg_campo[PASSWORD], buffercharsmax(buffer));
            
            if(
equal(bufferg_contra[id])) {
                
Guardar(id);
                
client_print(idprint_center"Te logueaste satisfactoriamente en tu cuenta");
                
jTeam(id);
            } else {
                
ShowLogMenu(id);
                
client_print(idprint_center"Password Incorrecta.");
            }
        }
        case 
LOGUEADO: {
            if(
g_Can[id]) {
                
client_print(idprint_center"Ya cambiaste tu contra en este mapa");
                return 
PLUGIN_HANDLED;
            }
            
client_print(idprint_center"Confirma tu password para cambiarla...");
            
copy(g_contra2[id], 19g_contra[id]);
            
Confirmar(id);
        }
    }
    return 
PLUGIN_HANDLED;
}
public 
message_VGUImenu(msgiddestid) {
    if(
g_Estado[id] != LOGUEADO)
        
ShowLogMenu(id);

    return 
1;
}
public 
jTeam(id){
    static 
teammsg_blockteammsg_block_vguirestorevgui;
    
    
restore get_pdata_int(id510);
    
vgui restore & (1<<0);
    
    if (
vgui)
        
set_pdata_int(id510restore & ~(1<<0));
    
    
teammsg_block get_msg_block(g_MsgShowMenu);
    
teammsg_block_vgui get_msg_block(g_MsgVgui);
    
    
set_msg_block(g_MsgShowMenuBLOCK_ONCE);
    
set_msg_block(g_MsgVguiBLOCK_ONCE);
    
    
engclient_cmd(id"jointeam""5");
    
engclient_cmd(id"joinclass""5");
    
    
set_msg_block(g_MsgShowMenuteammsg_block);
    
set_msg_block(g_MsgVguiteammsg_block_vgui);
    
    if (
vgui
        
set_pdata_int(id510restore);
        
    
g_Estado[id] = LOGUEADO;




Paso 5:

Editamos algunas funciones que ya existen en el zp...

-->

1.- client_putinserver()

PD: al final de la función antes de "}"

Código PHP:
get_user_name(idg_cuenta[id], 31);
get_time("%c"g_Fecha[id], 31);
g_contra[id][0] = '^0';
g_Estado[id] = NOREGISTRADO;
    
g_Can[id] = 0;
    
Cargar(id); 

2.- Creamos esta funcion:

Código PHP:
public client_disconnect(id)
    
Guardar(id); 

3.- Editamos esto: fw_ClientUserInfoChanged(id) por fw_ClientUserInfoChanged(id, buffer)

Ahora dentro de la función agregamos:

PD: Al final de la función antes de "}"
Código PHP:
    if(is_user_connected(id)) {
        if(
g_Estado[id] == LOGUEADO) {
            static 
OldName[33];
            
            
engfunc(EngFunc_InfoKeyValuebuffer"name"OldNamesizeof OldName 1);
            
            if(
equal(OldNameg_cuenta[id])) 
                return 
FMRES_IGNORED;
            
            
set_user_info(id"name"g_cuenta[id]);
            
client_cmd(id"setinfo ^"name^" ^"%s^""g_cuenta[id]);
        }
    }
    return 
FMRES_IGNORED

4.- clcmd_changeteam(id)

Reemplazamos el contenido de la funcion por esto:
Código PHP:
static team
    team 
fm_cs_get_user_team(id)
    
    if(
g_Estado[id] != LOGUEADO && team == FM_CS_TEAM_SPECTATOR || g_Estado[id] != LOGUEADO && team == FM_CS_TEAM_UNASSIGNED) {
        
ShowLogMenu(id)
        return 
PLUGIN_HANDLED;
    } else if(
g_Estado[id] == LOGUEADO && team == FM_CS_TEAM_SPECTATOR || g_Estado[id] == LOGUEADO && team == FM_CS_TEAM_UNASSIGNED)
        return 
PLUGIN_CONTINUE;
    
    
show_menu_game(id)
    return 
PLUGIN_HANDLED



y por si no pueden pacman (casi imposible solo es C&P)

Les dejo el sma...

aja reset para que?
o niveles para que? osea lo adapte a mi zp y descarge el tuyo

pero osea si reseteo no hay recompensa como ejemplo
si reseteo que me den 1000 ammo packs
y que sean armas por niveles!. se podra kikion2?
CRISTΔRΔNTULΔ!.Lovepanda
Responder
#68
si se puede pero te toca ver como se hace. Whatever
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#69
(14/11/2017, 09:32 PM)NkkI escribió: si se puede pero te toca ver como se hace. Whatever
[Imagen: EvoLogo.png.fbcccbc49fb32e6a4bf8f5e72d80c317.png]
nalgas

(03/08/2018, 03:13 PM)Skylar escribió: Está bien que pidas ayudas, pero no para que crees 20 post todos los días mogolico de mierda, me tenes re podrido ya, contraté 10000 sicarios para que te busquen y te maten toda la familia, y a vos que te revienten con una bazooka.
Responder
#70
Ayuda?
Error: Number of arguments does not match definition on line 2464
Error: Number of arguments does not match definition on line 2470
Error: Start of function body without function header on line 3186
Error: Invalid function or declaration on line 3188
Error: Invalid function or declaration on line 3191
Error: Symbol already defined: "get_user_name" on line 3194
Error: Invalid function or declaration on line 3197
Error: Invalid function or declaration on line 3203
Error: Invalid function or declaration on line 3206
Error: Symbol already defined: "set_task" on line 3210
Error: Invalid function or declaration on line 3212
Error: Invalid function or declaration on line 3215
Error: Invalid function or declaration on line 3219
Error: Symbol already defined: "set_task" on line 3222
Error: Symbol already defined: "get_user_name" on line 3226
Error: Invalid function or declaration on line 3231
Warning: Old style prototypes used with optional semicolumns on line 3233
Error: Unmatched closing brace on line 3234
Error: Function heading differs from prototype on line 10174
Error: Symbol already defined: "reset_vars" on line 10175
Warning: Symbol is assigned a value that is never used: "cvar_huddisplay" on line 1767
Responder
#71
No me guarda ningún dato..

Código PHP:
enum 
{
    
EXP,
    
NIVEL,
    
RR,
    
PUNTOS,
    
GASTADOS,
    
HABILIDAD,
    
ZPUNTOS,
    
ZGASTADOS,
    
ZHABILIDAD,
    
HPUNTOS,
    
HGASTADOS,
    
HHABILIDAD,
    
FECHA,
    
PASSWORD,
    
DATA_M
};
    
g_campo[EXP] = adv_vault_register_field(g_vault"EXP")
    
g_campo[NIVEL] = adv_vault_register_field(g_vault"NIVEL")
    
g_campo[RR] = adv_vault_register_field(g_vault"RR")
    
g_campo[PUNTOS] = adv_vault_register_field(g_vault"PUNTOS");
    
g_campo[GASTADOS] = adv_vault_register_field(g_vault"GASTADOS");
    
g_campo[HABILIDAD] = adv_vault_register_field(g_vault"HABILIDAD");
    
g_campo[ZPUNTOS] = adv_vault_register_field(g_vault"ZPUNTOS");
    
g_campo[ZGASTADOS] = adv_vault_register_field(g_vault"ZGASTADOS");
    
g_campo[ZHABILIDAD] = adv_vault_register_field(g_vault"ZHABILIDAD");
    
g_campo[HPUNTOS] = adv_vault_register_field(g_vault"HPUNTOS");
    
g_campo[HGASTADOS] = adv_vault_register_field(g_vault"HGASTADOS");
    
g_campo[HHABILIDAD] = adv_vault_register_field(g_vault"HHABILIDAD");

public 
Guardar(id)
{
    if(!
is_user_connected(id)) return;
    
    
adv_vault_set_start(g_vault);
    
adv_vault_set_field(g_vaultg_campo[EXP], g_iExp[id])
    
adv_vault_set_field(g_vaultg_campo[NIVEL], g_iLevel[id])
    
adv_vault_set_field(g_vaultg_campo[RR], g_iReset[id])
    
adv_vault_set_field(g_vaultg_campo[PUNTOS], g_puntos[id]);
    
adv_vault_set_field(g_vaultg_campo[GASTADOS], g_gastados[id]);
    
adv_vault_set_field(g_vaultg_campo[HABILIDAD], g_habilidad[id]);
    
adv_vault_set_field(g_vaultg_campo[ZPUNTOS], g_puntos[id]);
    
adv_vault_set_field(g_vaultg_campo[ZGASTADOS], g_gastados[id]);
    
adv_vault_set_field(g_vaultg_campo[ZHABILIDAD], g_habilidad[id]);
    
adv_vault_set_field(g_vaultg_campo[HPUNTOS], g_puntos[id]);
    
adv_vault_set_field(g_vaultg_campo[HGASTADOS], g_gastados[id]);
    
adv_vault_set_field(g_vaultg_campo[HHABILIDAD], g_habilidad[id]);
    
adv_vault_set_field(g_vaultg_campo[FECHA], g_Fecha[id]);
    
adv_vault_set_field(g_vaultg_campo[PASSWORD], g_contra[id]);
    
adv_vault_set_end(g_vault0g_cuenta[id]);
}
public 
Cargar(id
{
    if(!
adv_vault_get_prepare(g_vault_g_cuenta[id])) 
    {
        
g_Estado[id] = NOREGISTRADO;
        return;
    } 
    else 
    {
        
g_Estado[id] = REGISTRADO;
        
g_iExp[id] = adv_vault_get_field(g_vaultg_campo[EXP]);
        
g_iLevel[id] = adv_vault_get_field(g_vaultg_campo[NIVEL]);
        
g_iReset[id] = adv_vault_get_field(g_vaultg_campo[RR]);
        
adv_vault_get_fieldg_vaultg_campoPUNTOS ], g_puntosid ], sizeofg_puntos[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoGASTADOS ], g_gastadosid ], sizeofg_gastados[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoZPUNTOS ], g_puntosid ][ ], sizeofg_puntos[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoHPUNTOS ], g_puntosid ][ ], sizeofg_puntos[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoZGASTADOS ], g_gastadosid ][ ], sizeofg_gastados[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoHGASTADOS ], g_gastadosid ][ ], sizeofg_gastados[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoZHABILIDAD ], g_habilidadid ][ ], sizeofg_habilidad[ ][ ] ) );
        
adv_vault_get_fieldg_vaultg_campoHHABILIDAD ], g_habilidadid ][ ], sizeofg_habilidad[ ][ ] ) );
        
adv_vault_get_field(g_vaultg_campo[FECHA], g_Fecha[id], charsmax(g_Fecha[]));
        
adv_vault_get_field(g_vaultg_campo[PASSWORD], g_contra[id], charsmax(g_contra[]));
    }


Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)