Raised This Month: $ Target: $400
 0% 

[ZP BANK + REGISTER FVAULT] Help Please


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
pokemonmaster
princess milk
Join Date: Nov 2010
Location: Somewhere in this world
Old 09-18-2012 , 17:30   Re: [ZP BANK + REGISTER FVAULT] Help Please
Reply With Quote #8

Quote:
Originally Posted by arcadecs View Post
ok, I'm waiting, thanks
Try this
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)

This would save user's ammopacks in round end if it is bigger than this cvar value
zpbank_max_ammopacks - default value "100"
In other meaning, if the ammopacks number that the user is holding is bigger than that cvar value, ammopacks will get saved and the user will have zpbank_max_ammopacks value

hopefully google translate will translate what I said correctly


By the way, I coudln't compile plugin as I didn't have this function
PHP Code:
cmd_admin_menu(id
Maybe you forgot to copy it when you have put the plugin
__________________
اَشْهَدُ اَنْ لَّآ اِلٰهَ اِلَّا اللہُ وَحْدَه لَا شَرِيْكَ لَه وَ اَشْهَدُ اَنَّ مُحَمَّدًا عَبْدُه وَرَسُوْلُه
No longer active in AMXX. Sorry.

Last edited by pokemonmaster; 09-18-2012 at 17:34.
pokemonmaster is offline
 



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 08:15.


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