Raised This Month: $51 Target: $400
 12% 

I need help here Bank Register.


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
plazma
Senior Member
Join Date: Oct 2013
Old 12-29-2016 , 05:57   I need help here Bank Register.
Reply With Quote #1

I'll post the registration system + bank.

it works perfectly, but when the server drops from nothing, anyone with ammopacks off the bench, loses all ammopacks.

I was wondering if you or anyone knows how to do when the server goes down, all the packs save, and be deposited in the bank, I need to fix this problem guys please..

Merci mercii


PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <dhudmessage>
#include <fakemeta>
#include <fvault>
#include <zombieplague>

const KEYSMENU MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
 
enum
{
        
REGS_ACCEPTED,
        
REGS_LOCKED,
        
BANK_ACCEPTED,
        
BANK_LOCKED
}

new const 
register_dados[] = "zp_register"
new const bank_dados[] = "zp_bank"

#define is_valid_player(%1) (1 <= %1 <= 32)
#define ADMIN_LEVEL ADMIN_IMMUNITY

new name[33][100]
new 
password[33][100]
new 
name_log[33][100]
new 
password2[33][100]
new 
g_name[33][100]
new 
g_tentativas[33]

new 
bool:loggedin[33]

new 
cvar_menustylecvar_punhishcvar_tentativascvar_bantimeg_pMaxAmmoPacks

new bool:g_bSawMotd[33]
#define MOTD_FLAG_ARG 1
#define MOTD_FLAG_END 1
#define m_iMenuCode 205

new PlayerID[33]

new 
szText[555 char]

public 
plugin_init()
{
    
register_plugin("[ZP] Register + Bank""2.5""Mottzi/GuhRDS")
    
register_dictionary("zp_GuhRDS.txt")

    
cvar_menustyle    register_cvar("zp_menu_style""1")            //
    
cvar_punhish    register_cvar("zp_error-pass_punish""2")        // 1 - Kick | 2 - Ban
    
cvar_tentativas register_cvar("zp_error-pass_amount""3")        // Errar 3 Vezes
    
cvar_bantime    register_cvar("zp_error-pass_punish-bantime""5")    // Tempo do Ban
    
g_pMaxAmmoPacks register_cvar("zpbank_max_ammopacks""100")

    
register_clcmd("jointeam""check_status")
    
register_clcmd("chooseteam""check_status")
    
register_clcmd("say""HookSayCommands")
    
register_clcmd("say_team""HookSayCommands")

    
register_clcmd("[Registrar]Login_Nome""cmd_register_loginname_check")
    
register_clcmd("[Registrar]Login_Senha""cmd_register_loginpw_check")
    
register_clcmd("[Logar]Login_Nome""cmd_login_loginname_check")
    
register_clcmd("[Logar]Login_Senha""cmd_login_loginpw_check")
    
register_clcmd("[Banco]Sacar_Quantidade""cmd_bank_withdrawamount_check")
    
register_clcmd("[Banco]Depositar_Quantidade""cmd_bank_depositamount_check")

    
register_concmd("zp_account_list""cmdShowList"ADMIN_LEVEL"zp_account_list")
    
register_concmd("zp_account_setap""cmdSetAp"ADMIN_LEVEL"zp_account_setap <Nome da Conta> <Quantiade de Ammo Packs>")

    
register_message(get_user_msgid("ShowMenu"), "message_ShowMenu")
    
register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu")
    
register_message(get_user_msgid("MOTD"), "message_MOTD")

    
register_logevent("round_first"2"0=World triggered""1&Restart_Round_")
    
register_logevent("round_first"2"0=World triggered""1=Game_Commencing")

    
register_menu("Register"KEYSMENU"cmd_register_menu_handler1")
    
register_menu("Bank"KEYSMENU"cmd_bank_menu_handler1")
}

public 
plugin_precache()
{
    
precache_sound("GuhRDS/regs_accepted_v2.wav")
    
precache_sound("GuhRDS/regs_locked_v2.wav")
    
precache_sound("GuhRDS/bank_accepted_v2.wav")
    
precache_sound("GuhRDS/bank_locked_v2.wav")
}

public 
client_connect(id)
{
    
remove_task(id)
}

public 
client_putinserver(id)
{
    
g_bSawMotd[id] = false

    loggedin
[id] = false
    g_tentativas
[id] = 0
    g_name
[id] = "Nao esta Logado"

    
set_task(1.0"check_status"id)

    return 
PLUGIN_CONTINUE
}

public 
client_disconnect(id)
{
    
cmdsave(id)
    
    
loggedin[id] = false
    g_tentativas
[id] = 0
    g_name
[id] = "Nao esta Logado"
    
    
remove_task(id)
}

public 
check_status(id)
{
    new 
players[32], pnumtempid;
    
get_players(playerspnum);

    for(new 
ii<pnumi++)
    {
        
tempid players[i];

        if(!
loggedin[tempid])
        {
            
cmd_register_menu(id)
            
set_task(60.0"check_login"id)
        }
    }
}

