AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Nvault to SqlVault (https://forums.alliedmods.net/showthread.php?t=172851)

pustypawel 11-26-2011 15:54

Nvault to SqlVault
 
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 :mrgreen:

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


All times are GMT -4. The time now is 08:26.

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