[TUT] Guardar/Cargar datos de un player (ejemplo zp)
#1
Para este tutorial vamos a usar la API del Advanced Vault System
Advanced Vault System

Código PHP:
#include <amxmodx>
#include <adv_vault>

/* Variables que usaremos para guardar/cargar en este ejemplo -------------------------------*/
new g_ammopacks[33]
new 
g_level[33]
new 
g_reset[33]
new 
g_points[33][2]         // Los puntos para gastar humanos y zombies
new g_kills[33][5]        // Los kills acumulados ejemplo:(zombie, humano, survivor, neme, sniper, assasin)
new g_habilidad[33][2][6]  // [2] (humanos y zombies) [6] (las habilidades)
// Supongamos que tenemos un sistema de cuentas (?
new g_password[33][20]        // la password de la cuenta
new g_pj[33][32]        // El PJ,Cuenta,Nick,Steamid,IP,HID o lo que quieras usar
/*----------------------------------------------------------------------------------------------------------*/


/*Creamos algunas constantes para facilitar la lectura del codigo*/ 
enum {
    
CAMPO_AMMOPACKS=0,
    
CAMPO_LEVEL,
    
CAMPO_RESET,
    
CAMPO_POINTS,
    
CAMPO_HAB_H,
    
CAMPO_HAB_Z,
    
CAMPO_KILLS,
    
CAMPO_PASSWORD,
    
MAX_FIELDS
}

/*En esta variable se guardaran los identificadores de los campos*/
new g_campos[MAX_FIELDS]

/*En esta variable se guardara el identificador del vault abierto*/ 
/*Nota: ID = Index = Identificador*/
new g_vault

public plugin_init()
{
    
/*Abrimos el vault ------------------------*/
    
g_vault adv_vault_open("datos_zp"false)
    
/*
       NOTA:
         -Si tienen muuuchoossss datos y acceden a ellos muchas veces pongan el ultimo parametro en true
          mejora el rendimiento
          g_vault = adv_vault_open("datos_zp", true)
     */
    
    /*Definimos los campos que usaremos ---------------------------------------------------------*/
    /*
       NOTA:
        -Cada vez que se actualice un key los campos que no estén actualmente definidos serán removidos.
        -Se pueden definir mas campos para guardar sin problemas.
        -Se puede agrandar y achicar el tamaño de los arrays y string en cualquier momento
    */

    
g_campos[CAMPO_AMMOPACKS]     = adv_vault_register_field(g_vault"ap")
    
g_campos[CAMPO_LEVEL]              = adv_vault_register_field(g_vault"level")
    
g_campos[CAMPO_RESET]             = adv_vault_register_field(g_vault"reset")
    
g_campos[CAMPO_POINTS]           = adv_vault_register_field(g_vault"points"DATATYPE_ARRAY2)
    
g_campos[CAMPO_KILLS]              = adv_vault_register_field(g_vault"kills"DATATYPE_ARRAY5)
    
g_campos[CAMPO_HAB_H]              = adv_vault_register_field(g_vault"hab_h"DATATYPE_ARRAY6)
    
g_campos[CAMPO_HAB_Z]              = adv_vault_register_field(g_vault"hab_z"DATATYPE_ARRAY6)
    
g_campos[CAMPO_PASSWORD]      = adv_vault_register_field(g_vault"pw"DATATYPE_STRING20)
    
/*--------------------------------------------------------------------------------------------*/
    
    /*Iniciamos el vault (Obligatorio luego de terminar de registrar los campos)*/
    
adv_vault_init(g_vault)
}

/*
Esta funcion la tienen que llamar cuando quieran guardar los datos.
Ejemplo:
  - Cuando se desconecta
  - Si ustedes tienen algún sistema de cuentas lo tienen que poner al crear una cuenta.
  - Y en cualquier otro lugar donde quieran asegurarse que los datos se guardaron.
*/
funcion_guardar(id)
{
    
/*Preparamos el vault para el guardado*/
    
adv_vault_set_start(g_vault)
    
    
/*Configuramos los campos ---------------------------------------------------------------------------------*/
    /*
       NOTA: Supongamos que hay tres campos guardados y solo configuramos uno,los otros dos campos quedan igual.
    */
    
adv_vault_set_field(g_vaultg_campos[CAMPO_AMMOPACKS], g_ammopacks[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_LEVEL], g_level[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_RESET], g_reset[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_POINTS], g_points[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_KILLS], g_kills[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_HAB_H], g_habilidad[id][0])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_HAB_Z], g_habilidad[id][1])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_PASSWORD], g_password[id])
    
/*--------------------------------------------------------------------------------------------------------*/
    
    /*Guardamos los campos ----------------*/
    
adv_vault_set_end(g_vault0g_pj[id])
}



/*
Esta funcion la tienen que llamar cuando quieran cargar los datos.
Ejemplo:
  - Cuando entra al juego (client_putinserver)
*/
funcion_cargar(id)
{
    
/*Preparamos el vault para la obtención de los campos*/
    
if(!adv_vault_get_prepare(g_vault_g_pj[id]))
    {
        
/*No hay datos*/
        
return
    }

    
/*Obtenemos los datos de los campos ------------------------------------------------------------*/
    
g_ammopacks[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS])
    
g_level[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_LEVEL])
    
g_reset[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_RESET])
    
    
adv_vault_get_field(g_vaultg_campos[CAMPO_POINTS], g_points[id], sizeof g_points[])
    
adv_vault_get_field(g_vaultg_campos[CAMPO_KILLS], g_kills[id], sizeof g_kills[])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_HAB_H], g_habilidad[id][0], sizeof g_habilidad[][])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_HAB_Z], g_habilidad[id][1], sizeof g_habilidad[][])
    
    
adv_vault_get_field(g_vaultg_campos[CAMPO_PASSWORD], g_password[id], charsmax(g_password[]))
    
/*---------------------------------------------------------------------------------------------*/
}

/*
    Que tal?
    Le resulto mas fácil que usar parse,formatex y toda esa mierda que usan con vault/nvault/fvault/nfvault ?
*/ 

Otros tutoriales:
[TUT] Crear rank/top15 con Adv-Vault
[TUT] Búsquedas de datos en Adv-Vault
Responder
#2
tu vault vendria a ser como un mysql?

edito: es decir con columnas y todo eso?
futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
Responder
#3
(27/06/2014, 10:14 PM)roccoxx escribió: tu vault vendria a ser como un mysql?

edito: es decir con columnas y todo eso?
los campos serian algo similar a las columnas de mysql
Responder
#4
Hice copy & paste del code y no me funciono xD.

Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Responder
#5
Pusiste el plugin de la API ?
Responder
#6
Guiño 
(28/06/2014, 02:02 PM)Destro escribió: Pusiste el plugin de la API ?

No D:.

Eso falta, pero que te pensas que la gente sabe todo T_t

Después me fijo .

Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Responder
#7
Este no lo habia visto nunca , gracias por aportar.

saludos
NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
[Imagen: b_350_20_ffad41_e98100_000000_591f11.png]


Responder
#8
no entendi bien esta parte que hay que ponerlo en plugin_init
Código PHP:
g_campos[CAMPO_AMMOPACKS]     = adv_vault_register_field(g_vault"ap")
    
g_campos[CAMPO_LEVEL]         = adv_vault_register_field(g_vault"level")
    
g_campos[CAMPO_RESET]         = adv_vault_register_field(g_vault"reset")
    
g_campos[CAMPO_POINTS]         = adv_vault_register_field(g_vault"points"DATATYPE_ARRAY2)
    
g_campos[CAMPO_KILLS]         = adv_vault_register_field(g_vault"kills"DATATYPE_ARRAY5)
    
g_campos[CAMPO_PASSWORD]     = adv_vault_register_field(g_vault"pw"DATATYPE_STRING20)
    
/*--------------------------------------------------------------------------------------------*/
    
    /*Iniciamos el vault*/
    
adv_vault_init(g_vault

nolo entendi y no me guarda los datos
Código PHP:
funcion_guardar(id)
{
    
/*Preparamos el vault para el guardado*/
    
adv_vault_set_start(g_vault)
    
    
/*Configuramos los campos ---------------------------------------------------------------------------------*/
    /*
       NOTA: Supongamos que hay tres campos guardados y solo configuramos uno,los otros dos campos quedan igual.
    */
    
adv_vault_set_field(g_vaultg_campos[CAMPO_AMMOPACKS], g_ammopacks[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_LEVEL], g_level[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_RESET], g_reset[id])
    
/*--------------------------------------------------------------------------------------------------------*/
    
    /*Guardamos los campos ----------------*/
    
adv_vault_set_end(g_vault0g_pj[id])
}

funcion_cargar(id)
{
    
/*Preparamos el vault para la obtención de los campos*/
    
if(!adv_vault_get_prepare(g_vault_g_pj[id]))
    {
        
/*No hay datos*/
        
return
    }
    
g_ammopacks[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS])
    
g_level[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_LEVEL])
    
g_reset[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_RESET])

y ya puse lo de guardar en client_disconnect y cargar en putinserver.
Responder
#9
Dejo este simple sistema de cuentas por nombre con tu API y guiándome con este tutorial Yao ming

PD: Excelente aporte Destro Gran sonrisa


Archivos adjuntos
.sma   Descargar AMXX / account_system.sma (Tamaño: 5.85 KB / Descargas: 398)
BB 6.5 + Clases de humano * Zombie Plague 4.3 Fix5a + Clases de humano * Sistema de cuentas (Advanced Vault)

Steam

(28/07/2014, 01:23 PM)Neeeeeeeeeel.- escribió:
(28/07/2014, 01:20 PM)Marito escribió: la fuerza de tu envidia es la velocidad de mi progreso y la garantía de mi prosperidad...
Osea que si nadie te envidia la velocidad de tu progreso es 0 y sin garantía Crab

01101101 escribió:me hago la paja pensando en l//
Responder
#10
(05/07/2014, 11:55 PM)LNATIC escribió: Dejo este simple sistema de cuentas por nombre con tu API y guiándome con este tutorial Yao ming

PD: Excelente aporte Destro Gran sonrisa

lo descarge lo use como plugin y luego lo adapte ami zp y no me guardo nada ni el password y en plugin si guarda -.- que pasa con mi zp es vercion 1.6.1
advance
Responder
#11
(07/07/2014, 10:08 AM)ivan escribió:
(05/07/2014, 11:55 PM)LNATIC escribió: Dejo este simple sistema de cuentas por nombre con tu API y guiándome con este tutorial Yao ming

PD: Excelente aporte Destro Gran sonrisa

lo descarge lo use como plugin y luego lo adapte ami zp y no me guardo nada ni el password y en plugin si guarda -.- que pasa con mi zp es vercion 1.6.1
advance

Seguro estas haciendo algo mal, yo lo uso en mi base de un deathrun y funciona de maravilla.
BB 6.5 + Clases de humano * Zombie Plague 4.3 Fix5a + Clases de humano * Sistema de cuentas (Advanced Vault)

Steam

(28/07/2014, 01:23 PM)Neeeeeeeeeel.- escribió:
(28/07/2014, 01:20 PM)Marito escribió: la fuerza de tu envidia es la velocidad de mi progreso y la garantía de mi prosperidad...
Osea que si nadie te envidia la velocidad de tu progreso es 0 y sin garantía Crab

01101101 escribió:me hago la paja pensando en l//
Responder
#12
No me Funciono Triste Entro al ZP y no me sale registro ni nada solo entra a jugar y copile sin errores. y nada
Nobato-Aprendiendo Nothingdohere 1%
Responder
#13
(14/07/2014, 11:01 PM)Savonis escribió: No me Funciono Triste Entro al ZP y no me sale registro ni nada solo entra a jugar y copile sin errores. y nada

no pusiste el
clcmd_changeteam(id)
y tenes que poner para que te puedas registrar :b
guiate con el sma es facil
Responder
#14
(15/07/2014, 10:58 AM)ivan escribió:
(14/07/2014, 11:01 PM)Savonis escribió: No me Funciono Triste Entro al ZP y no me sale registro ni nada solo entra a jugar y copile sin errores. y nada

