AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Sql little help pls (https://forums.alliedmods.net/showthread.php?t=226274)

Cigojlo 09-15-2013 18:01

Sql little help pls
 
Hey guys i need a litle help, im using sql bank on zp sever but very rare when i lost connection with sql remote after map change my server crash, idk is this good on plugin end, and can i stop connect if i lost connection from sql database, i mean to stop connection if sql connection die,to prevent server crash on map change, thank in advance here it is

and here is original plugin but with original many times bank not loaded on mapchange without edited plugin end

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <sqlx>
#include <zombieplague>
#include <colorchat>

#pragma semicolon 1

#if !defined MAX_PLAYERS
    #define MAX_PLAYERS 32
#endif

new PLUGIN_NAME[] = "[ZP]Addons: Bank SQL";
new 
PLUGIN_VERSION[] = "0.9.2";
new 
PLUGIN_AUTHOR[] = "Epmak";
new 
PLUGIN_PREFIX[] = "[ZP][Bank]";

enum vars_struct 
    
mode=0,
    
annonce,
    
    
save_limit,
    
save_days,
    
save_type,
    
    
block_cname,
    
startedammo,
    
allow_passwd,
    
allow_donate,
    
    
bool:round_end,
    
    
_pw_str[32],
    
table[32],
    
config_dir[128]
};

enum bank_struct {
    
bool:ingame,
    
bool:async,
    
bool:loggin,
    
auth[36],
    
passwd[32],
    
amount
}

new 
g_vars[vars_struct];
new 
g_Bank[MAX_PLAYERS+1][bank_struct];
new 
Handle:g_Sql Empty_Handle,Handle:g_SqlTuple Empty_Handle;

public 
plugin_init()
{
    
register_plugin(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR);
    
register_cvar("zp_bank_sql"PLUGIN_VERSIONFCVAR_SERVER);
    
    
register_dictionary("zp_bank.txt");
    
register_dictionary("common.txt");
    
    
register_clcmd("say""handle_say");
    
register_clcmd("say_team""handle_say");
    
    
register_concmd("zp_bank_show""cmdBankShow"ADMIN_ADMIN);
    
register_concmd("zp_bank_set""cmdBankSet"ADMIN_RCON"<name or #userid> <+ or ->amount");
    
    
g_vars[startedammo] = get_cvar_pointer("zp_starting_ammo_packs");
    
    
register_srvcmd("zp_bank_connect""db_connect");
    
    
register_forward(FM_ClientUserInfoChanged"fwClientUserInfoChanged");
    
    
server_cmd("zp_bank_connect");
}

public 
plugin_precache()
{
    
get_configsdir(g_vars[config_dir], 127);
    
    
g_vars[mode] = register_cvar("zp_bank""1");
    
g_vars[annonce] = register_cvar("zp_bank_annonce""360.0");
    
g_vars[save_limit] = register_cvar("zp_bank_save_limit""1000");
    
g_vars[save_days] = register_cvar("zp_bank_save_days""24");
    
g_vars[save_type] = register_cvar("zp_bank_save_type""2");
    
g_vars[block_cname] = register_cvar("zp_bank_block_name_change""1");
    
g_vars[allow_passwd] = register_cvar("zp_bank_allow_passwd""1");
    
g_vars[allow_donate] = register_cvar("zp_bank_allow_donate""1");
    
    
register_cvar("zp_bank_host""127.0.0.1");
    
register_cvar("zp_bank_user""root");
    
register_cvar("zp_bank_pass""");
    
register_cvar("zp_bank_db""amxx");
    
register_cvar("zp_bank_type""mysql");
    
register_cvar("zp_bank_table""zp_bank");
    
register_cvar("zp_bank_pw_str""_bpw");
    
    
server_cmd("exec %s/zp_bank.cfg"g_vars[config_dir]);
    
server_exec();
}

