It doesn't detect old menus for me.
PHP Code:
#include <amxmodx>
#include <engine>
enum
{
MENU_NONE,
MENU_MAIN,
MENU_SUB1,
MENU_SUB2,
MENU_SUB3,
MENU_SUB4,
MENU_SUB5
};
new g_current_menu[33];
public plugin_init()
{
register_clcmd("say /menu", "ShowMainMenu");
}
public client_putinserver(id)
{
g_current_menu[id] = MENU_NONE;
}
public client_PreThink(id)
{
if ( is_user_connected(id) )
{
set_hudmessage(255, 255, 255, -1.0, 0.0, 0, 0.0, 1.0, 0.25, 0.25, -1);
show_hudmessage(id, "g_current_menu[id] = %i", g_current_menu[id]);
}
}
public ShowMainMenu(id)
{
g_current_menu[id] = MENU_MAIN;
new menu = menu_create("Main Menu", "MainMenuHandle");
menu_additem(menu, "Sub Menu 1", "1");
menu_additem(menu, "Sub Menu 2", "2");
menu_additem(menu, "Sub Menu 3", "3");
menu_additem(menu, "Sub Menu 4", "4");
menu_additem(menu, "Sub Menu 5", "5");
menu_display(id, menu);
}
public MainMenuHandle(id, menu, item)
{
if ( item == MENU_EXIT )
{
g_current_menu[id] = MENU_NONE;
menu_destroy(menu);
return;
}
static _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, charsmax(info), _, _, callback);
menu_destroy(menu);
switch ( info[0] )
{
case '1': ShowSubMenu1(id);
case '2': ShowSubMenu2(id);
case '3': ShowSubMenu3(id);
case '4': ShowSubMenu4(id);
case '5': ShowSubMenu5(id);
}
}
public ShowSubMenu1(id)
{
g_current_menu[id] = MENU_SUB1;
new menu = menu_create("Sub Menu 1", "SubMenu1Handle");
menu_additem(menu, "1", "1");
menu_additem(menu, "2", "2");
menu_additem(menu, "3", "3");
menu_additem(menu, "4", "4");
menu_additem(menu, "5", "5");
menu_additem(menu, "6", "6");
menu_display(id, menu);
}
public SubMenu1Handle(id, menu, item)
{
if ( item == MENU_EXIT )
{
menu_destroy(menu);
ShowMainMenu(id);
return;
}
static _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, charsmax(info), _, _, callback);
menu_destroy(menu);
switch ( info[0] )
{
case '1': client_print(id, print_chat, "You selected 1");
case '2': client_print(id, print_chat, "You selected 2");
case '3': client_print(id, print_chat, "You selected 3");
case '4': client_print(id, print_chat, "You selected 4");
case '5': client_print(id, print_chat, "You selected 5");
case '6': client_print(id, print_chat, "You selected 6");
}
ShowSubMenu1(id);
}
public ShowSubMenu2(id)
{
g_current_menu[id] = MENU_SUB2;
new menu = menu_create("Sub Menu 2", "SubMenu2Handle");
menu_additem(menu, "1", "1");
menu_additem(menu, "2", "2");
menu_additem(menu, "3", "3");
menu_additem(menu, "4", "4");
menu_additem(menu, "5", "5");
menu_additem(menu, "6", "6");
menu_display(id, menu);
}
public SubMenu2Handle(id, menu, item)
{
if ( item == MENU_EXIT )
{
menu_destroy(menu);
ShowMainMenu(id);
return;
}
static _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, charsmax(info), _, _, callback);
menu_destroy(menu);
switch ( info[0] )
{
case '1': client_print(id, print_chat, "You selected 1");
case '2': client_print(id, print_chat, "You selected 2");
case '3': client_print(id, print_chat, "You selected 3");
case '4': client_print(id, print_chat, "You selected 4");
case '5': client_print(id, print_chat, "You selected 5");
case '6': client_print(id, print_chat, "You selected 6");
}
ShowSubMenu2(id);
}
public ShowSubMenu3(id)
{
g_current_menu[id] = MENU_SUB3;
new menu = menu_create("Sub Menu 3", "SubMenu3Handle");
menu_additem(menu, "1", "1");
menu_additem(menu, "2", "2");
menu_additem(menu, "3", "3");
menu_additem(menu, "4", "4");
menu_additem(menu, "5", "5");
menu_additem(menu, "6", "6");
menu_display(id, menu);
}
public SubMenu3Handle(id, menu, item)
{
if ( item == MENU_EXIT )
{
menu_destroy(menu);
ShowMainMenu(id);
return;
}
static _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, charsmax(info), _, _, callback);
menu_destroy(menu);
switch ( info[0] )
{
case '1': client_print(id, print_chat, "You selected 1");
case '2': client_print(id, print_chat, "You selected 2");
case '3': client_print(id, print_chat, "You selected 3");
case '4': client_print(id, print_chat, "You selected 4");
case '5': client_print(id, print_chat, "You selected 5");
case '6': client_print(id, print_chat, "You selected 6");
}
ShowSubMenu3(id);
}
public ShowSubMenu4(id)
{
g_current_menu[id] = MENU_SUB4;
new menu = menu_create("Sub Menu 4", "SubMenu4Handle");
menu_additem(menu, "1", "1");
menu_additem(menu, "2", "2");
menu_additem(menu, "3", "3");
menu_additem(menu, "4", "4");
menu_additem(menu, "5", "5");
menu_additem(menu, "6", "6");
menu_display(id, menu);
}
public SubMenu4Handle(id, menu, item)
{
if ( item == MENU_EXIT )
{
menu_destroy(menu);
ShowMainMenu(id);
return;
}
static _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, charsmax(info), _, _, callback);
menu_destroy(menu);
switch ( info[0] )
{
case '1': client_print(id, print_chat, "You selected 1");
case '2': client_print(id, print_chat, "You selected 2");
case '3': client_print(id, print_chat, "You selected 3");
case '4': client_print(id, print_chat, "You selected 4");
case '5': client_print(id, print_chat, "You selected 5");
case '6': client_print(id, print_chat, "You selected 6");
}
ShowSubMenu4(id);
}
public ShowSubMenu5(id)
{
g_current_menu[id] = MENU_SUB5;
new menu = menu_create("Sub Menu 5", "SubMenu5Handle");
menu_additem(menu, "1", "1");
menu_additem(menu, "2", "2");
menu_additem(menu, "3", "3");
menu_additem(menu, "4", "4");
menu_additem(menu, "5", "5");
menu_additem(menu, "6", "6");
menu_display(id, menu);
}
public SubMenu5Handle(id, menu, item)
{
if ( item == MENU_EXIT )
{
menu_destroy(menu);
ShowMainMenu(id);
return;
}
static _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, charsmax(info), _, _, callback);
menu_destroy(menu);
switch ( info[0] )
{
case '1': client_print(id, print_chat, "You selected 1");
case '2': client_print(id, print_chat, "You selected 2");
case '3': client_print(id, print_chat, "You selected 3");
case '4': client_print(id, print_chat, "You selected 4");
case '5': client_print(id, print_chat, "You selected 5");
case '6': client_print(id, print_chat, "You selected 6");
}
ShowSubMenu5(id);
}
And when I overwrite for example 'Main Menu' with the 'AMX Mod X Menu' or 'Select a team' menu, the value of
still is 1. But when I overwrite it with a menu from any of my own plugins with new menu system the value goes to 0.