Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
#include <nvault>
#define SIFIRLAMA_YETKI ADMIN_RCON /* amx_banksifirlax ile TUM HESAPLARI SIFIRLAMA YETKISI */
#define LISTE_YETKI ADMIN_MAP /* TUM HESAPLARA BAKMA ve LISTEDE GIZLI YETKISI */
#define MAX_NO_JOIN_DAY 30 /* KAC GUN OYUNA GIRMEYENIN HESABI SILINSIN */
new const tag[]="[LastWar'Z]";
new const menutag[]="LastWar'Z";
new const menuad[]="LastWar'Z";
new g_vault,mp_maxmoney,bnka_maxmny,bnk_ms,CEK_MIKTAR;
new bool:bankali[MAX_CLIENTS+1]=false;
new tmpm[MAX_CLIENTS+1],g_tmpisim[MAX_CLIENTS+1];
public plugin_init(){
register_plugin("Banka","0.99","ByBuLuT");
register_clcmd("say /banka","anamenu"),register_clcmd("say /bank","anamenu");
register_clcmd("say_team /banka","anamenu"),register_clcmd("say_team /bank","anamenu");
register_clcmd("banka","anamenu");
register_clcmd("PARA_MIKTARI", "TMP_devam");
register_clcmd("amx_banksifirlax","sifirla");
register_clcmd("otobuy","bankala"); /* VARSAYILAN TUS AYARLARI BOZULMAMISSA F1'E BASINCA MENU ACILIR */
register_clcmd("yatirilacak_para","yatirilacak_paraa");
register_clcmd("cekilecek_para","cekilecek_paraa");
CEK_MIKTAR = register_cvar("banka_cekmik","9999999"); /* TOPLU CEKIM MIKTARI BELIRLE */
mp_maxmoney = register_cvar("mp_maxmoney","9999999999"); /* BIR OYUNCUNUN SAHIP OLABILECEGI EN FAZLA PARA */
bnka_maxmny = register_cvar("banka_maxmoney","9999999999"); /* BIR OYUNCUNUN BANKASINA YATIRABILECEGI EN FAZLA PARA */
bnk_ms = register_cvar("banka_mesajlar","1"); /* TRANSFER MESAJLARI HERKESE MI SADECE YOLLAYANAMI GORUNSUN */
}
public bankala(id) { anamenu(id); return PLUGIN_HANDLED; }
public client_disconnected(id){
SaveData(id);
bankali[id] = false;
}
public plugin_cfg(){
g_vault=nvault_open("dolar_banka");
if(g_vault==INVALID_HANDLE) log_amx("nVault dosyasi acilamadi!");
nvault_prune( g_vault , 0 , get_systime() - ( 86400 * MAX_NO_JOIN_DAY ) );
}
public plugin_end(){
for(new id = 1; id <= MAX_CLIENTS; id++)
{
SaveData(id);
}
nvault_close(g_vault);
}
public sifirla(id){
if(~get_user_flags(id) & SIFIRLAMA_YETKI){
client_print_color(0,0,"^4%s:^1 Yetkisiz Erisim.!^4 %n^1 Bankalari SIFIRLAMA Komutunu Denedi.!",tag,id);
return PLUGIN_HANDLED;
}
nvault_prune(g_vault,0,get_systime());
client_print_color(0,0,"^4%s:^1 TUM BANKA HESAPLARI^3 %n^1 TARAFINDAN^4 SIFIRLANDI^3.!",tag,id);
client_print_color(0,0,"^4%s:^1 TUM BANKA HESAPLARI^3 %n^1 TARAFINDAN^4 SIFIRLANDI^3.!",tag,id);
return PLUGIN_HANDLED;
}
public anamenu(id){
bankali[id] = true;
new menuz,key[56],authid[48]; new amenu[512]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
formatex(amenu,charsmax(amenu),"\r%s \y/\d/ \yBanka \wIslemleri^n\d Banka Sec.^n",menuad),menuz=menu_create(amenu,"anamenu1x");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rDolar ($) \yBankasi^n[ Ustunde: %i$ | Bankada: %i$ ]^n",menutag,get_member(id, m_iAccount),nvault_get(g_vault,key));
menu_additem(menuz,amenu,"1");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rDoviz \yOfisi",menutag);
menu_additem(menuz,amenu,"3");
menu_setprop(menuz,MPROP_EXITNAME,"\rCikis \d213.238.173.xx");
menu_setprop(menuz,MPROP_EXIT,MEXIT_ALL);
menu_display(id,menuz,0);
return PLUGIN_HANDLED;
}
public anamenu1x(id,menu,item){
if(item==MENU_EXIT){ menu_destroy(menu); return PLUGIN_HANDLED; }
new access,callback,data[6],iname[64]; menu_item_getinfo(menu,item,access,data,5,iname,63,callback);
new keyx=str_to_num(data);
switch(keyx){
case 1 : anamenux(id);
case 3 : client_cmd(id,"say /fragdoviz");
}
return PLUGIN_HANDLED;
}
public anamenux(id){
bankali[id] = true;
new menuz,key[56],authid[48]; new amenu[512]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
formatex(amenu,charsmax(amenu),"\r%s \y/\d/ \yMerkez \wBankasi^n|\y Ustunde %i$\w |\r Bankada %i$\w |",menuad,get_member(id, m_iAccount),nvault_get(g_vault,key));
menuz=menu_create(amenu,"anamenu1");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rPara \yYatir \d[Miktar]",menutag)
menu_additem(menuz,amenu,"1");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rPara \yYatir \d[Hepsi]^n",menutag)
menu_additem(menuz,amenu,"5");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rPara \yCek \d[Miktar]",menutag)
menu_additem(menuz,amenu,"2");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rPara \yCek \d[%i\r$\d]^n",menutag,get_pcvar_num(CEK_MIKTAR))
menu_additem(menuz,amenu,"6");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rPara \yGonder \d[Max %i\r$\d]^n",menutag,get_pcvar_num(mp_maxmoney))
menu_additem(menuz,amenu,"7");
if(get_user_flags(id) & LISTE_YETKI){
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rHesaplara Bak [$] \yMotd",menutag)
menu_additem(menuz,amenu,"3");
formatex(amenu,charsmax(amenu),"%s \d/\y/ \rHesaplara Bak [$] \yMenu",menutag)
menu_additem(menuz,amenu,"4");
}
menu_setprop(menuz,MPROP_EXITNAME,"\rCikis \d@ByBuLuT`");
menu_setprop(menuz,MPROP_EXIT,MEXIT_ALL);
menu_display(id,menuz,0);
}
public anamenu1(id,menu,item){
if(item==MENU_EXIT){ menu_destroy(menu); return PLUGIN_HANDLED; }
new access,callback,data[6],iname[64]; menu_item_getinfo(menu,item,access,data,5,iname,63,callback);
new key[56],authid[48];
new keyx=str_to_num(data);
switch(keyx){
case 1 : client_cmd(id,"messagemode yatirilacak_para");
case 2 : client_cmd(id,"messagemode cekilecek_para");
case 3:
{
if(get_user_flags(id) & LISTE_YETKI)
{
new message[1100],len;
len = formatex(message,1099,"<body style=^"background-color: #2B2B2B^">^n");
len += formatex(message[len],1099-len,"<header style=^"background-color:#2478A0; color: aliceblue^"><h2 style=^"text-align: center;font-family:Calibri^">CivilGaming Oyuncu Paralari ve Bankalari</h2></header>^n")
for(new i = 1; i < 33; i++)
{
if(is_user_connected(i) && !is_user_bot(i))
{
get_user_authid(i,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
new iName[64];
get_user_name(i,iName,63);
len += formatex(message[len],1099-len,"<div style=^"background-color: #C1C1C1^">Nick: <b>%s</b> (%i $) Banka:<b> %i $</b></div>^n",iName,get_member(i, m_iAccount),nvault_get(g_vault,key));
}
}
show_motd(id,message," - Banka Durumlari - ");
}
}
case 4:
{
new xdmenu[364],szName[MAX_NAME_LENGTH], szTempid[10], players[MAX_CLIENTS], inum, ids;
formatex(xdmenu, charsmax(xdmenu),"%s \rDurumlar^n-\w Isim -\d |\yPara\d| - |\yBanka\d|\r",menuad);
new Menu = menu_create(xdmenu, "puanx_oyuncu");
get_players(players,inum,"ch");
for(new i=0; i<inum; i++){
ids=players[i];
get_user_name(ids, szName, charsmax(szName));
get_user_authid(ids,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
num_to_str(ids, szTempid, charsmax(szTempid));
formatex(xdmenu, charsmax(xdmenu), "%s \d|\y%i$\d||\y%i$\d|",szName,get_member(ids, m_iAccount),nvault_get(g_vault,key));
menu_additem(Menu, xdmenu, szTempid);
}
menu_setprop(Menu,MPROP_BACKNAME,"Geri^n\r@\dByBuLuT`")
menu_setprop(Menu,MPROP_NEXTNAME,"Ileri")
menu_setprop(Menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, Menu, 0);
}
case 5:
{
new miktar,para,key[56];
new authid[48]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
para=get_member(id, m_iAccount);
miktar=nvault_get(g_vault,key)+para;
if(miktar>get_pcvar_num(bnka_maxmny)){
client_print_color(id,id,"^4%s ^1Hepsini Yatirirsan Bankan Siniri Geciyor.!^3 Max:^1 %i^4 $",tag,get_pcvar_num(bnka_maxmny));
if(get_pcvar_num(bnka_maxmny)-nvault_get(g_vault,key)!=0){
client_print_color(id,id,"^4%s ^1Ustundeki Paranin^3 %i^4 $^1 Kadarini Yatirabildin.!",tag,get_pcvar_num(bnka_maxmny)-nvault_get(g_vault,key));
}
rg_add_account(id, para-(get_pcvar_num(bnka_maxmny)-nvault_get(g_vault,key)), AS_SET);
new topla[16]; num_to_str(get_pcvar_num(bnka_maxmny),topla,charsmax(topla)); nvault_set(g_vault,key,topla);
return PLUGIN_HANDLED;
}else{
rg_add_account(id, 0, AS_SET);
new topla[16]; num_to_str(nvault_get(g_vault,key)+para,topla,charsmax(topla)); nvault_set(g_vault,key,topla);
client_print_color(id,id,"^4%s ^1Ustundeki Butun Para Bankaya Yatirildi.!",tag),anamenu(id);
return PLUGIN_HANDLED;
}
}
case 6:
{
new maxmiktar,para,key[56];
para=get_member(id, m_iAccount);
maxmiktar=get_pcvar_num(mp_maxmoney)-para;
new authid[48]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
if(nvault_get(g_vault,key)<get_pcvar_num(CEK_MIKTAR)) { client_print_color(id,id,"^4%s ^1Hesabında O Kadar $ bile ^4Yok.!",tag),anamenu(id); return PLUGIN_HANDLED; }
if(para+get_pcvar_num(CEK_MIKTAR)>get_pcvar_num(mp_maxmoney)+1){
client_print_color(id,id,"^4%s^1 15K Cekersen Paran Bulundurma Sinirini Geciyor.! Max: %i $",tag,get_pcvar_num(mp_maxmoney));
client_print_color(id,id,"^4%s^1 Daha Az Miktar Yaz ve Cek.! En Fazla Hesapta varsa %i Kadar Cekebilirsin.!",tag,maxmiktar);
client_cmd(id,"messagemode cekilecek_para");
return PLUGIN_HANDLED;
}
new topla[16]; num_to_str(nvault_get(g_vault,key)-get_pcvar_num(CEK_MIKTAR),topla,charsmax(topla)); nvault_set(g_vault,key,topla);
rg_add_account(id, para+get_pcvar_num(CEK_MIKTAR), AS_SET);
client_print_color(id,id,"^4%s ^1Bankadan %i$ Cektin.!",tag,get_pcvar_num(CEK_MIKTAR)),anamenu(id);
return PLUGIN_HANDLED;
}
case 7:
{
tmp_oyuncu(id),tmpm[id]=1;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public puanx_oyuncu(id) return PLUGIN_HANDLED;
public tmp_oyuncu(id) {
new ndmenu[64],szName[MAX_NAME_LENGTH], szTempid[10], players[MAX_CLIENTS], key[56],authid[48], inum, ids;
formatex(ndmenu, charsmax(ndmenu),"\yOyuncuyu Sec.^n\wIsim \d|\w Ustunde$ \d|\r Bankada$\y");
new Menu = menu_create(ndmenu, "tmp_oyuncu2");
get_players(players,inum,"chi");
for(new i=0; i<inum; i++) {
ids=players[i];
if(id != ids){
get_user_name(ids, szName, charsmax(szName));
get_user_authid(ids,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
num_to_str(ids, szTempid, charsmax(szTempid));
if(~get_user_flags(ids) & LISTE_YETKI) formatex(ndmenu, charsmax(ndmenu), "%s \d| \w%i$ \d|\r XXX$",szName,get_member(ids, m_iAccount));
else formatex(ndmenu, charsmax(ndmenu), "\y%s \r| \d[GIZLI] \r|\d [GIZLI]",szName);
menu_additem(Menu, ndmenu, szTempid);
}
}
menu_setprop(Menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, Menu, 0);
}
public tmp_oyuncu2(id,menu,item) {
if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
new access,callback,data[6],iname[64];
menu_item_getinfo(menu,item,access,data,charsmax(data),iname,charsmax(iname),callback);
g_tmpisim[id]=str_to_num(data);
client_cmd(id, "messagemode PARA_MIKTARI");
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public TMP_devam(id) {
if(!is_user_connected(id) || tmpm[id]==0) return PLUGIN_HANDLED;
new say[256]; read_args(say, charsmax(say)); remove_quotes(say);
new name[MAX_NAME_LENGTH],ids=g_tmpisim[id]; get_user_name(ids, name, charsmax(name));
new miktar,para,paras,max; miktar=str_to_num(say);para=get_member(id, m_iAccount);paras=get_member(ids, m_iAccount);max=get_pcvar_num(mp_maxmoney);
if(!miktar || equal(say, "") || miktar<=0) { client_print_color(id,id,"[^3%s^1] ^4Gecersiz miktar.",tag); tmpm[id]=0; return PLUGIN_HANDLED; }
if(para < miktar) { client_print_color(id,id,"[^3%s^1] ^4O Kadar Paran Yok.!",tag),anamenu(id); tmpm[id]=0; return PLUGIN_HANDLED; }
if(max < miktar) { client_print_color(id,id,"[^3%s^1] ^4En fazla %i $ Yollayabilirsin.!",tag,max),anamenu(id); tmpm[id]=0; return PLUGIN_HANDLED; }
if(!is_user_connected(ids)) return PLUGIN_HANDLED;
if(tmpm[id]==1 && ids!=0){
if((paras + miktar) >= max){
client_print_color(id, id, "^4%s^1:^3 %s^1 oyuncusuna suan en fazla^4 %i$ Yollayabilirsin^3.!",tag,name,max-paras-1);
return PLUGIN_HANDLED;
}
rg_add_account(id, para - miktar, AS_SET),rg_add_account(ids, paras + miktar, AS_SET),tmpm[id]=0,g_tmpisim[id]=0;
if(get_pcvar_num(bnk_ms)==1) client_print_color(0, 0, "[^3 %n ^1] ^4adli oyuncu ^1[^3 %s ^1]^4 adli kisiye^1 %i $^4 yolladi.",id,name,miktar);
else client_print_color(id, id, "[^3 %s ^1]^4 adli kisiye^1 %i $^4 yolladin.",name,miktar);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public yatirilacak_paraa(id){
new arg[256],miktar; read_args(arg,charsmax(arg)); remove_quotes(arg);
new key[56],authid[48]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
miktar=str_to_num(arg);
new para = get_member(id, m_iAccount);
if(miktar>0){
if(nvault_get(g_vault,key)+miktar<=get_pcvar_num(bnka_maxmny)){
if(para>=miktar){
rg_add_account(id, get_member(id, m_iAccount) - miktar, AS_SET);
new topla[16]; num_to_str(nvault_get(g_vault,key)+miktar,topla,charsmax(topla)); nvault_set(g_vault,key,topla);
client_print_color(id,id,"^4%s ^1Basarili bir sekilde para yatirdiniz! ^3%i$",tag,miktar);
}
else{
client_print_color(id,id,"^4%s ^1Ustunde O kadar $ ^4Yok.!",tag),anamenu(id);
}
}
else{
client_print_color(id,id,"^4%s ^1Bankanda %s 'dan fazla $ ^4saklayamazsin!",tag,get_pcvar_num(bnka_maxmny)),anamenu(id);
}
}
else{
client_print_color(id,id,"^4%s ^1Gecersiz ^4parametre",tag),anamenu(id);
}
}
public cekilecek_paraa(id){
new arg[256],miktar; read_args(arg,charsmax(arg)); remove_quotes(arg); miktar=str_to_num(arg);
new key[56],authid[48]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
new para = get_member(id, m_iAccount);
if(miktar>0){
if(para + miktar < get_pcvar_num(mp_maxmoney)){
if(nvault_get(g_vault,key)>=miktar){
rg_add_account(id, get_member(id, m_iAccount) + miktar, AS_SET);
new topla[16]; num_to_str(nvault_get(g_vault,key)-miktar,topla,charsmax(topla)); nvault_set(g_vault,key,topla);
client_print_color(id,id,"^4%s ^1Basarili bir sekilde para cektiniz! ^3%i$",tag,miktar);
}
else{
client_print_color(id,id,"^4%s ^1Hesabinizda Yeterli $ ^4Yok.",tag),anamenu(id);
}
}
else{
client_print_color(id,id,"^4%s ^1Ustunde^4 %i $ 'dan Fazla Para Bulunduramazsin.!",tag,get_pcvar_num(mp_maxmoney)),anamenu(id);
}
}
else{
client_print_color(id,id,"^4%s ^1Gecersiz ^4parametre",tag),anamenu(id);
}
}
SaveData(id){
if(!is_user_connected(id) || is_user_bot(id)) return;
if(!bankali[id]) return;
new miktar,key[56];
miktar=get_member(id, m_iAccount);
new authid[48]; get_user_authid(id,authid,charsmax(authid)); formatex(key,charsmax(key),"%s",authid);
if(nvault_get(g_vault,key)+miktar<get_pcvar_num(bnka_maxmny)){
new topla[16]; num_to_str(nvault_get(g_vault,key)+miktar,topla,charsmax(topla)); nvault_set(g_vault,key,topla);
}else{
new topla[16]; num_to_str(get_pcvar_num(bnka_maxmny),topla,charsmax(topla)); nvault_set(g_vault,key,topla);
}
rg_add_account(id, 0, AS_SET);
}