Raised This Month: $32 Target: $400
 8% 

[Ayuda] Guardado de Datos


  
 
 
Thread Tools Display Modes
Author Message
chetah
Senior Member
Join Date: Jan 2013
Location: BangBros
Old 03-04-2013 , 17:21   [Ayuda] Guardado de Datos
#1

Hola a todos , quisiera que alguien me ayuda a guardar 3 variables
PHP Code:
new g_level[33];
new 
g_exp[33];
new 
g_reset[33]; 
Si alguien pudiera ayudarme, y un ej como serian en la parte del guardado
Saludos, Gracias
__________________
Minecraft Mod: | %15
"Tomorrowland <3"
chetah is offline
Darkete
Veteran Member
Join Date: Oct 2008
Location: Buenos Aires, Argentina
Old 03-04-2013 , 17:35   Re: [Ayuda] Guardado de Datos
#2

Podes buscar en la parte de tutoriales... hay mas de uno... https://forums.alliedmods.net/forumdisplay.php?f=137
__________________
Eh volvecido !!!
Darkete is offline
Send a message via MSN to Darkete Send a message via Skype™ to Darkete
l30nardo
Junior Member
Join Date: Dec 2012
Old 03-04-2013 , 17:37   Re: [Ayuda] Guardado de Datos
#3

Te dejo una forma que es por Fvault

PHP Code:
// en las includes agrega la include Fvault 
#include <fvault> 

// luego abajo del include Fvault agregamos esto 
new const g_datos[] = "DATOS" // Base de datos  

