AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Writing the SQL Nvault (https://forums.alliedmods.net/showthread.php?t=194015)

dragooon 08-24-2012 14:53

Writing the SQL Nvault
 
Hi,

I have for you a request, to add a record, instead of writing SQL Nvault

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN    "System Monet"
#define AUTHOR    "kisiel96"
#define VERSION    "1.0.8"

#define ZADANIE_POKAZ_MONETY 666

#define VIP ADMIN_LEVEL_G

new nazwa_gracza[32][64],
identyfikator[32][64];

new 
monety[32];

new 
SyncHudObj;

new 
cvar_coins_kill,
cvar_coins_kill_hs,
cvar_coins_kill_vip,
cvar_coins_kill_hs_vip,

cvar_typ_zapisu;

new 
coins_kill,
coins_kill_hs,
coins_kill_vip,
coins_kill_hs_vip,

typ_zapisu;

new 
vault;

public 
plugin_init()
{    
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_event("DeathMsg""DeathMsg""a");
    
register_event("ResetHUD""ResetHUD""abe");
    
    
SyncHudObj CreateHudSyncObj();
        
    
cvar_coins_kill                    =     register_cvar("cod_coins_kill""1");
    
cvar_coins_kill_vip             =     register_cvar("cod_coins_kill_vip""2");
    
cvar_coins_kill_hs                 =     register_cvar("cod_coins_kill_hs""3");
    
cvar_coins_kill_hs_vip             =     register_cvar("cod_coins_kill_hs_vip""6");
        
    
cvar_typ_zapisu                 =     register_cvar("cod_savetype""0");
    
    
vault=nvault_open("monety");
    if(
vault == INVALID_HANDLE)
        
set_fail_state("Nie mozna otworzyc pliku");
}

public 
plugin_natives()
{
    
register_native("cod_get_user_coins""PobierzMonety"1);
    
register_native("cod_set_user_coins""UstawMonety"1);
}    

public 
client_authorized(id)
{
    
UsunMonety(id);
    
    
get_user_name(idnazwa_gracza[id], 63);
    
    
typ_zapisu get_pcvar_num(cvar_typ_zapisu);
    
    switch(
typ_zapisu)
    {
        case 
0:{
        
copy(identyfikator[id], 63nazwa_gracza[id]);
        
get_user_authid(ididentyfikator[id], 63);
        
get_user_ip(ididentyfikator[id], 63);
        }
        case 
1copy(identyfikator[id], 63nazwa_gracza[id]);
        case 
2get_user_authid(ididentyfikator[id], 63);
        case 
3get_user_ip(ididentyfikator[id], 63);
    }
    
    
Wczytaj(id);
}

public 
client_connect(id)
    
Wczytaj(id);

public 
client_disconnect(id)
{
    
Zapisz(id);
    
UsunMonety(id)
}

public 
plugin_end()
    
nvault_close(vault);

/////RESET MONET/////

public UsunMonety(id)
    
monety[id] = 0;

/////ZLICZNIE MONET/////

public DeathMsg()
{
    new 
kid read_data(1);
    new 
vid read_data(2);
    new 
hs read_data(3);
    
    if(
kid == vid)
        return;
            
    
coins_kill get_pcvar_num(cvar_coins_kill);
    
coins_kill_vip     get_pcvar_num(cvar_coins_kill_vip);
    
coins_kill_hs get_pcvar_num(cvar_coins_kill_hs);
    
coins_kill_hs_vip get_pcvar_num(cvar_coins_kill_hs_vip);
    
    if(
get_user_flags(kid) & VIP)
    {
        if(
hs == 1)
            
monety[kid] += coins_kill_hs_vip;
        else
            
monety[kid] += coins_kill_vip;
    }
    else
    {
        if(
hs == 1)
            
monety[kid] += coins_kill_hs;
        else
            
monety[kid] += coins_kill;
    }
}

/////HUD/////

public PokazMonety(id)
{
    
id -= ZADANIE_POKAZ_MONETY;
    
    if(!
is_user_alive(id))
    {
        
remove_task(id+ZADANIE_POKAZ_MONETY);
        return;
    }
    
    
set_hudmessage(025500.020.2300.00.30.00.0);
    
ShowSyncHudMsg(idSyncHudObj"^n^n^n^n^n^n^n[Monety: %i]"monety[id]);
}

public 
ResetHUD(id)
{
    if(!
task_exists(id+ZADANIE_POKAZ_MONETY))
        
set_task(0.1"PokazMonety"id+ZADANIE_POKAZ_MONETY__"b");
}

/////NATYWY/////

public UstawMonety(idwartosc)
{
    
monety[id] = wartosc
}

public 
PobierzMonety(id)
    return 
monety[id];

/////NVAULT/////

public Zapisz(id)
{
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-monety"identyfikator[id]);
    
format(vaultdata255"%d#"monety[id]);
    
nvault_set(vaultvaultkeyvaultdata);
    
    return 
PLUGIN_CONTINUE
}

public 
Wczytaj(id)
{
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-monety"identyfikator[id]);
    
format(vaultdata255"%d#"monety[id]);
    
nvault_get(vaultvaultkeyvaultdata,255);
    
    
replace_all(vaultdata255"#"" ");
    
    new 
monetytemp[33];
    
parse(vaultdatamonetytemp32);
    
    
monety[id] = str_to_num(monetytemp);
    
    return 
PLUGIN_CONTINUE
}  

//////////////////////////////// 



All times are GMT -4. The time now is 05:45.

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