Ojj, coś Ci się mocno pomieszało
Musisz to zrobić następująco: Wywołać jedno menu, poczekać na rezultat (tak masz pierwsze), następnie w rezultacie wywołać drugie i w rezultacie tego 2 menu dopiero dajesz broń. Proponuję najpierw wybrać gracza, dopiero później broń jaką mu dać
public wybierz_gracza(id) {
new menu = menu_create("Wybierz gracza", "handle_gracze");
new players[32], num;
new name[32], info[3];
get_players(players, num);
for(new i=0; i<num; ++i) {
get_user_name(players[i], name, 31);
info[0] = players[i];
info[1] = get_user_userid(players[i]) & 0xFF;
info[2] = (get_user_userid(players[i])>>8) & 0xFF;
menu_additem(menu, name, info);
}
menu_display(id, menu);
}
public handle_gracze(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new info[3], access, callback;
menu_item_getinfo(menu, item, access, info, 3,_, _, callback);
if(is_user_connected(info[0]) && info[1]+(info[2]<<8) == get_user_userid(info[0])) {
new menu2= = menu_create("Wybierz Broń", "handle_bronie");
menu_additem(menu, "USP", info);//0
menu_additem(menu, "GLOCK", info);//1
menu_display(id, menu);
} else {
client_print(id, print_chat, "Gracz chyba uciekł...");
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public handle_bronie(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new info[3], access, callback;
menu_item_getinfo(menu, item, access, info, 3,_, _, callback);
if(is_user_connected(info[0]) && info[1]+(info[2]<<8) == get_user_userid(info[0])) {
switch(item) {
case 0: {
give_item(info[0],"weapon_usp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"ammo_45acp")
give_item(info[0],"weapon_knife")
}
}
} else {
client_print(id, print_chat, "Gracz chyba uciekł...");
menu_destroy(menu);
return PLUGIN_HANDLED;
}
To powinno zadziałać