public 
zp_round_ended(winteam)
{
    new 
iPlayers[32], iCountiPlayeriNumiPacks
    get_players
(iPlayersiCount)
    new 
iMaxAmmoPacks get_pcvar_num(g_pMaxAmmoPacks)
    
    for(new 
iiCounti++)
    {
        
iPlayer iPlayers[i]
        
iPacks zp_get_user_ammo_packs(iPlayer)
        
        if(
iPacks iMaxAmmoPacks)
        {
            
iNum iPacks iMaxAmmoPacks
            zp_set_user_ammo_packs
(iPlayeriMaxAmmoPacks)
            
            new 
data1[30]; fvault_get_data(bank_dadosg_name[iPlayer], data1charsmax(data1))
            new 
aps_bank str_to_num(data1)

            new 
save_aps aps_bank iNum

            num_to_str
(save_apsdata1charsmax(data1))
            
fvault_set_data(bank_dadosg_name[iPlayer], data1)
        }
    }
}
            
        

public 
check_login(id)
{
    if(
loggedin[id] == false)
    {
        
server_cmd("kick #%i Nao logou"get_user_userid(id))

        new 
Nick[33], Ip[13], SteamID[51]

        
get_user_ip(idIp[id], 12)
        
get_user_authid(idSteamID[id], 50)
        
get_user_name(idNick[id], 32)
        
        
LogsNotLogged("------------------------------------------------------------------------------------------------------------------------")
        
LogsNotLogged("Registro: Jogador Kickado | Motivo: N?o Logou")
        
LogsNotLogged("Jogador: Nome: %s"Nick[id])
        
LogsNotLogged("Jogador: IP: %s"Ip[id])
        
LogsNotLogged("Jogador: SteamID: %s"SteamID[id])
        
LogsNotLogged("------------------------------------------------------------------------------------------------------------------------")
    }
}

////////////////////////////////////////////////////////////////////////////
///////////////////////// Hooks Select Team & Motd /////////////////////////
////////////////////////////////////////////////////////////////////////////

public message_ShowMenu(iMsgIDiDestiReceiver)
{
    new const 
Team_Select[] = "#Team_Select"
    
    
new szMenu[sizeof(Team_Select)]
    
get_msg_arg_string(4szMenucharsmax(szMenu))
    
    if(!
equal(szMenuTeam_Select))
    {
        return 
PLUGIN_CONTINUE
    
}
    
set_pdata_int(iReceiverm_iMenuCode0)
    
    return 
PLUGIN_HANDLED
}

public 
message_VGUIMenu(iMsgIDiDestiReceiver)
{
    if(
get_msg_arg_int(1) != 2)
    {
        return 
PLUGIN_CONTINUE
    
}
    return 
PLUGIN_HANDLED;
}

