implemented amb17

expanded menu tests
deprecated MEXIT_NORMAL, MPROP_ORDER, MPROP_PADMENU
fixed various bugs in PagekeyToItem
This commit is contained in:
David Anderson
2007-04-16 06:58:28 +00:00
parent 8dc310f1bb
commit 5d4669d52e
4 changed files with 134 additions and 107 deletions

View File

@ -280,25 +280,22 @@ enum {
#define FORWARD_ONLY_NEW 2
#define FORWARD_ALL 3
#define MEXIT_ALL 1
#define MEXIT_NORMAL 0
#define MEXIT_NEVER -1
#define MEXIT_ALL 1 /* (default) Menu will have an exit option */
#define MEXIT_NORMAL 0 /* Deprecated, has no effect */
#define MEXIT_NEVER -1 /* Menu will not have an exit option */
#define MENUPAD_NONE 0 //no padding (default)
#define MENUPAD_PAGE 1 //pads based on items per page
#define MENUPAD_NONE 0 /* Deprecated, not used */
#define MENUPAD_PAGE 1 /* Deprecated, not used */
#define MPROP_PERPAGE 1 //NUM - items per page. 0=no paginating, 7=default
#define MPROP_BACKNAME 2 //STRING - name of "back" button
#define MPROP_NEXTNAME 3 //STRING - name of "more" button
#define MPROP_EXITNAME 4 //STRING - name of "exit" button
#define MPROP_TITLE 5 //STRING - sets menu title
#define MPROP_EXIT 6 //NUM - sets how "Exit" appears on the menu
#define MPROP_ORDER 7 //Sets the back/next/exit order
//Send an 3-cell array with MENU_EXIT etc in the order
//(from 0-2), 0 being first
#define MPROP_NOCOLORS 8 //NUM - sets whether colors are not auto (0=default)
#define MPROP_PADMENU 9 //NUM - sets how the ending portions of a menu are padded
//i.e. 2 items, 7 per page, with endings at slots 5/6/7.
#define MPROP_PERPAGE 1 //NUM - items per page. 0=no paginating, 7=default
#define MPROP_BACKNAME 2 //STRING - name of "back" button
#define MPROP_NEXTNAME 3 //STRING - name of "more" button
#define MPROP_EXITNAME 4 //STRING - name of "exit" button
#define MPROP_TITLE 5 //STRING - sets menu title
#define MPROP_EXIT 6 //NUM - sets how "Exit" appears on the menu
#define MPROP_ORDER 7 /* Deprecated, has no effect */
#define MPROP_NOCOLORS 8 //NUM - sets whether colors are not auto (0=default)
#define MPROP_PADMENU 9 /* Deprecated, has no effect */
#define SND_SPAWNING (1<<8) // we're spawing, used in some cases for ambients
#define SND_STOP (1<<5) // stop sound

View File

@ -8,6 +8,7 @@ public plugin_init()
register_clcmd("menu_test2", "Test_Menu2")
register_clcmd("menu_test3", "Test_Menu3")
register_clcmd("menu_test4", "Test_Menu4")
register_clcmd("menu_test5", "Test_Menu5")
}
public Test_Menu1(id, level, cid)
@ -20,7 +21,8 @@ public Test_Menu1(id, level, cid)
menu_additem(menu, "Gabezilla 5", "5", 0)
menu_additem(menu, "Gabezilla 6", "6", 0)
menu_addblank(menu, 7)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_additem(menu, "Gabezilla 7", "7", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, menu, 0)
return PLUGIN_HANDLED
}
@ -71,6 +73,7 @@ public Test_Menu3(id)
menu_additem(mHandleID, "test10", "10", 0)
menu_additem(mHandleID, "test11", "11", 0)
menu_addblank(mHandleID, 1) // add blank got problem
menu_setprop(mHandleID, MPROP_PERPAGE, 5)
menu_display(id, mHandleID, 0)
@ -105,7 +108,6 @@ public Test_Menu4(id)
menu_additem(mHandleID, "test7", "7", 0)
menu_additem(mHandleID, "test8", "8", 0)
menu_additem(mHandleID, "test9", "9", 0)
menu_additem(mHandleID, "test10", "10", 0)
menu_display(id, mHandleID, 0)
@ -126,3 +128,40 @@ public Test_Menu4_Handler(id, menu, item)
return PLUGIN_HANDLED
}
public Test_Menu5(id)
{
new mHandleID = menu_create("Test Menu 5", "Test_Menu5_Handler")
menu_additem(mHandleID, "test1", "1", 0)
menu_additem(mHandleID, "test2", "2", 0)
menu_additem(mHandleID, "test3", "3", 0)
menu_additem(mHandleID, "test4", "4", 0)
menu_additem(mHandleID, "test5", "5", 0)
menu_additem(mHandleID, "test6", "6", 0)
menu_additem(mHandleID, "test7", "7", 0)
menu_additem(mHandleID, "test8", "8", 0)
menu_additem(mHandleID, "test9", "9", 0)
menu_additem(mHandleID, "test10", "10", 0)
menu_additem(mHandleID, "test11", "11", 0)
menu_addblank(mHandleID, 1) // add blank got problem
menu_setprop(mHandleID, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, mHandleID, 0)
return PLUGIN_HANDLED
}
public Test_Menu5_Handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
client_print(id, print_chat, "item = %d", item)
menu_destroy(menu)
return PLUGIN_HANDLED
}