// luego anda ha 
public client_putinserver(id

        
// luego agrega esto 
        
Load(id
        
// cargamos los datos al entrar 


public 
client_disconnect(id

    
// aca agregamos 
    
Save(id)
    
// cuando se desconecta del servidor se les guardan los datos 


// luego al final del plugin
public Load(id

    static 
SZName[33], SZData[512], SZLevel[35], SZExp[35], SZReset[35]; get_user_nameidSZNamecharsmax(SZName) ) 
     
     if (
fvault_get_data(g_datosSZNameSZDatacharsmax(SZData))) 
     { 
          
parseSZDataSZLevelcharsmax(SZLevel), SZExpcharsmax(SZExp), SZResetcharsmax(SZReset) ) 
             
          
g_level[id] = str_to_num(SZLevel)
          
g_exp[id] = str_to_num(SZExp)
          
g_reset[id] = str_to_num(SZReset
      } 
}

public 
Save(id

    static 
SZName[33], SZData[512]; get_user_nameidSZNamecharsmax(SZName) ) 

    
formatex(SZDatacharsmax(SZData), "%d %d %d"g_level[id], g_exp[id], g_reset[id]) 
    
fvault_set_data(g_datosSZNameSZData)


Last edited by l30nardo; 03-04-2013 at 20:14. Reason: error mio :P
l30nardo is offline
Send a message via Skype™ to l30nardo
chetah
Senior Member
Join Date: Jan 2013
Location: BangBros
Old 03-04-2013 , 17:55   Re: [Ayuda] Guardado de Datos
#4

Me tira 4 errores, todos en esta linea...
PHP Code:
g_level[id] = str_to_num(SZLevel);  g_exp[id] = str_to_num(SZExp); g_reset[id] = str_to_num(SZReset
__________________
Minecraft Mod: | %15
"Tomorrowland <3"
chetah is offline
ChileScripting
BANNED
Join Date: Jan 2013
Old 03-04-2013 , 19:17   Re: [Ayuda] Guardado de Datos
#5

Gente usando parse sin saber para lo que sirve...

Que errores?
ChileScripting is offline
l30nardo
Junior Member
Join Date: Dec 2012
Old 03-04-2013 , 20:25   Re: [Ayuda] Guardado de Datos
#6

decime segun vos para que exactamente sirve el parse.

ya que yo me fui guiando por el sistema de guardado+cuentas de kiske..
y tmb lo vi en otros guardados y asta ahora ami me funciona perfectamente con 23 variables en mi zp y oviamente lo testie al code que postie y tmb me funciona al igual que en otro post que postie el code este es similar y funciona
l30nardo is offline
Send a message via Skype™ to l30nardo
Bernii
BANNED
Join Date: Feb 2013
Location: Weed Land *-*
Old 03-05-2013 , 06:53   Re: [Ayuda] Guardado de Datos
#7

PHP Code:
#include nvault 
PHP Code:
Cargar(id), Guardar(id// Donde tu creas conveniente 
PHP Code:
 // Al final del ZP
/*================================================================================
 [Guardado NVAULT]
=================================================================================*/

// Public de Carga
public Cargar(id)
{
    
// Una simple Variable Timestamp, deben crearla
    
new timestamp
    
    
// creamos un vault nuevo, y entre las comillas ""
    // ponen el nombre qe quieren
    
new g_Vault nvault_open("zombie_nk")

    
// Creamos la Key, qe seria el nombre
    // la Data, qe sera lo qe va a contener, a los niveles y los AP
    // y por ultimo  szAmmos y szLevel, son para poder guardar cada uno
    
new name[32], key[40], data[200], szAmmos[15], szLevel[15], szClassZ[15], szRangeLevel[15], szUsed0[15], szUsed1[15], szH0[15], szH1[15], szH2[15], szH3[15], szH4[15], szZ0[15], szZ1[15], szZ2[15], szZ3[15], szZ4[15], szExp[15]
    
    
// obtenemos el nombre para Key
    
get_user_name(idnamecharsmax(name))
    
    
// esto es por si usa simbolos o espacios
    
formatex(keycharsmax(key), "^"%s^""name)
    
    
// Hacemos un lookup, para poder guardar mas de una variable
    
if(nvault_lookup(g_Vaultkeydatacharsmax(data), timestamp))
    {
    
// Hacemos un Parse para la data (para separarla y ponen las cosas en su lugar correspondiente),
    // qe contenga los ammos y el level, de esta manera:
    
parse(dataszAmmoscharsmax(szAmmos), szLevelcharsmax(szLevel), szClassZcharsmax(szClassZ), szRangeLevelcharsmax(szRangeLevel), szUsed0charsmax(szUsed0), szUsed1charsmax(szUsed1), szH2charsmax(szH2), szH3charsmax(szH3), szH4charsmax(szH4), szZ0charsmax(szZ0), szZ1charsmax(szZ1), szZ2charsmax(szZ2), szZ3charsmax(szZ3), szZ4charsmax(szZ4), szExpcharsmax(szExp))
        
    
// Pasamos los Ammo packs, la clase zombie
    // y el level, adentro del vault
    
g_ammopacks[id] = str_to_num(szAmmos)
    
g_level[id] = str_to_num(szLevel)
    
g_zombieclassnext[id] = str_to_num(szClassZ)
    
g_rangelevel[id] = str_to_num(szRangeLevel)
    
g_usedpoints[id][0] = str_to_num(szUsed0)
    
g_usedpoints[id][1] = str_to_num(szUsed1)
    
g_skill_points[id][0][0] = str_to_num(szH0)
    
g_skill_points[id][0][1] = str_to_num(szH1)
    
g_skill_points[id][0][2] = str_to_num(szH2)
    
g_skill_points[id][0][3] = str_to_num(szH3)
    
g_skill_points[id][0][4] = str_to_num(szH4)
    
g_skill_points[id][1][0] = str_to_num(szZ0)
    
g_skill_points[id][1][1] = str_to_num(szZ1)
    
g_skill_points[id][1][2] = str_to_num(szZ2)
    
g_skill_points[id][1][3] = str_to_num(szZ3)
    
g_skill_points[id][1][4] = str_to_num(szZ4)
    
g_exp[id] = str_to_num(szExp)
    
    }
    
    
// y lo cerramos
    
nvault_close(g_Vault)
}

// Public de Guardado
public Guardar(id)
{
    
// Creamos el vaul, con el mismo nombre qe el anterior,
    // tanto como la variable (g_Vault), como el nombre del vault
    // en este caso "zombie_vault"
    
new g_Vault nvault_open("zombie_nk")
    
    
// Creamos la Key, qe seria el nombre
    // y un Valor, para guardar los AP, el LEVEL y la clase de zombie qe este usando el player
    
new name[32], key[40], szValue[64]
    
    
// obtenemos el nombre para Key
    
get_user_name(idnamecharsmax(name))
    
    
// esto es por si usa simbolos o espacios
    
formatex(keycharsmax(key), "^"%s^""name)
    
    
// le damos un formato al value, para 3 variables
    
formatex(szValuecharsmax(szValue), "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d"g_ammopacks[id], g_level[id], g_zombieclassnext[id], g_rangename[g_rangelevel[id]], g_usedpoints[id][0], g_usedpoints[id][1], g_skill_points[id][0][0], g_skill_points[id][0][1], g_skill_points[id][0][2], g_skill_points[id][0][3], g_skill_points[id][0][4], g_skill_points[id][1][1], g_skill_points[id][1][2], g_skill_points[id][1][2], g_skill_points[id][1][3], g_skill_points[id][1][4], g_exp[id])
    
    
// Seteamos al vault, el valor y el nombre
    
nvault_set(g_VaultkeyszValue)
    
    
// cerramos
    
nvault_close(g_Vault)
}

public 
fw_ServerOff()
{
    
// Como pudieron notar
    // el serverOff no tiene ID
    // procedemos a crear un ID, con un LOOP
    
    
static id;
    for (
id 1id <= g_maxplayersid++)
    {
    
    
// checkeamos si esta conectado
    // para qe no lo haga 32 veces,
    // por qe el sv, puede llegar a estar 32/32 o no
    // y lo repita las veces nesesarias
        
if(is_user_connected(id))
        {
            
// Guardamos
            
Guardar(id)
        }
    }

Nota:Ese guardado lo incorpore en el ZA 1.0.4 cuando aun era new y no sabia nada de pawn.

Last edited by Bernii; 03-05-2013 at 06:54.
Bernii is offline
ChileScripting
BANNED
Join Date: Jan 2013
Old 03-05-2013 , 07:02   Re: [Ayuda] Guardado de Datos
#8

Parse se utiliza para ordenar datos.

Yo no ocupo parse no lo veo necesario.

Berni: Ese guardado es bien malo, y si posteas algo postealo entero...

PD: De hay tengo tiempo y te dejo uno decente.
ChileScripting is offline
Bernii
BANNED
Join Date: Feb 2013
Location: Weed Land *-*
Old 03-05-2013 , 07:05   Re: [Ayuda] Guardado de Datos
#9

Ese guardado funciona perfectamente y esta el code entero.Jo ahora uso fvault ese code es viejo y no lo uso.
Bernii is offline
chetah
Senior Member
Join Date: Jan 2013
Location: BangBros
Old 03-05-2013 , 12:18   Re: [Ayuda] Guardado de Datos
#10

Chile scripting si te dieras el tiempo, uff que te lo agradeceria, deveras lo nesecito y no solo para guardar las variables, si no que alguien me enseņe como hacerlo si mas adelante nesecito guardar otra cosa..

PD: NO ES PARA [ZP]

Variables que quiero guardar:
PHP Code:
new g_level[33]; 
new 
g_exp[33]; 
new 
g_reset[33];
new 
g_Clases[33]; 
__________________
Minecraft Mod: | %15
"Tomorrowland <3"

Last edited by chetah; 03-05-2013 at 12:18.
chetah is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 23:50.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode