denermisin bunu
#include <amxmodx>
#include <reapi>
#include <nvault>
#define SIFIRLAMA_YETKI ADMIN_RCON
#define BANKA_LIMIT 80000
new const tag[] = "[PRO PUBLIC]";
new g_vault, p_bnk_ms;
new g_banka[33], g_hedef[33];
public plugin_init() {
register_plugin("DM Banka", "21.0", "Aim970.dll & RizePoşetÇay");
register_clcmd("say /banka", "BankaMenu");
register_clcmd("say /bank", "BankaMenu");
register_clcmd("amx_banksifirlax", "AdminSifirla");
register_clcmd("TRANSFER_MIKTAR", "TransferTamamla");
register_clcmd("CEK_OZEL_MIKTAR", "OzelMiktarCekTamamla");
register_clcmd("YATIR_OZEL_MIKTAR", "OzelMiktarYatirTamamla");
register_cvar("mp_maxmoney", "80000");
p_bnk_ms = register_cvar("banka_mesajlar", "1");
}
public plugin_cfg() {
g_vault = nvault_open("pro_public_banka");
}
public client_putinserver(id) {
if(is_user_bot(id)) return;
new authid[35]; get_user_authid(id, authid, charsmax(authid));
g_banka[id] = nvault_get(g_vault, authid);
}
public client_disconnected(id) VeriKaydet(id);
public plugin_end() {
for(new i = 1; i <= 32; i++) {
if(is_user_connected(i)) VeriKaydet(i);
}
nvault_close(g_vault);
}
public AdminSifirla(id) {
if(!(get_user_flags(id) & SIFIRLAMA_YETKI)) return PLUGIN_HANDLED;
nvault_prune(g_vault, 0, get_systime());
client_print_color(0, 0, "^4%s ^3%n ^1tarafından tüm bankalar sıfırlandı!", tag, id);
for(new i = 1; i <= 32; i++) g_banka[i] = 0;
return PLUGIN_HANDLED;
}
public ParaIslemiYap(id, miktar, tip) {
new cebindeki = get_member(id, m_iAccount);
if(tip == 0) {
if(g_banka[id] <= 0) return;
if(g_banka[id] < miktar) miktar = g_banka[id];
new bos = BANKA_LIMIT - cebindeki;
if(bos <= 0) { client_print_color(id, id, "^4%s ^1Cebin dolu!", tag); return; }
if(miktar > bos) miktar = bos;
g_banka[id] -= miktar;
rg_add_account(id, cebindeki + miktar, AS_SET);
} else {
if(cebindeki <= 0) return;
if(cebindeki < miktar) miktar = cebindeki;
new b_bos = BANKA_LIMIT - g_banka[id];
if(b_bos <= 0) { client_print_color(id, id, "^4%s ^1Banka dolu!", tag); return; }
if(miktar > b_bos) miktar = b_bos;
g_banka[id] += miktar;
rg_add_account(id, cebindeki - miktar, AS_SET);
}
VeriKaydet(id);
}
public TransferTamamla(id) {
new say[16]; read_args(say, charsmax(say)); remove_quotes(say);
new miktar = str_to_num(say), target = g_hedef[id];
if(!is_user_connected(target) || miktar <= 0 || g_banka[id] < miktar) {
client_print_color(id, id, "^4%s ^1Hatalı işlem!", tag);
return PLUGIN_HANDLED;
}
new target_bos = BANKA_LIMIT - g_banka[target];
if(target_bos <= 0) {
client_print_color(id, id, "^4%s ^3%n ^1bankası dolu!", tag, target);
return PLUGIN_HANDLED;
}
new gonderilen = (miktar > target_bos) ? target_bos : miktar;
g_banka[id] -= gonderilen;
g_banka[target] += gonderilen;
if(get_pcvar_num(p_bnk_ms) == 1) {
client_print_color(0, 0, "^4%s ^3%n^1, ^3%n ^1kişisine ^4%d $ ^1gönderdi.", tag, id, target, gonderilen);
}
VeriKaydet(id);
VeriKaydet(target);
BankaMenu(id);
return PLUGIN_HANDLED;
}
public VeriKaydet(id) {
if(!is_user_connected(id) || is_user_bot(id)) return;
new authid[35], m[16];
get_user_authid(id, authid, charsmax(authid));
num_to_str(g_banka[id], m, charsmax(m));
nvault_set(g_vault, authid, m);
}
public BankaMenu(id) {
if(!is_user_connected(id)) return PLUGIN_HANDLED;
new title[512];
formatex(title, charsmax(title), "\r{ \wPRO PUBLIC \y~> \wGaming \r} \y~ > \wBanka^n\w| \yUstunde \w%d$ \w| \rBankada \w%d$ \w|^n\dLimit: \r80.000 $", get_member(id, m_iAccount), g_banka[id]);
new menu = menu_create(title, "BankaMenu_Handler");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \rPara Yatırma İşlemleri", "1");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \rPara Çekme İşlemleri", "2");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \yPara Gönder \d{ \wTransfer \d}", "3");
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public BankaMenu_Handler(id, menu, item) {
if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
switch(item) {
case 0: YatirmaMenusu(id);
case 1: CekmeMenusu(id);
case 2: TransferMenu(id);
}
menu_destroy(menu); return PLUGIN_HANDLED;
}
public YatirmaMenusu(id) {
new menu = menu_create("\r{ \wPRO \r} \yPara Yatırma Paneli:", "Yatirma_Handler");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \rHepsini Yatır", "1");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \yÖzel Miktar Yatır", "2");
menu_additem(menu, "\yGeri Dön", "777");
menu_display(id, menu, 0);
}
public Yatirma_Handler(id, menu, item) {
if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
new data[10]; menu_item_getinfo(menu, item, _, data, charsmax(data));
new secim = str_to_num(data);
menu_destroy(menu);
if(secim == 777) BankaMenu(id);
else if(secim == 2) client_cmd(id, "messagemode YATIR_OZEL_MIKTAR");
else { ParaIslemiYap(id, BANKA_LIMIT, 1); YatirmaMenusu(id); }
return PLUGIN_HANDLED;
}
public CekmeMenusu(id) {
new menu = menu_create("\r{ \wPRO \r} \yPara Çekme Paneli:", "Cekme_Handler");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \r5.000 $ \wÇek", "5000");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \r10.000 $ \wÇek", "10000");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \yÖzel Miktar Yaz", "999");
menu_additem(menu, "\d[ - \rPRO \d] \y|~| \rHepsini Çek", "888");
menu_additem(menu, "\yGeri Dön", "777");
menu_display(id, menu, 0);
}
public Cekme_Handler(id, menu, item) {
if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
new data[10]; menu_item_getinfo(menu, item, _, data, charsmax(data));
new secim = str_to_num(data);
menu_destroy(menu);
if(secim == 777) BankaMenu(id);
else if(secim == 999) client_cmd(id, "messagemode CEK_OZEL_MIKTAR");
else { ParaIslemiYap(id, (secim == 888) ? BANKA_LIMIT : secim, 0); CekmeMenusu(id); }
return PLUGIN_HANDLED;
}
public TransferMenu(id) {
new menu = menu_create("\r{ \wPRO \r} \yTransfer Yapılacak Kişi:", "Transfer_Handler");
new players[32], pnum, target, name[32], id_str[10];
get_players(players, pnum, "chi");
for(new i = 0; i < pnum; i++) {
target = players[i]; if(target == id) continue;
get_user_name(target, name, charsmax(name)); num_to_str(target, id_str, charsmax(id_str));
menu_additem(menu, name, id_str);
}
menu_additem(menu, "\yGeri Dön", "777");
menu_display(id, menu, 0);
}
public Transfer_Handler(id, menu, item) {
if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
new data[10]; menu_item_getinfo(menu, item, _, data, charsmax(data));
new tid = str_to_num(data);
menu_destroy(menu);
if(tid == 777) BankaMenu(id);
else { g_hedef[id] = tid; client_cmd(id, "messagemode TRANSFER_MIKTAR"); }
return PLUGIN_HANDLED;
}
public OzelMiktarCekTamamla(id) {
new say[16]; read_args(say, charsmax(say)); remove_quotes(say);
ParaIslemiYap(id, str_to_num(say), 0); CekmeMenusu(id);
return PLUGIN_HANDLED;
}
public OzelMiktarYatirTamamla(id) {
new say[16]; read_args(say, charsmax(say)); remove_quotes(say);
ParaIslemiYap(id, str_to_num(say), 1); YatirmaMenusu(id);
return PLUGIN_HANDLED;
}
BeğenBunu ilk beğenen sen ol.
Bunu ilk beğenen sen ol.
Son Düzenleme: 03-03-2026, 03:21, Düzenleyen: Aim970.dll.