Witam serdecznie,
chciałem skorzystać z gotowca do utworzenia menu graczy z tego poradnika, lecz nie wychodzi:
http://amxx.pl/topic...tworzenia-menu/
A swój problem opisałem w ostatnim poście, lecz jak nie dostałem odpowiedzi to zakładam osobny temat:
Ten post: http://amxx.pl/topic...e-2#entry600649
Taki mam kod obecnie:
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){ ColorChat(id, GREEN,"[AP] ^x01Poprawne polecenie: ^x04/daj liczba") return PLUGIN_HANDLED; } if(wartosc <= zp_get_user_ammo_packs(id)) show_przelew(id, wartosc) else{ ColorChat(id, GREEN,"[AP] ^x01Nie posiadasz tyle AP !") return PLUGIN_HANDLED; } } else{ ColorChat(id, GREEN,"[AP] ^x01Poprawne polecenie: ^x04/daj liczba") return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } 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){ if(id == players[i] || is_user_hltv(players[i])) continue; 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; }
W tej linijce sprawdzającej ( client_print(0,print_chat ....) , wszystkie wartości oprócz ID są zerem.
Myślę, że ta heksalna technika mogła zawieść
Użytkownik Lacostii edytował ten post 04.01.2014 13:24