|
New Member
|

11-26-2011
, 15:54
Nvault to SqlVault
|
#1
|
Hello. I'm from poland so i'm sory for me bad english.
How i can trade this save and load data (in nvault)
Code:
public plugin_init(){
//....
vault = nvault_open("CodMod")
//...
}
//me code
public ZapiszDane(id)
{
if(!klasa_gracza[id])
return PLUGIN_CONTINUE;
new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa_gracza[id]], typ_zapisu);
nvault_set(vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE;
}
public WczytajDane(id, klasa)
{
new vaultkey[128],vaultdata[256], identyfikator[64];
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa], typ_zapisu);
replace_all(vaultdata, 255, "#", " ");
new danegracza[6][32];
parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);
doswiadczenie_gracza[id] = str_to_num(danegracza[0]);
poziom_gracza[id] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
inteligencja_gracza[id] = str_to_num(danegracza[2]);
zdrowie_gracza[id] = str_to_num(danegracza[3]);
wytrzymalosc_gracza[id] = str_to_num(danegracza[4]);
kondycja_gracza[id] = str_to_num(danegracza[5]);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
return PLUGIN_CONTINUE;
}
for sqlvault from this topic:
http://forums.alliedmods.net/showthread.php?t=146849
And me second question is: Are there any errors sqlvault.
Plis don't hit me from me anglish
Thanks in advance
@@ edit
Ok i have. So i have question: whether it will work?
Code:
/* Script generated by Pawn Studio */
#include <amxmisc>
#include <sqlvault>
#include <nvault>
#define PLUGIN "New Plugin"
#define AUTHOR "Unknown"
#define VERSION "1.0"
new VaultName[] = "CodMod";
new SQLVault:g_hVault;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_hVault = sqlv_open_local(VaultName);
}
public ZapiszDane(id)
{
if(!klasa_gracza[id])
return PLUGIN_CONTINUE;
new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
format(vaultkey, charsmax(vaultkey),"%s-%s-cod", identyfikator, nazwy_klas[klasa_gracza[id]]);
sqlv_set_data(g_hVault, vaultkey, vaultdata)
return PLUGIN_CONTINUE;
}
public WczytajDane(id, klasa)
{
new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultkey, charsmax(vaultkey),"%s-%s-cod", identyfikator, nazwy_klas[klasa]);
sqlv_get_data(g_hVault, vaultkey, vaultdata)
replace_all(vaultdata, 255, "#", " ");
new danegracza[6][32];
parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);
doswiadczenie_gracza[id] = str_to_num(danegracza[0]);
poziom_gracza[id] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
inteligencja_gracza[id] = str_to_num(danegracza[2]);
zdrowie_gracza[id] = str_to_num(danegracza[3]);
wytrzymalosc_gracza[id] = str_to_num(danegracza[4]);
kondycja_gracza[id] = str_to_num(danegracza[5]);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
return PLUGIN_CONTINUE;
}
Of course, this is the same record I'll add it to the main file
@@ edit 2
I have error on this line:
Code:
sqlv_get_data(g_hVault, vaultkey, vaultdata)
I know
Code:
sqlv_get_data(SQLVault:hVault, szKey[], szData[], iDataLen, &iTimeStamp = 0)
but i don't know what I write on iDataLen
Last edited by pustypawel; 11-26-2011 at 16:19.
Reason: I tried the same
|
|