public 
message_MOTD(msgiddestid)
{
    if(!
g_bSawMotd[id])
    {
        if(
get_msg_arg_int(MOTD_FLAG_ARG) == MOTD_FLAG_END)
        {
            
g_bSawMotd[id] = true
        
}
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_CONTINUE
}

/////////////////////////////////////////////////////////////////////
///////////////////////// Events First Round/////////////////////////
/////////////////////////////////////////////////////////////////////

public round_first()
{
    
set_cvar_num("mp_limitteams"0)
    
set_cvar_num("mp_autoteambalance"0)
    
set_cvar_num("sv_restartround"1)
}

///////////////////////////////////////////////////////////////////////
///////////////////////// Sistema de Registro /////////////////////////
///////////////////////////////////////////////////////////////////////

public cmd_register_menu(id)
{
    if(
get_pcvar_num(cvar_menustyle) == 1)
    {
        static 
menu[240], len
        len 
0
        
        len 
+= formatex(menu[len], charsmax(menu) - len"%L^n^n"id"MENU_REGISTER_SYSTEM")
        if(
loggedin[id] == true)
            
len += formatex(menu[len], charsmax(menu) - len"\d1. %L^n"id"MENU_REGS_REGISTER")
        else
            
len += formatex(menu[len], charsmax(menu) - lenloggedin[id] ? "\d1. %L^n" "\r1. \w%L^n"id"MENU_REGS_REGISTER")
        
len += formatex(menu[len], charsmax(menu) - lenloggedin[id] ? "\d2. %L^n^n"    "\r2. \w%L^n^n"id"MENU_REGS_LOGAR")
        
len += formatex(menu[len], charsmax(menu) - lenloggedin[id] ? "\r3. \w%L^n"    "\d3. %L^n",     id"MENU_REGS_CHANGE_LOGIN-NAME")
        
len += formatex(menu[len], charsmax(menu) - lenloggedin[id] ? "\r4. \w%L^n^n"    "\d4. %L^n^n"id"MENU_REGS_CHANGE_LOGIN-PW")
        
len += formatex(menu[len], charsmax(menu) - lenloggedin[id] ? "\r5. \w%L^n^n"    "\d5. %L^n^n"id"MENU_REGS_ACCOUNT_EXIT")
        
len += formatex(menu[len], charsmax(menu) - lenloggedin[id] ? "\r0. \w%L^n"    "\d0. %L^n",     id"MENU_REGS_EXIT")

        
show_menu(idKEYSMENUmenu, -1"Register")
    }
    else if(
get_pcvar_num(cvar_menustyle) == 2)
    {
        
formatex(szTextcharsmax(szText), "%L"id"MENU_REGISTER_SYSTEM")
        new 
menu menu_create(szText"cmd_register_menu_handler2")
        if(
loggedin[id] == true)
            
formatex(szTextcharsmax(szText), "%L"id"MENU_REGS_REGISTER")
        else
            
formatex(szTextcharsmax(szText), loggedin[id] ? "\d%L" "\w%L"id"MENU_REGS_REGISTER")
        
menu_additem(menuszText"1"0)
        
formatex(szTextcharsmax(szText), loggedin[id] ? "\d%L^n" "\w%L^n",    id"MENU_REGS_LOGAR")
        
menu_additem(menuszText"2"0)
        
formatex(szTextcharsmax(szText), loggedin[id] ? "\w%L"   "\d%L",    id"MENU_REGS_CHANGE_LOGIN-NAME")
        
menu_additem(menuszText"3"0)
        
formatex(szTextcharsmax(szText), loggedin[id] ? "\w%L^n" "\d%L^n",    id"MENU_REGS_CHANGE_LOGIN-PW")
        
menu_additem(menuszText"4"0)
        
formatex(szTextcharsmax(szText), loggedin[id] ? "\w%L"   "\d%L",    id"MENU_REGS_ACCOUNT_EXIT")
        
menu_additem(menuszText"5"0)

        
menu_display(idmenu0)
    }
}

public 
cmd_register_menu_handler1(idkey)
{
    if(
get_pcvar_num(cvar_menustyle) == 1)
    {
        switch(
key)
        {
            case 
0cmd_register_check(id)
            case 
1cmd_login_check(id)
            case 
2cmd_register_menu(id)
            case 
3cmd_register_menu(id)
            case 
4cmd_logout(id)
            case 
9check_login(id)
        }
        if(
key != && key != && key != && key != && key != && key != 9)
        {
            
cmd_register_menu(id)
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_HANDLED
}

public 
cmd_register_menu_handler2(idmenuitem)
{
    if(
get_pcvar_num(cvar_menustyle) == 2)
    {
        new 
data[6], iName[64], accesscallback
        menu_item_getinfo
(menuitemaccessdata5iName63callback)
        new 
key str_to_num(data)

        switch(
key)
        {
            case 
1cmd_register_check(id)
            case 
2cmd_login_check(id)
            case 
3cmd_register_menu(id)
            case 
4cmd_register_menu(id)
            case 
5cmd_logout(id)
            case 
0check_login(id)
        }
        if(
key != && key != && key != && key != && key != && key != 0)
        {
            
cmd_register_menu(id)
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_HANDLED
}

public 
cmd_register_check(id)
{
    if(
loggedin[id] == true)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
    else
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_TYPE_REGISTER_LOGIN_ACCOUNT")
        
EmitSound(idREGS_ACCEPTED)

        
client_cmd(id"messagemode [Registrar]Login_Nome")
    }
}

public 
cmd_register_loginname_check(id)
{
    
read_args(name[id], 99)
    
remove_quotes(name[id])
    new 
name2[33][100]

    if(
loggedin[id] == true)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
    else
    {
        if(
fvault_get_data(register_dadosname[id], name2[id], 99) == && containi(name[id], " ") == -1)
        {
            
set_dhudmessage(02550, -1.00.005.00.011.51.5)
            
show_dhudmessage(id"%L"LANG_PLAYER"REGS_TYPE_REGISTER_PASS_ACCOUNT")
            
EmitSound(idREGS_ACCEPTED)

            
client_cmd(id"messagemode [Registrar]Login_Senha")           
        }
        else if(
fvault_get_data(register_dadosname[id], name2[id], 99) == 1)
        {
            
set_dhudmessage(02550, -1.00.007.00.012.02.0)
            
show_dhudmessage(id"%L^n%L"LANG_PLAYER"REGS_REGISTER_LOGIN_INVALID"LANG_PLAYER"TRY_AGAIN")
            
EmitSound(idREGS_LOCKED)

            
cmd_register_menu(id)
        }
    }
}

public 
cmd_register_loginpw_check(id)
{
    
read_args(password[id], 99)
    
remove_quotes(password[id])

    if(
loggedin[id] == true)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
    else
    {
        if(
containi(password[id], " ") == -1)
        {
            
EmitSound(idREGS_ACCEPTED)

            
fvault_set_data(register_dadosname[id], password[id])

            
loggedin[id] = true
            g_name
[id] = name[id]

            
remove_task(id)

            
client_cmd(id"jointeam 5")

            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"REGS_ACCOUNTNEW_CREATED")
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"REGS_ACCOUNTNEW_LOGIN"name[id])
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"REGS_ACCOUNTNEW_PASSWORD"password[id])

            
LogsRegister("------------------------------------------------------------------------------------------------------------------------")
            
LogsRegister("Registro: Novos Dados Adcionados")
            
LogsRegister("Login: %s"name[id])
            
LogsRegister("Senha: %s"password[id])
            
LogsRegister("------------------------------------------------------------------------------------------------------------------------")
        }            
        else
        {
            
set_dhudmessage(02550, -1.00.007.00.012.02.0)
            
show_dhudmessage(id"%L^n%L"LANG_PLAYER"REGS_REGISTER_PASS_INVALID"LANG_PLAYER"TRY_AGAIN")
            
EmitSound(idREGS_LOCKED)

            
client_cmd(id"messagemode [Registrar]Login_Senha")
        }
    }
}

public 
cmd_login_check(id)
{
    if(
loggedin[id] == false)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_TYPE_LOGIN_ACCOUNT")

        
client_cmd(id"messagemode [Logar]Login_Nome")
    }
    else if(
loggedin[id] == true)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
}

