Mamy menu z nickami graczy, graczy jest powiedzmy 11, więc będą 2 strony tego menu, teraz w zależności z której strony wybierzemy gracza (0 czy 1) po wykonaniu jakiejś funkcji otworzy się nam to samo menu na tej samej stronie.
Przykładowy kod:
public player_menu (id) { new player_menu; player_menu = menu_create("\rMenu przyklad", "menu_hanlder"); new plnum = get_maxplayers(); new name[32]; new info[64] for(new i=1; i<=plnum; i++) { if (is_user_connected(i)) { get_user_name(i, name, 31); if(is_user_alive(player_i)) { format(info, 63, "%s", name); } else { format(info, 63, "\r%s", name); } menu_additem(player_menu, info, name); } } menu_destroy(menu); menu_display(id, player_menu, 0); return PLUGIN_HANDLED; } public menu_hanlder(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu); choose_menu(id); return PLUGIN_HANDLED; } /*[...] robi sie co ma sie zrobic [...]*/ menu_display(id, menu, strona); }Na razie mam coś takiego, ale przy kompilacji wywala mi błąd
public menu_page(menu, item) { new pages = menu_pages(menu); if (pages > 1); //=============Error: Empty statement { for(new i=1; i<=pages; i++) { if(item <= i*7-1) return i-1; } } else { return 0; //=============Error: Invalid expression, assumed zero } }Użyte w taki sposób:
public menu_hanlder(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu); choose_menu(id); return PLUGIN_HANDLED; } /*[...] robi sie co ma sie zrobic [...]*/ menu_display(id, menu, menu_page(menu, item)); }PS. Trochę nie związane z tematem ale spytam przy okazji.
Czym rożni się funkcja public od "nie public" czasami spotyka się w pluginach taką definicje funkcji
funkcja(...) { //[...] }
Użytkownik diggs edytował ten post 08.05.2011 18:16