#include <amxmod>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#define TASK 235
new Taker[33], bool:blokada[33];
new const g_commands[][] = { "say /kasa", "say_team /kasa" };
public plugin_init() {
register_plugin("Cash Transfer","1.0","oeN.");
for(new i = 0; i<sizeof(g_commands); i++){
register_clcmd(g_commands[i], "CashMenu");
}
register_clcmd("Ile_Kasy", "GiveCash");
}
public client_connect(id)
blokada[id]=false;
public CashMenu(id, level, cid)
{
if(blokada[id])
{
ColorChat(id, RED, "Pieniadze mozesz przesylac raz na 2 minuty.");
return PLUGIN_HANDLED;
}
new menu = menu_create("\rWybierz gracza", "CashMenuHandle");
new players[32], pnum, tempid;
new szName[32], szItem[64], iMoney;
get_players(players, pnum);
for( new i; i<pnum; i++ )
{
tempid = players[i];
if(!is_user_connected(i) || id == tempid || get_user_money(tempid) == 16000 || cs_get_user_team(tempid) == CS_TEAM_SPECTATOR)
continue;
iMoney = cs_get_user_money(tempid)
get_user_name(tempid, szName, charsmax(szName));
formatex(szItem, charsmax(szItem), "%s (%i$)", szName, iMoney)
menu_additem(menu, szItem);
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public CashMenuHandle(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
Taker[id] = str_to_num(data);
client_cmd(id, "messagemode Ile_Kasy");
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public GiveCash(id) {
new szCash[64];
read_argv(1, szCash, 63)
remove_quotes(szCash);
new Cash = str_to_num(szCash);
new giverMoney = cs_get_user_money(id);
new takerMoney = cs_get_user_money(Taker[id]);
if(Cash <= 0) {
client_print(id, print_center, "Liczba musi byc wieksza od 0");
return PLUGIN_HANDLED;
}
if(giverMoney < Cash){
client_print(id, print_center, "Nie masz tyle kasy");
return PLUGIN_HANDLED;
}
if(takerMoney == 16000) {
client_print(id, print_center, "Gracz ma $16000");
return PLUGIN_HANDLED;
}
if(takerMoney + Cash > 16000) {
client_print(id, print_center, "Za duzo!");
return PLUGIN_HANDLED;
}
if( id == Taker[id]) {
client_print(id, print_center, "Nie mozesz dac sobie!");
return PLUGIN_HANDLED;
}
new name[32]
new name2[32]
get_user_name(id, name, 32);
get_user_name(Taker[id], name2, 32);
cs_set_user_money(id, giverMoney - Cash);
cs_set_user_money(Taker[id], takerMoney + Cash);
ColorChat(id, GREEN, "Przelales graczowi %s - %i dolarów", name2, Cash)
ColorChat(Taker[id], GREEN, "Otrzymales od gracza %s - %i dolarow", name, Cash)
blokada[id]=true;
new data[1];
data[0]=id;
set_task(120.0, "odblokuj", .parameter=data, .len=1)
return PLUGIN_CONTINUE;
}
public odblokuj(data[])
{
new id=data[0];
blokada[id]=false;
}