public 
cmd_login_loginname_check(id)
{
    
read_args(name_log[id], 99)
    
remove_quotes(name_log[id])
    new 
name2[33][100]

    if(
loggedin[id] == false)
    {
        if(
fvault_get_data(register_dadosname_log[id], name2[id], 99) == 0)
        {
            
EmitSound(idREGS_LOCKED)
            
cmd_register_menu(id)

            
set_dhudmessage(02550, -1.00.007.00.012.02.0)
            
show_dhudmessage(id"%L^n%L"LANG_PLAYER"REGS_LOGIN_NAME_INVALID"LANG_PLAYER"TRY_AGAIN")
        }
        else
        {
            
EmitSound(idREGS_ACCEPTED)
            
client_cmd(id"messagemode [Logar]Login_Senha")

            
set_dhudmessage(02550, -1.00.005.00.011.51.5)
            
show_dhudmessage(id"%L"LANG_PLAYER"REGS_TYPE_REGISTER_PASS_ACCOUNT")
        }
    }
    else if(
loggedin[id] == true)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
}

public 
cmd_login_loginpw_check(id)
{
     
read_args(password2[id], 99)
    
remove_quotes(password2[id])
    new 
data[140]

    if(
loggedin[id] == false)
    {
        
fvault_get_data(register_dadosname_log[id], data139)

        if(
equali(datapassword2[id]))
        {
            
EmitSound(idREGS_ACCEPTED)

            
loggedin[id] = true
            g_name
[id] = name_log[id]

            
remove_task(id)

            
client_cmd(id"jointeam 5")

            new 
Nick[33], Ip[13], SteamID[51]

            
get_user_ip(idIp[id], 12)
            
get_user_authid(idSteamID[id], 50)
            
get_user_name(idNick[id], 32)
        }
        else
        {
            
EmitSound(idREGS_LOCKED)
            
cmd_register_menu(id)
            
g_tentativas[id]++
            
check_punish(id)

            
set_dhudmessage(02550, -1.00.007.00.012.02.0)
            
show_dhudmessage(id"%L^n%L"LANG_PLAYER"REGS_LOGIN_PASS_INVALID"LANG_PLAYER"TRY_AGAIN")
        }
    }
    else if(
loggedin[id] == true)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
}

public 
check_punish(id)
{   
    if(
g_tentativas[id] >= get_pcvar_num(cvar_tentativas))
    {
        new 
punish get_pcvar_num(cvar_punhish)
        if(
punish <= || punish >= 3)
            return 
PLUGIN_HANDLED

        
new Nick[33], Ip[13], SteamID[51];

        
get_user_ip(idIp[id], 12)
        
get_user_authid(idSteamID[id], 50)
        
get_user_name(idNick[id], 32)

        if(
punish == 1)
        {
            
server_cmd("kick #%i foi kickado por errar a senha muitas vezes"get_user_userid(id))
            
LogsErrorPass("------------------------------------------------------------------------------------------------------------------------")
            
LogsErrorPass("Registro: Jogador Kickado | Motivo: Errou A Senha Muitas Vezes.")
            
LogsErrorPass("Jogador: Nome: %s"Nick[id])
            
LogsErrorPass("Jogador: IP: %s"Ip[id])
            
LogsErrorPass("Jogador: SteamID: %s"SteamID[id])
            
LogsErrorPass("------------------------------------------------------------------------------------------------------------------------")
            return 
PLUGIN_HANDLED
        
}
        if(
punish == 2)
        {
            
server_cmd("amx_banip #%i %i ^"foi banido %d minutos por errar a senha %s vezes^""get_user_userid(id), get_pcvar_num(cvar_bantime), get_pcvar_num(cvar_bantime), get_pcvar_num(cvar_tentativas))
            
LogsErrorPass("------------------------------------------------------------------------------------------------------------------------")
            
LogsErrorPass("Registro: Jogador Banido | Motivo: Errou A Senha Muitas Vezes.")
            
LogsErrorPass("Jogador: Nome: %s"Nick[id])
            
LogsErrorPass("Jogador: IP: %s"Ip[id])
            
LogsErrorPass("Jogador: SteamID: %s"SteamID[id])
            
LogsErrorPass("------------------------------------------------------------------------------------------------------------------------")
        }
    }
    return 
PLUGIN_CONTINUE
}

public 
cmd_logout(id)
{
    if(
loggedin[id] == false)
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_YOU_ARE_NOT_LOGGED")
        
EmitSound(idREGS_LOCKED)

        
cmd_register_menu(id)
    }
    else
    {
        
set_dhudmessage(02550, -1.00.005.00.011.51.5)
        
show_dhudmessage(id"%L"LANG_PLAYER"REGS_LOGOUT_SUCESS")
        
EmitSound(idREGS_ACCEPTED)

        
user_silentkill(id)
        
cs_set_user_team(idCS_TEAM_UNASSIGNED)

        
loggedin[id] = false
        g_name
[id] = "Nao esta Logado"

        
check_status(id)
    }
}

////////////////////////////////////////////////////////////////////
///////////////////////// Sistema de Banco /////////////////////////
////////////////////////////////////////////////////////////////////

