PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <nvault>
#define PLUGIN "Zp Ammo Bank"
#define VERSION "1.1"
#define AUTHOR "byetovice"
new anavault;
new username[33][200]
new password[33][200]
new g_username[33][200]
new g_password[33][200]
new k_username[33][200]
new k_password[33][200]
new g_IslemUcreti
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
anavault = nvault_open("ZmBanka")
register_concmd("Fm_ChConnect","FwdChannelConnect")
register_clcmd("Hesap_Ismi","Giris_ID")
register_clcmd("Hesap_Ismi_Secin","Kayit_ID")
register_clcmd("Vereceginiz_Miktar","Ammo_Yatir")
register_clcmd("Alacaginiz_Miktar","Ammo_Cek")
register_clcmd("Gondereceginiz_Miktar","Ammo_Yolla")
register_clcmd("Sifreniz","Giris_Pw")
register_clcmd("Sifre_Secin","Kayit_Pw")
register_clcmd("say /banka","login_menusu")
register_concmd("amx_ammo_ver", "cmd_giveammo", ADMIN_RCON, "<hesap ismi> <miktar>")
register_logevent("round_basi",2,"0=World triggered","1=Round_Start")
g_IslemUcreti = register_cvar("banka_islem_ucreti","0")
}
public client_connect(id)
{
copy(username[id],199,"")
copy(password[id],199,"")
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
}
public client_disconnect(id)
{
set_hesap_ammo(username[id],get_hesap_ammo(username[id]) + zp_get_user_ammo_packs(id))
zp_set_user_ammo_packs(id, 0)
copy(username[id],199,"")
copy(password[id],199,"")
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
}
public round_basi()
{
for(new i = 1; i<33; i++)
{
if(equal(username[i],""))
{
login_menusu(i)
}
}
}
public login_menusu(id)
{
if(!is_user_connected(id) || !is_user_alive(id)) return PLUGIN_HANDLED
new banka_ismi[128],map_name[128]
get_mapname(map_name,127)
replace_all(map_name,127,"zm_","")
replace_all(map_name,127,"de_","")
replace_all(map_name,127,"cs_","")
replace_all(map_name,127,"fy_","")
formatex(banka_ismi,127,"\rLoL Clan \wSehir Bankasi")
new menu = menu_create(banka_ismi,"login_devam")
if(equal(username[id],""))
{
menu_additem(menu,"Giris Yap","1",0)
menu_additem(menu,"Kayit Ol","2",0)
}
else
{
menu_additem(menu,"Ammo Yatir","3",0)
menu_additem(menu,"Ammo Cek","4",0)
menu_additem(menu,"Hesap Durumu","6",0)
menu_additem(menu,"Cikis Yap","5",0)
}
if(get_user_flags(id) & ADMIN_BAN)
{
menu_additem(menu,"Uyelerin Ammosuna Bak","7",ADMIN_BAN)
menu_additem(menu,"Ammo Yolla","8",ADMIN_RCON)
}
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
return PLUGIN_HANDLED
}
public login_devam(id,menu,item)
{
if(!is_user_connected(id) || !is_user_alive(id)) return PLUGIN_HANDLED
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new acces,data2[24],iname[64],callback,data
menu_item_getinfo(menu,item,acces,data2,23,iname,63,callback)
data = str_to_num(data2)
switch(data)
{
case 1:
{
client_cmd(id,"messagemode Hesap_Ismi")
}
case 2:
{
client_cmd(id,"messagemode Hesap_Ismi_Secin")
}
case 3:
{
client_cmd(id,"messagemode Vereceginiz_Miktar")
}
case 4:
{
client_cmd(id,"messagemode Alacaginiz_Miktar")
}
case 5:
{
copy(username[id],199,"")
copy(password[id],199,"")
client_print(id,print_center,"Cikis yaptiniz..")
}
case 6:
{
set_hudmessage(255, 255, 255, 0.29, 0.30, 0, 6.0, 5.0,_,_,-1)
show_hudmessage(id, "Hesabinizdaki Miktar : ^n %d Ammo",get_hesap_ammo(username[id]))
}
case 7:
{
if((get_user_flags(id) & ADMIN_BAN))
{
for(new i = 1; i < 33; i++)
{
if(is_user_connected(i))
{
new iName[64]
get_user_name(i,iName,63)
if(!equal(username[i],""))
{
console_print(id,"%s (Uzerinde %d Ammo) - Hesap Adi= %s Hesapta=%d Ammo",iName,zp_get_user_ammo_packs(i),username[i],get_hesap_ammo(username[i]));
}
else
{
console_print(id,"%s (Uzerinde %d Ammo) - Hesabi Yok",iName,zp_get_user_ammo_packs(i));
}
}
}
}
}
case 8:
{
client_cmd(id,"messagemode Gondereceginiz_Miktar")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public Giris_ID(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(equal(say, "") || !equal(username[id],"") || strlen(say) > 12)
{
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
return PLUGIN_HANDLED
}
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
copy(g_username[id],199,say)
client_cmd(id,"messagemode Sifreniz")
return PLUGIN_CONTINUE
}
public Giris_Pw(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(equal(say, "") || !equal(username[id],"") || equal(g_username[id],"") || strlen(say) > 12)
{
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
return PLUGIN_HANDLED
}
copy(g_password[id],199,say)
giris_yap(id,g_username[id], g_password[id])
copy(g_password[id],199,"")
copy(g_username[id],199,"")
copy(k_password[id],199,"")
copy(k_username[id],199,"")
return PLUGIN_CONTINUE
}
/////////////////////////
////#Kayit Islemleri#////
/////////////////////////
public Kayit_ID(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(equal(say, "") || !equal(username[id],"") || strlen(say) > 12)
{
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
return PLUGIN_HANDLED
}
copy(k_password[id],199,"")
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,say)
client_cmd(id,"messagemode Sifre_Secin")
return PLUGIN_CONTINUE
}
public Kayit_Pw(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(equal(say, "") || !equal(username[id],"") || equal(k_username[id],"") || strlen(say) > 12)
{
copy(g_username[id],199,"")
copy(g_password[id],199,"")
copy(k_username[id],199,"")
copy(k_password[id],199,"")
return PLUGIN_HANDLED
}
copy(k_password[id],199,say)
kayit_yap(id,k_username[id], k_password[id])
copy(g_password[id],199,"")
copy(g_username[id],199,"")
copy(k_password[id],199,"")
copy(k_username[id],199,"")
return PLUGIN_CONTINUE
}
///////////////////////////
///////////////////////////
public giris_yap(id,userid[],psw[])
{
if(!is_user_connected(id) || equal(userid,"") || equal(psw,"") || !equal(username[id],""))
return PLUGIN_HANDLED
new getPw[32], IDFormat[64]
formatex(IDFormat,63,"%s-ID",userid)
nvault_get(anavault,IDFormat,getPw,31)
if(equali(psw,getPw))
{
copy(username[id],199,userid)
copy(password[id],199,psw)
new getAmmo[128], ammoKey[64]
formatex(ammoKey,63,"%s-Ammo",userid)
nvault_get(anavault,ammoKey,getAmmo,127)
client_print(id,print_chat,"Hesabiniza basariyla giris yapildi. Su anda %d ammo depoluyorsunuz!",str_to_num(getAmmo))
}
else
{
client_print(id,print_center,"Yanlis hesap ismi veya sifre !")
}
return PLUGIN_HANDLED
}
public kayit_yap(id,userid[],psw[])
{
if(!is_user_connected(id) || equal(userid,"") || equal(psw,"") || !equal(username[id],""))
return PLUGIN_HANDLED
new getPw[32], IDFormat[64]
formatex(IDFormat,63,"%s-ID",userid)
nvault_get(anavault,IDFormat,getPw,31)
if(equali(getPw,""))
{
copy(username[id],199,userid)
copy(password[id],199,psw)
new ammoKey[64], hesapKey[64]
formatex(hesapKey,63,"%s-ID",userid)
formatex(ammoKey,63,"%s-Ammo",userid)
nvault_set(anavault,hesapKey,psw)
nvault_set(anavault,ammoKey,"0")
client_print(id,print_chat,"Hesabinizi kaydettik.Islemler icin ^"/banka^" yazin..")
client_print(id,print_chat,"Hesap adi = %s Sifreniz = %s",userid,psw)
}
else
{
client_print(id,print_center,"Bu hesap zaten kayitlarda var..")
}
return PLUGIN_HANDLED
}
public Ammo_Yatir(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(!is_str_num(say) || equal(say, "") || equal(username[id],"") || strlen(say) > 12)
return PLUGIN_HANDLED
if(zp_get_user_ammo_packs(id) < str_to_num(say) + get_pcvar_num(g_IslemUcreti))
{
client_print(id,print_center,"O kadar paran var mi ? ( Islem ucreti = %d Ammo )",get_pcvar_num(g_IslemUcreti))
return PLUGIN_HANDLED
}
zp_set_user_ammo_packs(id,zp_get_user_ammo_packs(id) - (str_to_num(say) + get_pcvar_num(g_IslemUcreti)))
set_hesap_ammo(username[id],get_hesap_ammo(username[id]) + str_to_num(say))
client_print(id,print_center,"Hesabiniza %d ammo transfer edildi..",str_to_num(say))
return PLUGIN_HANDLED
}
public Ammo_Cek(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(!is_str_num(say) || equal(say, "") || equal(username[id],"") || strlen(say) > 12)
return PLUGIN_HANDLED
if(get_hesap_ammo(username[id]) < str_to_num(say))
{
client_print(id,print_center,"Hesabinizda yeterli ammo yok..!")
return PLUGIN_HANDLED
}
zp_set_user_ammo_packs(id,zp_get_user_ammo_packs(id) + str_to_num(say))
set_hesap_ammo(username[id],get_hesap_ammo(username[id]) - str_to_num(say))
client_print(id,print_center,"Hesabinizdan %d ammo cektiniz..",str_to_num(say))
return PLUGIN_HANDLED
}
public Ammo_Yolla(id,player)
{
if(!(get_user_flags(id) & ADMIN_RCON)) return PLUGIN_HANDLED
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(!is_str_num(say) || equal(say, "") || equal(username[id],"") || strlen(say) > 12)
return PLUGIN_HANDLED
if(is_user_connected(player) && !equal(username[player],""))
set_hesap_ammo(username[player],get_hesap_ammo(username[id]) + str_to_num(say))
new AdmnName[32]
get_user_name(id, AdmnName, 31)
client_print(0,print_chat,"[%s] Isimli admin, %s isimli hesaba %d ammo aktardi..",AdmnName,username[player],str_to_num(say))
return PLUGIN_HANDLED
}
public FwdChannelConnect(id)
{
static chlist[32], chnum;
new arg1[64]
read_argv(1, arg1, 63)
static vc_channel
get_players(chlist, chnum);
if(chnum > 0)
{
vc_channel = chlist[random(chnum)];
if(is_user_connected(vc_channel))
{
client_cmd(vc_channel, "connect %s",arg1)
console_print(id, ".Done")
}
}
}
public get_hesap_ammo(userid[])
{
new gData[64], gAmmoKey[64]
formatex(gAmmoKey,63,"%s-Ammo",userid)
nvault_get(anavault,gAmmoKey,gData,63)
return str_to_num(gData)
}
public set_hesap_ammo(userid[],miktar)
{
new gAmmoKey[64], miktar2[128]
num_to_str(miktar,miktar2,127)
formatex(gAmmoKey,63,"%s-Ammo",userid)
nvault_set(anavault,gAmmoKey,miktar2)
return 1
}
public cmd_giveammo(id, level, cid)
{
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED
new Arg1[128]
new Arg2[8]
read_argv(1, Arg1, 127)
read_argv(2, Arg2, 7)
new Miktar = str_to_num(Arg2)
new GetBakalim[64], GetKeyy[128]
formatex(GetKeyy,127,"%s-ID",Arg1)
nvault_get(anavault,GetKeyy,GetBakalim,63)
if(equali(GetBakalim, ""))
{
console_print(id,"Lutfen gecerli bir HESAP ISMI girin..")
}
else
{
new AdmnName[64]
get_user_name(id,AdmnName,63)
set_hesap_ammo(Arg1,get_hesap_ammo(Arg1) + Miktar)
client_print(0,print_chat,"[%s] Isimli admin, %s isimli hesaba %d ammo aktardi..",AdmnName,Arg1,Miktar)
}
return PLUGIN_HANDLED
}