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


Dodatki SourceMod



Temat jest zamknięty









