пари в банката, на мен това не ми е нужно и възможно ли е да се премахне от плъгина
и когато напиша /bank просто да ми дава да си добавям пари в банката! Благодаря предварително.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "[DR]Bank"
#define VERSION "1.0"
#define AUTHOR "Crash94"
new g_LoadFile[81]
new szReg[33], szAuth[33], szMoney[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /banka", "BankMenu")
register_clcmd("say_team /banka", "BankMenu")
register_clcmd("say /bank", "BankMenu")
register_clcmd("say_team /bank", "BankMenu")
register_clcmd("make_amount", "MakeMoney")
register_clcmd("withdraw_amount", "WithdrawMoney")
register_clcmd("auth_password", "AuthPlayer")
register_clcmd("reg_password", "RegPlayer")
register_dictionary("dr_bank.txt")
}
public plugin_cfg()
{
get_configsdir(g_LoadFile, 81)
format(g_LoadFile, 80, "%s/dr_bank.ini", g_LoadFile)
}
public client_connect(id)
{
set_task(2.0, "CheckPlayer", id)
}
public CheckPlayer(id)
{
new szParseText[41], szParseName[32]
new szName[32]
new szLine, szNum
get_user_name(id, szName, charsmax( szName ))
for(szLine=0;read_file(g_LoadFile, szLine, szParseText, 41, szNum);szLine++)
{
parse(szParseText, szParseName, charsmax( szParseName ))
if(szNum > 0 && szParseText[0] != ';')
{
if(equali(szName, szParseName))
{
szReg[id] = true
break
}
}
}
}
public BankMenu(id)
{
if(szReg[id])
{
if(szAuth[id])
{
new szText[555]
formatex( szText, charsmax( szText ), "%L", id, "DR_BANK_AUTHYES_TITLE", szMoney[id])
new menu = menu_create( szText, "BankMenu_handler" )
formatex( szText, charsmax( szText ), "%L", id, "AUTHYES_ITEM_1")
menu_additem( menu, szText, "1", 0 )
if(szMoney[id])
{
formatex( szText, charsmax( szText ), "%L", id, "AUTHYES_ITEM_2")
menu_additem( menu, szText, "2", 0 )
}else{
formatex( szText, charsmax( szText ), "%L", id, "AUTHYES_ITEM_2")
menu_additem( menu, szText, "2", ADMIN_ADMIN )
}
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL )
menu_setprop( menu, MPROP_NEXTNAME, "Next")
menu_setprop( menu, MPROP_BACKNAME, "Back")
menu_setprop( menu, MPROP_EXITNAME, "Exit")
menu_display( id, menu, 0 )
}else{
new szText[555]
formatex( szText, charsmax( szText ), "%L", id, "DR_BANK_AUTHNO_TITLE", szMoney[id])
new menu = menu_create( szText, "BankMenu_handler" )
formatex( szText, charsmax( szText ), "%L", id, "AUTHNO_ITEM_1")
menu_additem( menu, szText, "1", 0 )
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL )
menu_setprop( menu, MPROP_NEXTNAME, "Next")
menu_setprop( menu, MPROP_BACKNAME, "Back")
menu_setprop( menu, MPROP_EXITNAME, "Exit")
menu_display( id, menu, 0 )
}
}else{
new szText[555]
formatex( szText, charsmax( szText ), "%L", id, "DR_BANK_REG_TITLE", szMoney[id])
new menu = menu_create( szText, "BankMenu_handler" )
formatex( szText, charsmax( szText ), "%L", id, "REG_ITEM_1")
menu_additem( menu, szText, "1", 0 )
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL )
menu_setprop( menu, MPROP_NEXTNAME, "Next")
menu_setprop( menu, MPROP_BACKNAME, "Back")
menu_setprop( menu, MPROP_EXITNAME, "Exit")
menu_display( id, menu, 0 )
}
}
public BankMenu_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(menu, item, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)
new szKey = str_to_num( szData )
switch( szKey )
{
case 1:
{
if(szReg[id])
{
if(szAuth[id])
{
client_cmd(id, "messagemode make_amount")
}else{
client_cmd(id, "messagemode auth_password")
}
}else{
client_cmd(id, "messagemode reg_password")
}
}
case 2:
{
client_cmd(id, "messagemode withdraw_amount")
}
}
return PLUGIN_HANDLED
}
public MakeMoney(id)
{
if(!szReg[id])
{
ChatColor(id, "%L", 0, "DR_BANK_NOREG")
return PLUGIN_HANDLED
}
if(!szAuth[id])
{
ChatColor(id, "%L", 0, "DR_BANK_NOAUTH")
return PLUGIN_HANDLED
}
new szParam[10]
read_args(szParam, 9)
remove_quotes(szParam)
if(strlen( szParam ) == 0)
{
ChatColor(id, "%L", id, "DR_BANK_NOTEXT")
return PLUGIN_HANDLED
}
for(new x; x < strlen( szParam ); x++)
{
if(!isdigit( szParam[x] ))
{
ChatColor(id, "%L", 0, "DR_BANK_NONUMBER")
return PLUGIN_HANDLED
}
}
new szAmount = str_to_num( szParam )
if (cs_get_user_money(id) < szAmount)
{
ChatColor(id, "!g[BANK] !y%L", 0, "DR_BANK_NOMONEY")
return PLUGIN_HANDLED
}
UpdateMoney(id, 1, szAmount)
return PLUGIN_HANDLED
}
public WithdrawMoney(id)
{
if(!szReg[id])
{
ChatColor(id, "%L", 0, "DR_BANK_NOREG")
return PLUGIN_HANDLED
}
if(!szAuth[id])
{
ChatColor(id, "%L", 0, "DR_BANK_NOAUTH")
return PLUGIN_HANDLED
}
new szParam[10]
read_args(szParam, 9)
remove_quotes(szParam)
if(strlen( szParam ) == 0)
{
ChatColor(id, "%L", id, "DR_BANK_NOTEXT")
return PLUGIN_HANDLED
}
for(new x; x < strlen( szParam ); x++)
{
if(!isdigit( szParam[x] ))
{
ChatColor(id, "%L", 0, "DR_BANK_NONUMBER")
return PLUGIN_HANDLED
}
}
new szAmount = str_to_num( szParam )
if (szMoney[id] < szAmount)
{
ChatColor(id, "!g[BANK] !y%L", 0, "DR_BANK_NOMONEY")
return PLUGIN_HANDLED
}
UpdateMoney(id, 2, szAmount)
return PLUGIN_HANDLED
}
public UpdateMoney(id, type, amount)
{
new szParseText[41], szParseName[32], szParsePassword[32], szParseMoney[32]
new szName[32]
new szLine, szNum
get_user_name(id, szName, charsmax( szName ))
for(szLine=0;read_file(g_LoadFile, szLine, szParseText, 41, szNum);szLine++)
{
parse(szParseText, szParseName, charsmax( szParseName ), szParsePassword, charsmax( szParsePassword ), szParseMoney, charsmax( szParseMoney ))
if(szNum > 0 && szParseText[0] != ';')
{
if(equali(szName, szParseName))
{
if(type == 1)
{
new szText[512], szNewMoney
szNewMoney = str_to_num( szParseMoney ) + amount
cs_set_user_money(id, cs_get_user_money(id) - amount)
szMoney[id] = szMoney[id] + amount
formatex(szText, charsmax( szText ), "^"%s^" ^"%s^" ^"%d^"", szParseName, szParsePassword, szNewMoney)
write_file(g_LoadFile, szText, szLine)
ChatColor(id, "%L", 0, "DR_BANK_MAKE_GOOD", amount)
}else
if(type == 2)
{
new szText[512], szNewMoney
szNewMoney = str_to_num( szParseMoney ) - amount
cs_set_user_money(id, cs_get_user_money(id) + amount)
szMoney[id] = szMoney[id] - amount
formatex(szText, charsmax( szText ), "^"%s^" ^"%s^" ^"%d^"", szParseName, szParsePassword, szNewMoney)
write_file(g_LoadFile, szText, szLine)
ChatColor(id, "%L", 0, "DR_BANK_WITGDRAW_GOOD", amount)
}
}
}
}
}
public AuthPlayer(id)
{
if(szReg[id])
{
if(!szAuth[id])
{
new szArgsPassword[32]
read_args(szArgsPassword, 31)
remove_quotes(szArgsPassword)
if(strlen( szArgsPassword ) == 0)
{
ChatColor(id, "%L", id, "DR_BANK_NOTEXT")
return PLUGIN_HANDLED
}
new szParseText[41], szParseName[32], szParsePassword[32], szParseMoney[32]
new szName[32]
new szLine, szNum
new szNumMoney
get_user_name(id, szName, charsmax( szName ))
for(szLine=0;read_file(g_LoadFile, szLine, szParseText, 41, szNum);szLine++)
{
parse(szParseText, szParseName, charsmax( szParseName ), szParsePassword, charsmax( szParsePassword ), szParseMoney, charsmax( szParseMoney ))
if(szNum > 0 && szParseText[0] != ';')
{
if(equali(szName, szParseName))
{
if(equali(szParsePassword, szArgsPassword))
{
szAuth[id] = true
szNumMoney = str_to_num( szParseMoney )
szMoney[id] = szNumMoney
ChatColor(id, "%L", id, "DR_BANK_AUTH_GOOD", szArgsPassword)
}else{
ChatColor(id, "%L", id, "DR_BANK_AUTH_FAIL")
}
}
}
}
}else{
ChatColor(id, "%L", 0, "DR_BANK_AUTH")
return PLUGIN_HANDLED
}
}else{
ChatColor(id, "%L", 0, "DR_BANK_NOREG")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public RegPlayer(id)
{
if(!szReg[id])
{
new szArgsPassword[32]
read_args(szArgsPassword, 31)
remove_quotes(szArgsPassword)
if(strlen( szArgsPassword ) == 0)
{
ChatColor(id, "%L", id, "DR_BANK_NOTEXT")
return PLUGIN_HANDLED
}
new szText[512]
new szName[32]
get_user_name(id, szName, charsmax( szName ))
formatex(szText, charsmax( szText ), "^"%s^" ^"%s^" ^"0^"", szName, szArgsPassword)
write_file(g_LoadFile, szText, -1)
szReg[id] = true
szAuth[id] = true
ChatColor(id, "%L", 0, "DR_BANK_REG_GOOD", szArgsPassword)
}else{
ChatColor(id, "%L", 0, "DR_BANK_REG")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public client_infochanged(id)
{
szReg[id] = false
szAuth[id] = false
szMoney[id] = 0
set_task(1.0, "CheckPlayer", id)
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}