no pusiste el
clcmd_changeteam(id)
y tenes que poner para que te puedas registrar :b
guiate con el sma es facil



No te endiendo nada >.< Soy nobato:c
Nobato-Aprendiendo Nothingdohere 1%
Responder
#15
(15/07/2014, 12:42 PM)Savonis escribió:
(15/07/2014, 10:58 AM)ivan escribió:
(14/07/2014, 11:01 PM)Savonis escribió: No me Funciono Triste Entro al ZP y no me sale registro ni nada solo entra a jugar y copile sin errores. y nada

no pusiste el
clcmd_changeteam(id)
y tenes que poner para que te puedas registrar :b
guiate con el sma es facil



No te endiendo nada >.< Soy nobato:c

te hago un Copy and Paste para Adaptar lo al zp recien lo adapte y me funciona de maravilla
Código PHP:
#include <adv_vault>

/*===================
PASSWORD
===================*/
new g_password[33][20],g_pj[33][32],bool:g_login[33],g_vault,g_msgvgui,g_msgshowmenu;
enum {
    
CAMPO_AMMOPACKS=0,
    
FIELD_PASSWORD,
    
MAX_FIELDS
}

new 
g_campos[MAX_FIELDS
eso va al prinsipio del zp y ahora vas a public plugin_init y agregas
Código PHP:
// SAPSSSDSA
    
g_vault adv_vault_open("datos_zp"false)
        
g_campos[CAMPO_AMMOPACKS]     = adv_vault_register_field(g_vault"ap")
        
g_campos[FIELD_PASSWORD]     = adv_vault_register_field(g_vault"pw"DATATYPE_STRING20)
        
adv_vault_init(g_vault)
    
register_plugin("Account System","0.1","LNATIC");
    
register_clcmd("Ingresar_Password""clcmd_log");
    
register_clcmd("Nueva_Password""clcmd_create");
    
register_menu("Account Menu"KEYSMENU"handler_menu");
    
g_msgvgui get_user_msgid("VGUIMenu");
    
g_msgshowmenu get_user_msgid("ShowMenu");
    
register_message(g_msgvgui"message_vguimenu");
    
register_message(g_msgshowmenu"message_vguimenu");
    
register_forward(FM_ClientUserInfoChanged"fw_clientinfo_changed"
Bien Ahora Vas a Client_putinserver o lo buscas asi "putin" sin las comillas y agregas
Código PHP:
g_login[id] = false;
    
get_user_name(idg_pj[id], 31); 
y ahora en client_disconnect agregas esto
para buscarlo esto anda mas abajo un poquito nada mas no tanto y bueno agregas
Código PHP:
funcion_guardar(id);
    
g_login[id] = false
y ahora al Final de tu zp Agregas esto
Código PHP:
funcion_guardar(id)
{
    
adv_vault_set_start(g_vault)
    
adv_vault_set_field(g_vaultg_campos[CAMPO_AMMOPACKS], g_ammopacks[id])
    
adv_vault_set_field(g_vaultg_campos[FIELD_PASSWORD], g_password[id])
    
adv_vault_set_end(g_vault0g_pj[id])
}

funcion_cargar(id)
{
    if(!
adv_vault_get_prepare(g_vault_g_pj[id]))
    {
        
g_ammopacks[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS])
        
adv_vault_get_field(g_vaultg_campos[FIELD_PASSWORD], g_password[id], charsmax(g_password[]))
        return
    }
    
g_ammopacks[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS])
adv_vault_get_field(g_vaultg_campos[FIELD_PASSWORD], g_password[id], charsmax(g_password[]))
}

