This is how you can create menu with multiple pages using old menu system:
PHP Code:
#define MAX_PLAYERS 32
new g_p_page[MAX_PLAYERS+1]
#define MAX_ITEMS 60
new g_item_name[MAX_ITEMS]
public main_menu(id){
//...
}
public main_menu_handler(id, key){
switch(key){
//...
case SOME_KEY: multiple_pages_menu(id, 0)
}
}
public multiple_pages_menu(id, page){
if(page<0){
main_menu(id)
return PLUGIN_HANDLED
}
g_p_page[id] = page
new cache[512]
new pos = formatex(cache, 511, "Menu title...^n")
new keys = 1<<9
new menu_items = MAX_ITEMS%8
for(new i=0; i<menu_items; i++){
pos += formatex(cache[pos], 511-pos, "%d. %s^n", i+1, g_item_name[page*8+i])
keys |= 1<<i
}
if((page+1)*8<=MAX_ITEMS){
pos += formatex(cache[pos], 511-pos, "9. Next^n")
keys |= 1<<8
}else{
pos += formatex(cache[pos], 511-pos, "\d9. Next^n")
}
pos += formatex(cache[pos], 511-pos, "\w0. %s", page>0?"Back":"Exit")
show_menu(id, keys, cache, -1)
return PLUGIN_HANDLED
}
public multiple_pages_menu_handler(id, key){
switch(key){
case 8: multiple_pages_menu(id, g_p_page[id]+1)
case 9: multiple_pages_menu(id, g_p_page[id]-1)
default:{
new item_id = g_p_page[id]*8+key
client_print(id, "You selected item %s", g_item_name[item_id])
}
}
}
__________________