public cmd_bank_menu(id)
{
    if(
loggedin[id] == true && get_pcvar_num(cvar_menustyle) == 1)
    {
        static 
menu[240], len
        len 
0

        
new data1[30]
        
fvault_get_data(bank_dadosg_name[id], data1charsmax(data1))

        
len += formatex(menu[len], charsmax(menu) - len"%L^n^n"id"MENU_BANK_SYSTEM")
        if(
equal(data1 ""))
            
len += formatex(menu[len], charsmax(menu) - len"%L^n%L^n^n",    id"MENU_BANK_ACCOUNT"g_name[id], id"MENU_BANK_BALANCE0")
        else
            
len += formatex(menu[len], charsmax(menu) - len"%L^n%L^n^n",    id"MENU_BANK_ACCOUNT"g_name[id], id"MENU_BANK_BALANCE"data1)
        
len += formatex(menu[len], charsmax(menu) - len"\r1. \w%L^n",        id"MENU_BANK_TAKE_AMOUNT")
        
len += formatex(menu[len], charsmax(menu) - len"\r2. \w%L^n^n",    id"MENU_BANK_TAKE_ALL")
        
len += formatex(menu[len], charsmax(menu) - len"\r3. \w%L^n",        id"MENU_BANK_SAVE_AMOUNT")
        
len += formatex(menu[len], charsmax(menu) - len"\r4. \w%L^n^n",    id"MENU_BANK_SAVE_ALL")
        
len += formatex(menu[len], charsmax(menu) - len"\r0. \w%L",        id"MENU_BANK_EXIT")

        
show_menu(idKEYSMENUmenu, -1"Bank")
    }
    else if(
loggedin[id] == true && get_pcvar_num(cvar_menustyle) == 2)
    {
        new 
szText[100]

        new 
data1[30]
        
fvault_get_data("zp_rba_bank"g_name[id], data1charsmax(data1))
           
        if(
equal(data1 ""))
            
formatex(szTextcharsmax(szText), "%L^n^n%L^n%L"id"MENU_BANK_SYSTEM" id"MENU_BANK_ACCOUNT"g_name[id], id"MENU_BANK_BALANCE0")
        else
            
formatex(szTextcharsmax(szText), "%L^n^n%L^n%L"id"MENU_BANK_SYSTEM" id"MENU_BANK_ACCOUNT"g_name[id], id"MENU_BANK_BALANCE"data1)
        new 
menu menu_create(szText"cmd_bank_menu_handler2")       
        
formatex(szTextcharsmax(szText), "\w%L",   id"MENU_BANK_TAKE_AMOUNT")
        
menu_additem(menuszText"1"0)
        
formatex(szTextcharsmax(szText), "\w%L^n"id"MENU_BANK_TAKE_ALL")
        
menu_additem(menuszText"2"0)
        
formatex(szTextcharsmax(szText), "\w%L",   id"MENU_BANK_SAVE_AMOUNT")
        
menu_additem(menuszText"3"0)
        
formatex(szTextcharsmax(szText), "\w%L",   id"MENU_BANK_SAVE_ALL")
        
menu_additem(menuszText"4"0)
        
menu_display(idmenu0)
    }
}

public 
cmd_bank_menu_handler1(idkey)
{
    if(
loggedin[id] == true && get_pcvar_num(cvar_menustyle) == 1)
    {
        switch(
key)
        {
            case 
0client_cmd(id"messagemode [Banco]Sacar_Quantidade")
            case 
1cmd_bank_withdrawall(id)
            case 
2client_cmd(id"messagemode [Banco]Depositar_Quantidade")
            case 
3cmd_bank_depositall(id)
        }
        if(
key != && key != && key != && key != && key != 9)
        {
            
cmd_bank_menu(id)
            return 
PLUGIN_HANDLED
        
}
    }
    else
    {
        
cmd_register_menu(id)
        
EmitSound(idREGS_LOCKED)
    }
    return 
PLUGIN_HANDLED
}

public 
cmd_bank_menu_handler2(idmenuitem)
{
    if(
loggedin[id] == true && get_pcvar_num(cvar_menustyle) == 2)
    {
        new 
data[6], iName[64], accesscallback
        menu_item_getinfo
(menuitemaccessdata5iName63callback)
        new 
key str_to_num(data)

        switch(
key)
        {
            case 
1client_cmd(id"messagemode [Banco]Sacar_Quantidade")
            case 
2cmd_bank_withdrawall(id)
            case 
3client_cmd(id"messagemode [Banco]Depositar_Quantidade")
            case 
4cmd_bank_depositall(id)
        }
        if(
key != && key != && key != && key != && key != 4)
        {
            
cmd_bank_menu(id)
            return 
PLUGIN_HANDLED
        
}
    }
    else
    {
        
cmd_register_menu(id)
        
EmitSound(idREGS_LOCKED)
    }
    return 
PLUGIN_HANDLED
}

public 
cmd_bank_withdrawamount_check(id)
{
    if(
loggedin[id] == true)
    {
        new 
amout[30]
        
read_args(amoutcharsmax(amout))
        
remove_quotes(amout)

        if(!
valid_ammt(amoutstrlen(amout)))
        {
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_QUANTITY_INVALID")
            
EmitSound(idBANK_LOCKED)

            return 
PLUGIN_HANDLED
        
}

        new 
data1[30]; fvault_get_data(bank_dadosg_name[id], data1charsmax(data1))

        new 
want str_to_num(amout)
        new 
have str_to_num(data1)

        if(
want have)
        {
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_NOT_HAVE_AP_BANK"want)
            
EmitSound(idBANK_LOCKED)

            return 
PLUGIN_HANDLED
        
}

        
zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) + want)
   
        
num_to_str(have wantamoutcharsmax(amout))
        
fvault_set_data(bank_dadosg_name[id], amout)

        
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_TAKE_AP"want)
        
EmitSound(idBANK_ACCEPTED)
    }
    else
    {
        
cmd_register_menu(id)
    }
    return 
PLUGIN_HANDLED
}