public 
plugin_cfg()
{
    
g_vars[mode] = get_pcvar_num(g_vars[mode]);
    
g_vars[save_limit] = get_pcvar_num(g_vars[save_limit]);
    
g_vars[save_days] = get_pcvar_num(g_vars[save_days]);
    
g_vars[save_type] = get_pcvar_num(g_vars[save_type]);
    
g_vars[block_cname] = get_pcvar_num(g_vars[block_cname]);
    
g_vars[allow_passwd] = get_pcvar_num(g_vars[allow_passwd]);
    
g_vars[allow_donate] = get_pcvar_num(g_vars[allow_donate]);
    
    if(
g_vars[save_limit] < 0g_vars[save_limit] = 0;
    
    if(
get_pcvar_num(g_vars[annonce]))
        
set_task(get_pcvar_float(g_vars[annonce]), "print_annonce",_,_,_,"b");
    
    
get_cvar_string("zp_bank_pw_str"g_vars[_pw_str], 31);


public 
plugin_end()
{
    if(
g_Sql != Empty_HandleSQL_FreeHandle(g_Sql);
    if(
g_SqlTuple != Empty_HandleSQL_FreeHandle(g_SqlTuple);
}

public 
zp_round_started(gamemodeid)
{
    
g_vars[round_end] = false;
}

public 
zp_round_ended(winteam)
{
    if (!
g_vars[mode] || g_Sql == Empty_Handle)
        return ;
    
    static 
i;
    for(
i=1;i<=MAX_PLAYERS;i++)
    {
        if(!
g_Bank[i][ingame] || !g_Bank[i][loggin] || !g_Bank[i][async])
            continue;
        
        
SaveClientBank(i);
    }
    
    
g_vars[round_end] = true;
}

public 
client_connect(id)
{
    if (!
g_vars[mode])
        return ;
    
    
GetAuthId(idg_Bank[id][auth],35);
    
    
g_Bank[id][amount] = 0;
    
g_Bank[id][async] = false;
    
g_Bank[id][loggin] = false;
    
    if(
g_vars[mode] == 2)
        
zp_set_user_ammo_packs(idget_pcvar_num(g_vars[startedammo]));
    
    
LoadClientBank(id);
}

public 
client_putinserver(id)
{
    
g_Bank[id][ingame] = true;
    
    if(
g_Bank[id][async] == true && g_Bank[id][loggin] == true)
        
SetAmmoBank(idg_Bank[id][amount]);
}

public 
client_disconnect(id)
{
    if (!
g_vars[mode] || g_Sql == Empty_Handle)
        return ;
    
    if(
g_vars[round_end] == false && g_Bank[id][async] == true && g_Bank[id][loggin] == true)
        
SaveClientBank(id);
    
    
g_Bank[id][ingame] = false;
    
g_Bank[id][auth][0] = '^0';
    
g_Bank[id][passwd][0] = '^0';
}

public 
cmdBankShow(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED;
    
    static 
pl_name[32], pl_amount[11], i;
    
console_print(id"%33s amount","name");
    for(
i=1;i<=MAX_PLAYERS;i++)
    {
        if(!
g_Bank[i][ingame]) continue;
        
        
get_user_name(i,pl_name,31);
        
        if(!
g_Bank[i][async])
            
pl_amount "not loaded";
        else if(!
g_Bank[i][loggin])
            
pl_amount "not loggin";
        else
            
num_to_str(GetAmmoBank(i),pl_amount,10);
        
        
console_print(id"%33s %s"pl_namepl_amount);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
cmdBankSet(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED;
    
    static 
s_player[32], players_amount[12], i_amount;
    
read_argv(1s_player31);
    
player cmd_target(ids_playerCMDTARGET_ALLOW_SELF);
    
    if (!
player)
        return 
PLUGIN_HANDLED;
    
    
get_user_name(player,s_player,31);
    if(!
g_Bank[player][async])
    {
        
console_print(id,"The player '%s' has not loaded bank"s_player);
        return 
PLUGIN_HANDLED;
    }
    else if(!
g_Bank[player][loggin])
    {
        
console_print(id,"The player '%s' has not loggin bank"s_player);
        return 
PLUGIN_HANDLED;
    }
    
    
read_argv(2s_amount11);
    
remove_quotes(s_amount);
    
i_amount str_to_num(s_amount);
    
    switch(
s_amount[0])
    {
        case 
'+':
            
SetAmmoBank(playerGetAmmoBank(player)+i_amount);
        case 
'-':
            
SetAmmoBank(playerGetAmmoBank(player)-(0-i_amount));
        default:
            
SetAmmoBank(player,i_amount);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
print_annonce()
{
    if (!
g_vars[mode] || g_Sql == Empty_Handle)
        return ;
    
    
ColorChat(0CHATCOLOR_GREY"%L"LANG_PLAYER"BANK_ANNOUNCE1");
    if(
g_vars[mode] == 1)
    {
        
ColorChat(0CHATCOLOR_GREY"%L"LANG_PLAYER"BANK_ANNOUNCE2");
        
ColorChat(0CHATCOLOR_GREY"%L"LANG_PLAYER"BANK_ANNOUNCE3");
    }
    else
    {
        
ColorChat(0CHATCOLOR_GREY"%L"LANG_PLAYER"BANK_ANNOUNCE4");
    }
}

public 
db_loadcurrent()
{
    for(new 
i=1;i<=MAX_PLAYERS;i++)
    {
        if(
g_Bank[i][async] || !g_Bank[i][ingame]) continue;
        
        
LoadClientBank(i);
    }
}

public 
db_connect(count)
{
    if(!
g_vars[mode])
        return ;
    
    new 
host[64], user[32], pass[32], db[128];
    new 
get_type[13], set_type[12];
    new 
error[128], errno;
    
    
get_cvar_string("zp_bank_host"host63);
    
get_cvar_string("zp_bank_user"user31);
    
get_cvar_string("zp_bank_pass"pass31);
    
get_cvar_string("zp_bank_type"set_type11);
    
get_cvar_string("zp_bank_db"db127);
    
get_cvar_string("zp_bank_table"g_vars[table], 31);
    
    if(
is_module_loaded(set_type) == -1)
    {
        
server_print("^r^n%s error: module '%s' not loaded.^r^n%s Add line %s to %s/modules.ini and restart server^r^n"PLUGIN_PREFIXset_typePLUGIN_PREFIXset_typeg_vars[config_dir]);
        return ;
    }
    
    
SQL_GetAffinity(get_type12);
    
    if (!
equali(get_typeset_type))
        if (!
SQL_SetAffinity(set_type))
            
log_amx("Failed to set affinity from %s to %s."get_typeset_type);
    
    
g_SqlTuple SQL_MakeDbTuple(hostuserpassdb);
    
    
g_Sql SQL_Connect(g_SqlTupleerrnoerror127);
    
    if (
g_Sql == Empty_Handle)
    {
        
server_print("%s SQL Error #%d - %s"PLUGIN_PREFIXerrnoerror);
        
        
count += 1;
        
set_task(10.0"db_connect"count);
        
        return ;
    }
    
    
SQL_QueryAndIgnore(g_Sql"SET NAMES utf8");
    
    if (
equali(set_type"sqlite") && !sqlite_TableExists(g_Sqlg_vars[table])) SQL_QueryAndIgnore(g_Sql"CREATE TABLE %s (auth VARCHAR(36) PRIMARY KEY, password VARCHAR(32) NOT NULL DEFAULT '', amount INTEGER DEFAULT 0, timestamp INTEGER NOT NULL DEFAULT 0)",g_vars[table]);
    else if (
equali(set_type"mysql")) SQL_QueryAndIgnore(g_Sql,"CREATE TABLE IF NOT EXISTS `%s` (`auth` VARCHAR(36) NOT NULL, `password` VARCHAR(32) NOT NULL DEFAULT '', `amount` INT(10) NOT NULL DEFAULT 0, `timestamp` INT(10) NOT NULL DEFAULT 0, PRIMARY KEY (`auth`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"g_vars[table]);
    
    
CleanDataBase();
    if(
count 1)
        
db_loadcurrent();
    
    
server_print("%s connected to: '%s://%s:****@%s/%s/%s'",PLUGIN_PREFIXset_typeuserhostdbg_vars[table]);
}

public 
CleanDataBase()
{
    
SQL_QueryAndIgnore(g_Sql"DELETE FROM %s WHERE amount='0' AND password = '';"g_vars[table]);
    
    if (!
g_vars[save_days]) return ;
    
    new 
curTime get_systime();
    
curTime -= ((g_vars[save_days] * 24) * 3600);
    
    
SQL_QueryAndIgnore(g_Sql,"DELETE FROM %s WHERE timestamp < '%d';"g_vars[table], curTime);
}

public 
fwClientUserInfoChanged(idbuffer)
{
    if (!
g_vars[mode] || !is_user_connected(id))
        return 
FMRES_IGNORED;
    
    new 
name[32], val[32], name_1[] = "name";
    
get_user_name(idname31);
    
engfunc(EngFunc_InfoKeyValuebuffername_1val31);
    if (
equal(valname))
        return 
FMRES_IGNORED;
    
    if(
g_vars[block_cname])
    {
        
engfunc(EngFunc_SetClientKeyValueidbuffername_1name);
        
client_cmd(id"name ^"%s^"; setinfo name ^"%s^""namename);
        
console_print(id"%L"id ,"NO_NAME_CHANGE");
    }
    else
    {
        
GetAuthId(id,g_Bank[id][auth],35);
        return 
FMRES_IGNORED;
    }
 
    return 
FMRES_SUPERCEDE;
}

public 
handle_say(id)
{
    if(!
g_vars[mode])
    {
        
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_DISABLED");
        
        return 
PLUGIN_CONTINUE;
    }
    else if(
g_Sql == Empty_Handle)
    {
        
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_ERR");
        
        return 
PLUGIN_CONTINUE;
    }
    else if (!
g_Bank[id][async])
        return 
PLUGIN_CONTINUE;
    
    new 
text[60], command[16], command2[32], password[32], set_packs;
    
read_args(text59);
    
remove_quotes(text);
    
    
command[0] = '^0';
    
command2[0] = '^0';
    
password[0] = '^0';
    
parse(textcommand15command231password31);
    
    if (
equali(command"/"1))
        
format(command15command[1]);
    
    if (
g_vars[allow_donate] && equali(command"donate"6))
    {
        
donate(idcommand2str_to_num(password));
    }
    else if (
equali(command"mybank"6) || equali(command"bank"4))
    {
        if(
g_vars[save_type] == && g_vars[allow_passwd])
        {
            if(
equali(command2"login"5))
            {
                if(
g_Bank[id][loggin]) {
                    
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN_ALREADY");
                    return 
PLUGIN_HANDLED;
                }
                
                if(
g_Bank[id][passwd][0] && equal(passwordg_Bank[id][passwd]))
                {
                    
g_Bank[id][loggin] = true;
                    
SetAmmoBank(idg_Bank[id][amount]);
                    
client_cmd(id"setinfo %s ^"%s^""g_vars[_pw_str], password);
                    
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN_SUCCESS");
                }
                else
                {
                    
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN_BAD");
                }
                
                return 
PLUGIN_HANDLED;
            }
            else if(!
g_Bank[id][loggin])
            {
                
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN");
                return 
PLUGIN_HANDLED;
            }
            else if(
equali(command2"password"8))
            {
                if(
password[0])
                {
                    
g_Bank[id][passwd] = password;
                    
client_cmd(id"setinfo %s ^"%s^""g_vars[_pw_str], password);
                    
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN_PASSWORD_SET"g_Bank[id][passwd]);
                }
                else
                {
                    
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN_PASSWORD"g_Bank[id][passwd]);
                }
                return 
PLUGIN_HANDLED;
            }
            else if(!
g_Bank[id][passwd][0])
                
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_LOGIN_PASSWORD_SETHELP");
        }
        
        if(
g_vars[mode] == 2)
        {
            
ColorChat(idCHATCOLOR_GREY"%L"LANG_PLAYER"BANK_ANNOUNCE4");
            return 
PLUGIN_CONTINUE;
        }
        
        
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK"g_Bank[id][amount]);    
        
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_ANNOUNCE2");
        
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_ANNOUNCE3");
    }
    else if (
g_vars[mode] == 2)
        return 
PLUGIN_CONTINUE;
    else if (
equali(command"deposit"7) || equali(command"send"4) || equali(command"store"5))
    {
        new 
user_ammo_packs zp_get_user_ammo_packs(id);
        
        if (
equali(command2"all")) set_packs user_ammo_packs;
        else 
set_packs str_to_num(command2);
        
        new 
limit_exceeded=false;
        
        if (
g_vars[save_limit] && set_packs && g_Bank[id][amount] + set_packs g_vars[save_limit])
        {
            new 
overflow g_Bank[id][amount] + set_packs g_vars[save_limit];
            
set_packs -= overflow;
            
            
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"DEPOSIT_MAX"g_vars[save_limit]);
            
            
limit_exceeded true;
        }
        
        if (
set_packs 0)
        {
            if (
user_ammo_packs >= set_packs)
            {
                
g_Bank[id][amount] += set_packs;
                
zp_set_user_ammo_packs(iduser_ammo_packs set_packs);
                
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"DEPOSIT"set_packsg_Bank[id][amount]);
            }
            else
                
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"DEPOSIT_ERR"set_packsuser_ammo_packs);
            
            return 
PLUGIN_HANDLED;
        }
        else if(!
limit_exceeded)
            
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_ANNOUNCE2");
    }
    else if (
equali(command"withdraw"8) || equali(command"take"4) || equali(command"retrieve"8) || equali(command"wd"2))
    {
        new 
user_ammo_packs zp_get_user_ammo_packs(id);
        
        if (
equali(command2"all")) set_packs g_Bank[id][amount];
        else 
set_packs str_to_num(command2);
        
        if (
set_packs 0)
        {
            if (
g_Bank[id][amount] >= set_packs)
            {
                
zp_set_user_ammo_packs(iduser_ammo_packs set_packs);
                
g_Bank[id][amount] -= set_packs;
                
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"WITHDRAW"set_packsg_Bank[id][amount]);
            }
            else
                
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"WITHDRAW_ERR"set_packsg_Bank[id][amount]);
            
            return 
PLUGIN_HANDLED;
        }
        else
            
ColorChat(idCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_ANNOUNCE3");
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
donate(donater, const reciever_name[], ammo)
{
    if(!
reciever_name[0] || ammo <= || zp_get_user_ammo_packs(donater) < ammo)
    {
        
ColorChat(donaterCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"BANK_DONATE_USAGE");
        return ;
    }
    
    new 
reciever cmd_target(donaterreciever_nameCMDTARGET_ALLOW_SELF);
    if (!
reciever || reciever == donater)
    {
        
ColorChat(donaterCHATCOLOR_GREY"$g%s$t %L"PLUGIN_PREFIXLANG_PLAYER"CL_NOT_FOUND");    
        return ;
    }
    
    
zp_set_user_ammo_packs(donaterzp_get_user_ammo_packs(donater)-ammo);
    
zp_set_user_ammo_packs(recieverzp_get_user_ammo_packs(reciever)+ammo);
}

public 
LoadClientBank(id)
{
    if (
g_SqlTuple == Empty_Handle || g_Sql == Empty_Handle || g_Bank[id][async] == true)
        return ;
    
    new 
szQuery[120];
    
format(szQuery119,"SELECT amount,password FROM %s WHERE auth='%s';"g_vars[table], g_Bank[id][auth]);
    
    new 
szData[2];
    
szData[0] = id;
    
szData[1] = get_user_userid(id);
    
    
SQL_ThreadQuery(g_SqlTuple"LoadClient_QueryHandler"szQueryszData2);
}

public 
LoadClient_QueryHandler(iFailStateHandle:hQueryszError[], iErrnumszData[], iSizeFloat:fQueueTime)
{
    if(
iFailState != TQUERY_SUCCESS)
    {
        
log_amx("%s SQL Error #%d - %s"PLUGIN_PREFIXiErrnumszError);
        return ;
    }
    
    new 
id szData[0];
    
    if (
szData[1] != get_user_userid(id))
        return ;
    
    new 
packs=0,info_pw[32];
    
    if(
g_vars[mode] == 2)
        
packs get_pcvar_num(g_vars[startedammo]);
    
    if(
SQL_NumResults(hQuery))
    {
        
packs SQL_ReadResult(hQuerySQL_FieldNameToNum(hQuery"amount"));
        
SQL_ReadResult(hQuerySQL_FieldNameToNum(hQuery"password"), g_Bank[id][passwd], 31);
    }
    
    
g_Bank[id][amount] = CheckLimit(packs);
    if(
g_vars[allow_passwd] && g_Bank[id][passwd][0])
    {
        
get_user_info(id,g_vars[_pw_str],info_pw,31);
        if(
equal(info_pwg_Bank[id][passwd]))
        {
            
g_Bank[id][loggin] = true;
        }
    }
    else
        
g_Bank[id][loggin] = true;
    
    if(
g_Bank[id][ingame] == true && g_Bank[id][loggin] == true)
    {
        
SetAmmoBank(idg_Bank[id][amount]);
    }
    
g_Bank[id][async] = true;
}

public 
SaveClientBank(id)
{
    if (
g_Sql == Empty_Handle)
        return ;
    
    new 
packs GetAmmoBank(id);
    
packs CheckLimit(packs);
    
    
SQL_QuoteString(g_Sqlg_Bank[id][passwd], 31g_Bank[id][passwd]);
    
SQL_QueryAndIgnore(g_Sql"REPLACE INTO %s (auth,password,amount,timestamp) VALUES('%s', '%s', %d, %d);"g_vars[table], g_Bank[id][auth], g_Bank[id][passwd], packsget_systime());
}

stock GetAuthId(idBuffer[]=""BufferSize=0)
{
    switch(
g_vars[save_type])
    {
        case 
1get_user_authid(id,Buffer,BufferSize);
        case 
2:
        {
            new 
name[32];
            
get_user_name(id,name,31);
            
SQL_QuoteString(g_SqlBufferBufferSizename);
        }
        case 
3get_user_ip(id,Buffer,BufferSize,true);
    }
}

public 
CheckLimit(packs)
{
    if(
g_vars[save_limit] && packs g_vars[save_limit])
    {
        
packs g_vars[save_limit];
    }
    return 
packs;
}

public 
SetAmmoBank(idpacks)
{
    if(
g_vars[mode] == 2)
        
zp_set_user_ammo_packs(id,packs);
    else
        
g_Bank[id][amount] = packs;
}

public 
GetAmmoBank(id)
{
    if(
g_vars[mode] == 2)
        return 
zp_get_user_ammo_packs(id);
    
    return 
g_Bank[id][amount];



Clauu 09-15-2013 18:44

Re: Sql little help pls
 
Your problem is not from plugin end because you must first check for any connection before freeing something so the original code is ok.

Cigojlo 09-15-2013 18:52

Re: Sql little help pls
 
thanks i will bring back original code


All times are GMT -4. The time now is 19:10.

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