public 
acc_menu(id){
    new 
menu[60],len 0;
    
len += formatex(menu[len], sizeof menu len"\r ZP level^nBienvenido \d%s^n^n"g_playername[id]);
    
len += formatex(menu[len], sizeof menu len"\r1. \y%s",!adv_vault_get_prepare(g_vault_g_pj[id])?"Registrarse":"Loguearse");
    
show_menu(idKEYSMENUmenu, -1"Account Menu");
    return 
1;
}
public 
handler_menu(id,key){
    if(
key == 0)    adv_vault_get_prepare(g_vault_g_pj[id]) ? client_cmd(id,"messagemode Ingresar_Password") : client_cmd(id,"messagemode Nueva_Password");
    return 
1;
}
public 
message_vguimenu(msgiddestid){
    switch(
g_login[id]){
        case 
0:acc_menu(id);
        case 
1:return 0;
    }
    return 
1;
}
public 
fw_clientinfo_changed(idbuffer){
    if(
is_user_connected(id)){
        if(
g_login[id]){
            static 
oldname[33];
            
engfunc(EngFunc_InfoKeyValuebuffer"name"oldnamesizeof oldname 1);
            if(
equaloldnameg_pjid ])) return FMRES_IGNORED;
            
set_user_info(id"name"g_pj[id]);
            
client_cmd(id"setinfo ^"name^" ^"%s^"",g_pj[id]);
        }
    }
    return 