public 
cmd_bank_withdrawall(id)
{
    if(
loggedin[id] == true)
    {
        new 
data1[30]; fvault_get_data(bank_dadosg_name[id], data1charsmax(data1))

        new 
have_hand  zp_get_user_ammo_packs(id)
        new 
have str_to_num(data1)

        if(
have 0)
        {
            
zp_set_user_ammo_packs(idhave_hand have)

            new 
string1[30]
             
formatex(string1charsmax(string1), "0")
            
fvault_set_data(bank_dadosg_name[id], string1)

            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_TAKE_AP"have)
            
EmitSound(idBANK_ACCEPTED)
        }
        else
        {
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_HAVE_0AP_BANK")
            
EmitSound(idBANK_LOCKED)
        }
    }
    else
    {
        
cmd_register_menu(id)
    }
}

public 
cmd_bank_depositamount_check(id)
{
    if(
loggedin[id] == true)
    {
        new 
amout[30]
        
read_args(amoutcharsmax(amout))
        
remove_quotes(amout)

        if(!
valid_ammt(amoutstrlen(amout)))
        {
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_QUANTITY_INVALID")
            
EmitSound(idBANK_LOCKED)

            return 
PLUGIN_HANDLED
        
}
       
        new 
want str_to_num(amout)
        new 
aps zp_get_user_ammo_packs(id)

        if(
want aps)
        {
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_NOT_HAVE_AP"want)
            
EmitSound(idBANK_LOCKED)

            return 
PLUGIN_HANDLED
        
}

        new 
data1[30]; fvault_get_data(bank_dadosg_name[id], data1charsmax(data1))
        new 
aps_bank str_to_num(data1)

        new 
save_aps aps_bank want

        num_to_str
(save_apsamoutcharsmax(amout))
        
fvault_set_data(bank_dadosg_name[id], amout)
        
zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) - want)
    
        
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_SAVE_AP"want)
        
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_BALANCE_BANK"aps_bank want)
        
EmitSound(idBANK_ACCEPTED)
    }
    else
    {
        
cmd_register_menu(id)
    }
    return 
PLUGIN_HANDLED
}    

public 
cmd_bank_depositall(id)
{
    if(
loggedin[id] == true)
    {
        new 
aps zp_get_user_ammo_packs(id)

        if(
aps == 0)
        {
            
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_HAVE_0AP")
            
EmitSound(idBANK_LOCKED)

            return 
PLUGIN_HANDLED
        
}

        new 
aps_have[30]; fvault_get_data(bank_dadosg_name[id], aps_have29)
           
        new 
result aps str_to_num(aps_have)

        new 
aps2[30]
        
formatex(aps2charsmax(aps2), "%i"result)
        
fvault_set_data(bank_dadosg_name[id], aps2)
        
zp_set_user_ammo_packs(id0)
    
        
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_SAVE_AP"aps)
        
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_BALANCE_BANK"result)
        
EmitSound(idBANK_ACCEPTED)
    }
    else
    {
        
cmd_register_menu(id)
    }
    return 
PLUGIN_HANDLED
}

bool:valid_ammt(const ammt[], len)
{
    static const 
valid_chars[][] = { "0" ,"1" ,"2" ,"3" ,"4" ,"5" ,"6" ,"7" ,"8" ,"9" }
    static 
iavalids;
       
    
valids 0

    
for(0leni++)
    {
        for(
0sizeof(valid_chars); a++)
        {
            if(
ammt[i] == valid_chars[a][0])
            {
                
valids++
                break
            }
        }
    }
    if(
valids != len)
        return 
false
    
return true
}

/////////////////////////////////////////////////////////////////////
///////////////////////// Hook Say Commands /////////////////////////
/////////////////////////////////////////////////////////////////////

public cmdsave(id)
{
    new 
aps zp_get_user_ammo_packs(id)
          
    if(
aps == 0)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
aps_have[30]
    
fvault_get_data(bank_dadosg_name[id], aps_have29)
          
    new 
result aps str_to_num(aps_have)

    new 
aps2[30]
    
formatex(aps2charsmax(aps2), "%i"result)
    
fvault_set_data(bank_dadosg_name[id], aps2)

    
zp_set_user_ammo_packs(id0)

    return 
PLUGIN_CONTINUE
}

