public handleSay(id){
new args[64], arg1[16], arg2[32];
read_args(args, charsmax(args))
remove_quotes(args)
strbreak(args, arg1, charsmax(arg1), arg2, charsmax(arg2))
if (equal(arg1,"/daj", 4)){
if(arg2[0]){
new wartosc = str_to_num(arg2)
if(wartosc <= 0){
client_print(id,print_chat,"Poprawne polecenie: /daj liczba")
return
}
if(wartosc <= zp_get_user_ammo_packs(id))
show_przelew(id, wartosc)
else
client_print(id,print_chat,"Nie masz tyle AP")
}
else
client_print(id,print_chat,"Poprawne polecenie: /daj liczba")
}
}
public show_przelew(id, wartosc){
new menu = menu_create("Wybierz gracza ktoremu dasz AP", "handle_przelew");
new players[32], num;
new name[32], info[25];
get_players(players, num);
for(new i=0; i<num; ++i){
get_user_name(players[i], name, 31);
formatex(info, 24, "%08X%08X%08X", wartosc, players[i], get_user_userid(players[i]));
menu_additem(menu, name, info);
}
menu_display(id, menu);
}
public handle_przelew(id, menu, item) {
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new info[25], access, callback;
menu_item_getinfo(menu, item, access, info, 24,_, _, callback);
new tid = hexstr_to_num(info[8], 8);
new tuserid = hexstr_to_num(info[16], 8);
new wartosc = hexstr_to_num(info, 8);
client_print(0,print_chat,"id: %d tid: %d tuserid: %d wartosc: %d",id,tid,tuserid,wartosc)
if(is_user_connected(tid) && tuserid == get_user_userid(tid)){
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - wartosc)
zp_set_user_ammo_packs(tid, zp_get_user_ammo_packs(tid) + wartosc)
new aName[32], vName[32]
get_user_name(id, aName, 31)
get_user_name(tid, vName, 31)
set_hudmessage(255, 0, 0, -1.0, 0.3, 0, 6.0, 6.0)
show_hudmessage(0, "%s przekazal %d Ammo Packi dla %s!", aName, wartosc, vName)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
hexstr_to_num(string[], chars) {
new result=0;
for(new i=0; i<chars && string[i]!='^0'; ++i){
result = result<<4 + (string[i]>'9'?string[i]>'F'?string[i]-'a'+10:string[i]-'A'+10:string[i]-'0');
return result;
}