FMRES_IGNORED;    
}
public 
clcmd_log(id){
    new 
buffer[40];
    
read_args(g_password[id],charsmax(g_password));
    
remove_quotes(g_password[id]); trim(g_password[id]);
    
adv_vault_get_prepare(g_vault_g_pj[id]);
    
adv_vault_get_field(g_vaultg_campos[FIELD_PASSWORD], buffercharsmax(buffer));
    if( 
equal(buffer,g_password[id]) ){
        
g_login[id] = true;
        
set_hudmessage(255255255, -1.0, -1.006.012.0);
        
show_hudmessage(id"Bienvenido de nuevo %s!",g_pj[id]);
        
funcion_guardar(id)
        
join(id);
    }
    else{
        
set_hudmessage(25500, -1.0, -1.006.012.0);
        
client_print(id,print_center,"Password incorrecta.");
    }
}
public 
clcmd_create(id){
    
read_args(g_password[id],charsmax(g_password));
    
remove_quotes(g_password[id]); trim(g_password[id]);
    if( 
equal(g_password[id],"") || contain(g_password[id]," ") != -)    return 1;
    else{
        
g_login[id] = true;
        
set_hudmessage(255255255, -1.0, -1.006.012.0);
        
show_hudmessage(id"Bienvenido %s!",g_pj[id]);
        
funcion_guardar(id)
        
join(id);
    }
    return 
1;
}
public 
join(id){
    
// Jointeam force by RauliTop
    
static teammsg_blockteammsg_block_vguirestorevgui;
    
restore get_pdata_int(id510);
    
vgui restore & (1<<0);
    if (
vguiset_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 (
vguiset_pdata_int(id510restore);

y listo fue facil espero que te sirva si tenes error decime.
Responder
#16
(15/07/2014, 06:04 PM)ivan escribió:
(15/07/2014, 12:42 PM)Savonis escribió:
(15/07/2014, 10:58 AM)ivan escribió:
(14/07/2014, 11:01 PM)Savonis escribió: No me Funciono Triste Entro al ZP y no me sale registro ni nada solo entra a jugar y copile sin errores. y nada

no pusiste el
clcmd_changeteam(id)
y tenes que poner para que te puedas registrar :b
guiate con el sma es facil



No te endiendo nada >.< Soy nobato:c

te hago un Copy and Paste para Adaptar lo al zp recien lo adapte y me funciona de maravilla
Código PHP:
#include <adv_vault>

/*===================
PASSWORD
===================*/
new g_password[33][20],g_pj[33][32],bool:g_login[33],g_vault,g_msgvgui,g_msgshowmenu;
enum {
    
CAMPO_AMMOPACKS=0,
    
FIELD_PASSWORD,
    
MAX_FIELDS
}

new 
g_campos[MAX_FIELDS
eso va al prinsipio del zp y ahora vas a public plugin_init y agregas
Código PHP:
// SAPSSSDSA
    
g_vault adv_vault_open("datos_zp"false)
        
g_campos[CAMPO_AMMOPACKS]     = adv_vault_register_field(g_vault"ap")
        
g_campos[FIELD_PASSWORD]     = adv_vault_register_field(g_vault"pw"DATATYPE_STRING20)
        
adv_vault_init(g_vault)
    
register_plugin("Account System","0.1","LNATIC");
    
register_clcmd("Ingresar_Password""clcmd_log");
    
register_clcmd("Nueva_Password""clcmd_create");
    
register_menu("Account Menu"KEYSMENU"handler_menu");
    
g_msgvgui get_user_msgid("VGUIMenu");
    
g_msgshowmenu get_user_msgid("ShowMenu");
    
register_message(g_msgvgui"message_vguimenu");
    
register_message(g_msgshowmenu"message_vguimenu");
    
register_forward(FM_ClientUserInfoChanged"fw_clientinfo_changed"
Bien Ahora Vas a Client_putinserver o lo buscas asi "putin" sin las comillas y agregas
Código PHP:
g_login[id] = false;
    
get_user_name(idg_pj[id], 31); 
y ahora en client_disconnect agregas esto
para buscarlo esto anda mas abajo un poquito nada mas no tanto y bueno agregas
Código PHP:
funcion_guardar(id);
    
g_login[id] = false
y ahora al Final de tu zp Agregas esto
Código PHP:
funcion_guardar(id)
{
    
adv_vault_set_start(g_vault)
    
adv_vault_set_field(g_vaultg_campos[CAMPO_AMMOPACKS], g_ammopacks[id])
    
adv_vault_set_field(g_vaultg_campos[FIELD_PASSWORD], g_password[id])
    
adv_vault_set_end(g_vault0g_pj[id])
}

funcion_cargar(id)
{
    if(!
adv_vault_get_prepare(g_vault_g_pj[id]))
    {
        
g_ammopacks[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS])
        
adv_vault_get_field(g_vaultg_campos[FIELD_PASSWORD], g_password[id], charsmax(g_password[]))
        return
    }
    
g_ammopacks[id]    = adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS])
adv_vault_get_field(g_vaultg_campos[FIELD_PASSWORD], g_password[id], charsmax(g_password[]))
}

public 
acc_menu(id){
    new 
menu[60],len 0;
    
len += formatex(menu[len], sizeof menu len"\r ZP level^nBienvenido \d%s^n^n"g_playername[id]);
    
len += formatex(menu[len], sizeof menu len"\r1. \y%s",!adv_vault_get_prepare(g_vault_g_pj[id])?"Registrarse":"Loguearse");
    
show_menu(idKEYSMENUmenu, -1"Account Menu");
    return 
1;
}
public 
handler_menu(id,key){
    if(
key == 0)    adv_vault_get_prepare(g_vault_g_pj[id]) ? client_cmd(id,"messagemode Ingresar_Password") : client_cmd(id,"messagemode Nueva_Password");
    return 
1;
}
public 
message_vguimenu(msgiddestid){
    switch(
g_login[id]){
        case 
0:acc_menu(id);
        case 
1:return 0;
    }
    return 
1;
}
public 
fw_clientinfo_changed(idbuffer){
    if(
is_user_connected(id)){
        if(
g_login[id]){
            static 
oldname[33];
            
engfunc(EngFunc_InfoKeyValuebuffer"name"oldnamesizeof oldname 1);
            if(
equaloldnameg_pjid ])) return FMRES_IGNORED;
            
set_user_info(id"name"g_pj[id]);
            
client_cmd(id"setinfo ^"name^" ^"%s^"",g_pj[id]);
        }
    }
    return 
FMRES_IGNORED;    
}
public 
clcmd_log(id){
    new 
buffer[40];
    
read_args(g_password[id],charsmax(g_password));
    
remove_quotes(g_password[id]); trim(g_password[id]);
    
adv_vault_get_prepare(g_vault_g_pj[id]);
    
adv_vault_get_field(g_vaultg_campos[FIELD_PASSWORD], buffercharsmax(buffer));
    if( 
equal(buffer,g_password[id]) ){
        
g_login[id] = true;
        
set_hudmessage(255255255, -1.0, -1.006.012.0);
        
show_hudmessage(id"Bienvenido de nuevo %s!",g_pj[id]);
        
funcion_guardar(id)
        
join(id);
    }
    else{
        
set_hudmessage(25500, -1.0, -1.006.012.0);
        
client_print(id,print_center,"Password incorrecta.");
    }
}
public 
clcmd_create(id){
    
read_args(g_password[id],charsmax(g_password));
    
remove_quotes(g_password[id]); trim(g_password[id]);
    if( 
equal(g_password[id],"") || contain(g_password[id]," ") != -)    return 1;
    else{
        
g_login[id] = true;
        
set_hudmessage(255255255, -1.0, -1.006.012.0);
        
show_hudmessage(id"Bienvenido %s!",g_pj[id]);
        
funcion_guardar(id)
        
join(id);
    }
    return 
1;
}
public 
join(id){
    
// Jointeam force by RauliTop
    
static teammsg_blockteammsg_block_vguirestorevgui;
    
restore get_pdata_int(id510);
    
vgui restore & (1<<0);
    if (
vguiset_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 (
vguiset_pdata_int(id510restore);

y listo fue facil espero que te sirva si tenes error decime.



Bro!! Agradesco tu tiempo en explicarme pero , el Client_putinserver no lo tengo en mi code , y tampoco el , client_disconnect, empeze con esto hace 2 dias llevo apenas y pues a aprendido solo un 10% y eso es poco pero igual te agradesco el tiempo que dedicaste en explicarme aunque no me a funcionado. xd
Nobato-Aprendiendo Nothingdohere 1%
Responder
#17
no creo que sea 10% pacman parace 2% pacman tenes que crearlo...

Código PHP:
public client_putinserver(id)
{
   
// code

(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#18
en consola me tira este error pacman
L 07/16/2014 - 18:11:19: [AMXX] Module is not a valid library (file "cstrike\addons\amxmodx\modules\adv_vault_get_field_amxx.dll")
L 07/16/2014 - 18:11:19: [AMXX] Plugin "zombie_plague40.amxx" failed to load: Plugin uses an unknown function (name "adv_vault_get_field") - check your modules.in
Responder
#19
No se instala como módulo, lo instalas como un plugin normal.
(16/05/2020, 06:31 PM)Ipolito escribió: Ahre que solo estafe a 1

(12/05/2020, 06:37 PM)Neeeeeeeeeel.- escribió: El puto compilador de AM está más bugueado que la concha de la lora

(09/05/2020, 02:29 PM)Nube. escribió: que concha le hicieron al foro?

(13/05/2019, 08:27 PM)Niper.-. escribió: Yo siempre quise ser un hacker hackero profesional del 1.6 conter strike 1.6 no steam y counter strike 1.6 steam version 1.2.65. El problema es que no sabía como hackear entonces aprendi a hackear mediante hackeos como hackee mi primera vez hackeando un sistema de hackers para yo despues hackear a ese hacker que me queria hackear pero yo lo hackee primero por ende el hacker quedo re hackeado por mi que seria un hacker. Entonces así fui como me hice hacker. Gracias por leer.

(27/04/2020, 02:13 PM)Neeeeeeeeeel.- escribió: El foro será actualizado tan pronto encuentren la cura para el coronavirus

(07/04/2020, 11:22 PM)Hypnotize escribió: aparte kikizon es marica

(26/03/2020, 04:23 AM)Chema escribió: +REP de que pendejo? ni tienes 100 posts.

(20/11/2018, 09:32 AM)Neeeeeeeeeel.- escribió: yo porque soy muy enfermo del styling

(13/02/2017, 07:41 PM)Heber[$]ource escribió: es nuvpawn, nos esta ddoseando con su sega genesis

(10/05/2019, 08:23 PM)Niper.-. escribió: Trap no son tus putas trap es mi equipo tumbando el foro de amxmodx hey tumbando el foro hey tumbando el foroooo ya saben todos nos llevamos todos los pluginsss..

(18/02/2019, 03:08 PM)Neeeeeeeeeel.- escribió: Shit

(28/02/2015, 03:27 AM)sasske escribió: Vete al diablo detallista de mierda :ohgodwhy;

(26/12/2018, 02:45 PM)[R]ak escribió: yo solo te veo en whatsapp agarrando culos.. nose..

(09/06/2017, 12:59 AM)kikizon2 escribió: Quiero que leas las reglas, y si fuese posible que saltaras de un 10mo piso, pls.

(21/04/2017, 01:27 AM)Chamo. escribió: Cuanto hay que pagar para estar en tu firma TrolleyesThats what she said?

(20/04/2017, 11:56 PM)matrix123 escribió: Patrocinas rehlds? Es de lo único que hablas, mañana seguro te llegan remeras de rehlds, mandame una Whatever

(26/04/2017, 08:47 PM)Dieguito escribió: al que me salga con latinservers le meto un sugisaki por el c***

(26/02/2017, 08:02 PM)meTaLiCroSS escribió: La misma aritmetica se aplica con los Strings falsos que inventé ("trivago" y "pajarussel").

(06/01/2015, 10:47 PM)meTaLiCroSS escribió:
(06/01/2015, 10:40 PM)wiD escribió: este chileno culiau :whatever;
¿Que?

(29/04/2016, 11:44 PM)wiD escribió: Te juro que si te tengo enfrente primero te piso con el auto y despues te meo en la boca.

(16/07/2014, 06:38 PM)wiD escribió: Mongito dame su name que quiero un chip para pegar todo cocow

(18/03/2015, 02:04 PM)ErikMav94 escribió:
(18/03/2015, 02:03 PM)mongito100 escribió: Son todos putos
escribís como el orto :trolleyes;

[Anti] escribió:Olle tranquilo cerebrito

(03/04/2015, 12:16 AM)Treki escribió:
(03/04/2015, 12:11 AM)Sugisaki escribió: cual plug?, el arkshine o el de arkshine?

Fixed*

(09/03/2015, 09:49 PM)Moroha escribió: Suspendieron al abaricioso platero de kikizon :trolleyes;

(26/05/2014, 08:31 PM)ivan escribió: hola quiero hacer combo para el party uso el de rank

(22/08/2014, 11:41 PM)Store.gh escribió: Join team de jeropito? A vos t hace falta un pito..

(26/02/2015, 01:01 AM)meTaLiCroSS escribió:
(26/02/2015, 12:54 AM)sasske escribió: Salida del horno nueva versión, que obsesionado estoy :3
PD: Me olvide de darle los créditos a metal xD, pobre metal xd
Da igual, dejalo como una enseñanza jejej no te llorare por unos creditos ehhmm hud...

(18/01/2015, 12:31 AM)[R]ak escribió: no me critican.. solo dicen boludeces

(05/01/2015, 12:43 AM)roccoxx escribió: Sentado en dust pensando como fui tan gil ♪
[Imagen: attachment.php?thumbnail=1750]
Responder
#20
si ya me di cuenta
Responder
#21
:o Buen Aporte y buen Tutorial [Imagen: 18.gif]
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#22
Como se guardan floats?

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook

[Imagen: w8565u-4.png]
Responder
#23
(11/09/2014, 01:28 PM)kikizon2 escribió: Como se guardan floats?

Suponiendo que g_ammopacks[] es float
Código PHP:
new Float:g_ammopacks[33]


//Guardar
adv_vault_set_field(g_vaultg_campos[CAMPO_AMMOPACKS], _:g_ammopacks[id])

//Cargar
 
g_ammopacks[id] = Float:adv_vault_get_field(g_vaultg_campos[CAMPO_AMMOPACKS]) 
Responder
#24
Muchas Gracias^^

EDIT: para ponerlo dentro del ini? como lo registro?

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook

[Imagen: w8565u-4.png]
Responder
#25
Una pregunta, que le hace poner _: (guión bajo y dos puntos).

Código PHP:
_:g_ammopacks[id
Believe, be yourself and don't hold on to just one dream ❤

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)