public 
HookSayCommands(idvalueamout)
{
    new 
text[70], arg1[32], arg2[32], arg3[6];
    
read_args(textsizeof(text) - 1);
    
remove_quotes(text);
    
arg1[0] = '^0';
    
arg2[0] = '^0';
    
arg3[0] = '^0';
    
parse(textarg1sizeof(arg1) - 1arg2sizeof(arg2) - 1arg3sizeof(arg3) - 1);

    if (
equali(arg1"/"1) || equali(arg1"."1) || equali(arg1"!"1))
        
format(arg131arg1[1]);

    if (
arg3[0])
        return 
PLUGIN_CONTINUE;

    if (
equali(arg1"conta") || equali(arg1"account") || equali(arg1"registro")
    || 
equali(arg1"register") || equali(arg1"reg") || equali(arg1"login"))
    {
        
cmd_register_menu(id)

        return 
PLUGIN_HANDLED
    
}
    if (
equali(arg1"admin") || equali(arg1"adm"))
    {
        if (
equali(arg2"menus") || equali(arg2"menu")
        || 
equali(arg2"comandos") || equali(arg2"comando")
        || 
equali(arg2"commands") || equali(arg2"command")
        || 
equali(arg2"cmds") || equali(arg2"cmd"))
        {
            
cmd_admin_menu(id)

            return 
PLUGIN_HANDLED
        
}
        return 
PLUGIN_CONTINUE
    
}
    if(
loggedin[id] == true)
    {
        if (
equali(arg1"banco") || equali(arg1"bank"))
        {
            
cmd_bank_menu(id)

            return 
PLUGIN_HANDLED
        
}
        else if (
equali(arg1"sacar") || equali(arg1"take"))
        {
            if (
isdigit(arg2[0]) || arg2[0] == '-' && isdigit(arg2[1]))
            {
                
cmd_bank_withdrawamount_check(id)

                return 
PLUGIN_HANDLED
            
}
            else if (
equali(arg2"tudo") || equali(arg2"all"))
            {
                
cmd_bank_withdrawall(id)

                return 
PLUGIN_HANDLED
            
}
            return 
PLUGIN_CONTINUE
        
}
        else if (
equali(arg1"depositar") || equali(arg1"deposit") || equali(arg1"save"))
        {
            if (
isdigit(arg2[0]) || arg2[0] == '-' && isdigit(arg2[1]))
            {
                
cmd_bank_depositamount_check(id)

                return 
PLUGIN_HANDLED
            
}
            else if (
equali(arg2"tudo") || equali(arg2"all"))
            {
                
cmd_bank_depositall(id)

                return 
PLUGIN_HANDLED
            
}
            return 
PLUGIN_CONTINUE
        
}
        else if (
equali(arg1"saldo"))
        {
            if (!
arg2[0])
            {
                new 
data1[30]
                
fvault_get_data(bank_dadosg_name[id], data1charsmax(data1))
                
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_BALANCE_M3"data1);
            }
            else
            {
                new 
id2 cmd_target(idarg22)
                if (!
id2)
                    return 
PLUGIN_CONTINUE

                
static id2name[32]
                
get_user_name(id2id2name31)
                new 
data1[30]
                
fvault_get_data(bank_dadosg_name[id2], data1[id2], charsmax(data1))
                
client_printcolor(id"%L %L"LANG_PLAYER"TAG"LANG_PLAYER"BANK_BALANCE_PLAYER"id2namedata1[id2])

                return 
PLUGIN_HANDLED
            
}
            return 
PLUGIN_CONTINUE
        
}
        return 
PLUGIN_CONTINUE
    
}
    else
    {
        
cmd_register_menu(id)
    }
    return 
PLUGIN_CONTINUE
}

//////////////////////////////////////////////////////////
///////////////////////// Stocks /////////////////////////
//////////////////////////////////////////////////////////

stock EmitSound(indexsound)
{
        switch(
sound)
        {
                case 
REGS_ACCEPTEDclient_cmd(index"spk GuhRDS/regs_accepted_v2")
                case 
REGS_LOCKEDclient_cmd(index"spk GuhRDS/regs_locked_v2")
                case 
BANK_ACCEPTEDclient_cmd(index"spk GuhRDS/bank_accepted_v2")
                case 
BANK_LOCKEDclient_cmd(index"spk GuhRDS/bank_locked_v2")
        }
}

stock client_printcolor(target, const message[], any:...)
{
    static 
buffer[512], iargscount;
    
argscount numargs();

    static 
g_msgSayTextg_MaxPlayers;
    if(!
g_msgSayText)
    {
        
g_msgSayText get_user_msgid("SayText");
        }
    if(!
g_MaxPlayers)
    {
        
g_MaxPlayers get_maxplayers();
        }
        if (!
target)
        {
        static 
player;
        for (
player 1player <= g_MaxPlayersplayer++)
        {
            if (!
is_user_connected(player))
                continue;

            static 
changed[5], changedcount;
            
changedcount 0;

            for (
2argscounti++)
            {
                if (
getarg(i) == LANG_PLAYER)
                {
                    
setarg(i0player);
                    
changed[changedcount] = i;
                    
changedcount++;
                }
            }
            
vformat(buffercharsmax(buffer), message3);

            
replace_all(buffercharsmax(buffer), "!g""^4");
            
replace_all(buffercharsmax(buffer), "!y""^1");
            
replace_all(buffercharsmax(buffer), "!t""^3");

            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_player);
            
write_byte(player);
            
write_string(buffer);
            
message_end();
            for (
0changedcounti++)
            
setarg(changed[i], 0LANG_PLAYER);
        }
    }
        else
        {
        
vformat(buffercharsmax(buffer), message3);

        
replace_all(buffercharsmax(buffer), "!g""^4");
        
replace_all(buffercharsmax(buffer), "!y""^1");
        
replace_all(buffercharsmax(buffer), "!t""^3");

        
message_begin(MSG_ONEg_msgSayText_target);
        
write_byte(target);
        
write_string(buffer);
        
message_end();
    }
}

////////////////////////////////////////////////////////
///////////////////////// Logs /////////////////////////
////////////////////////////////////////////////////////

LogsRegister(const message_fmt[], any:...)
{
    static 
message[500]
    
vformat(messagesizeof(message) - 1message_fmt2)

    static 
filename[96]
    new 
base[51], fr_data[51]
    
get_basedir(base50)

    if(!
filename[0])
    {
        
get_basedir(filenamesizeof(filename) - 1)
        
add(filenamesizeof(filename) - 1"logs/register_history.log")
    }
    
format_time(fr_datasizeof(filename) - 1"%d-%m-%Y")
    
format(filenamesizeof(filename) - 1"%s/logs/register_history_%s.log"basefr_data)

    
log_to_file(filename"%s"message)
    
log_to_file(filename"%s"message)
}

LogsErrorPass(const message_fmt[], any:...)
{
    static 
message[500]
    
vformat(messagesizeof(message) - 1message_fmt2)

    static 
filename[96]
    new 
base[51], fr_data[51]
    
get_basedir(base50)

    if(!
filename[0])
    {
        
get_basedir(filenamesizeof(filename) - 1)
        
add(filenamesizeof(filename) - 1"logs/login-pass_error_history.log")
    }
    
format_time(fr_datasizeof(filename) - 1"%d-%m-%Y")
    
format(filenamesizeof(filename) - 1"%s/logs/login-pass_error_history_%s.log"basefr_data)
   
    
log_to_file(filename"%s"message);
}


LogsNotLogged(const message_fmt[], any:...)
{
    static 
message[500]
    
vformat(messagesizeof(message) - 1message_fmt2)
   
    static 
filename[96]
    new 
base[51], fr_data[51]
    
get_basedir(base50)

    if(!
filename[0])
    {
        
get_basedir(filenamesizeof(filename) - 1)
        
add(filenamesizeof(filename) - 1"logs/not_loggedkick_history.log")
    }
    
format_time(fr_datasizeof(filename) - 1"%d-%m-%Y")
    
format(filenamesizeof(filename) - 1"%s/logs/not_loggedkick_history_%s.log"basefr_data)
   
    
log_to_file(filename"%s"message)

__________________
Free Palestine ♥

Last edited by plazma; 12-29-2016 at 06:41.
plazma is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 12-29-2016 , 08:07   Re: I need help here Bank Register.
Reply With Quote #2

Duhet t'perdoresh MySQL / SQLx, ose Vault (Vault, nVault, fVault) tbesh 1 set_task qe ti rruash Ammot ma shpesh Oseee /save komand si te plugini im LXS ( Level-XP System) Link : http://zppv.boards.net/thread/1946/l...m-donii?page=1
You have to use MySQL / SQLx, or Vault (Vault, nVault, fVault) make a set_task to save ammos more frequently Or a /save command like in my LXS plugin link : http://zppv.boards.net/thread/1946/l...m-donii?page=1
__________________

Last edited by edon1337; 12-29-2016 at 08:10.
edon1337 is offline
plazma
Senior Member
Join Date: Oct 2013
Old 12-29-2016 , 08:53   Re: I need help here Bank Register.
Reply With Quote #3

Quote:
Originally Posted by edon1337 View Post
Duhet t'perdoresh MySQL / SQLx, ose Vault (Vault, nVault, fVault) tbesh 1 set_task qe ti rruash Ammot ma shpesh Oseee /save komand si te plugini im LXS ( Level-XP System) Link : http://zppv.boards.net/thread/1946/l...m-donii?page=1
You have to use MySQL / SQLx, or Vault (Vault, nVault, fVault) make a set_task to save ammos more frequently Or a /save command like in my LXS plugin link : http://zppv.boards.net/thread/1946/l...m-donii?page=1
Mos u perzi palidhje ktu veq te boj post koti ok.
__________________
Free Palestine ♥
plazma is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 12-29-2016 , 11:30   Re: I need help here Bank Register.
Reply With Quote #4

Lexoje mir o fmi.. Ske logjik fare..
__________________
edon1337 is offline
plazma
Senior Member
Join Date: Oct 2013
Old 12-29-2016 , 12:04   Re: I need help here Bank Register.
Reply With Quote #5

Quote:
Originally Posted by edon1337 View Post
Lexoje mir o fmi.. Ske logjik fare..
O qyrrin e nones ta qifsha ho qe um shkrun ne poste te mia more mut um qon xp ktu e mysql tkarit a une tj sen kerkoj hup bre mos ma tesh karin mo fmiaq mem shkru ne poste zhduku
__________________
Free Palestine ♥
plazma is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 12-29-2016 , 13:24   Re: I need help here Bank Register.
Reply With Quote #6

prej nga je at moter bushter ta qifsha npidh o moter qim ma jep skypen ta qifsha gjakun
__________________
edon1337 is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 12-29-2016 , 13:27   Re: I need help here Bank Register.
Reply With Quote #7

pse ma flliq gojen kot o at moter ta qifsha mir tregova se me vault hupen data-t nserver drop duhet me perdor sql po shqiptart jon me va qi motrat ndhip maloka kari
__________________
edon1337 is offline
plazma
Senior Member
Join Date: Oct 2013
Old 12-29-2016 , 16:26   Re: I need help here Bank Register.
Reply With Quote #8

Quote:
Originally Posted by edon1337 View Post
pse ma flliq gojen kot o at moter ta qifsha mir tregova se me vault hupen data-t nserver drop duhet me perdor sql po shqiptart jon me va qi motrat ndhip maloka kari
Atλ kabilen ta qifsha po fshij komentet qka ke shkru e mos ma flliq postin kupto o mut. Mos shkruj mo qaq.
__________________
Free Palestine ♥

Last edited by plazma; 12-29-2016 at 17:29.
plazma is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 12-30-2016 , 05:03   Re: I need help here Bank Register.
Reply With Quote #9

motren ku ta kesh ta qifsha
__________________
edon1337 is offline
plazma
Senior Member
Join Date: Oct 2013
Old 01-16-2017 , 14:55   Re: I need help here Bank Register.
Reply With Quote #10

Quote:
Originally Posted by edon1337 View Post
motren ku ta kesh ta qifsha
Ta qifsha faren e mutit qe e paske
Up ?
__________________
Free Palestine ♥
plazma is offline
Reply



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 04:23.


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