I'm trying to create a menu for a server which lets the user easily toggle some options for themself, teach others or manage the server. The menu currently has following options.
General Commands
Donator Commands
Moderation Menu
Music Commands
When you choose an option it opens a submenu. But I want it to open seperate submenus for each option. I am new to sourcemod I would appreceate some help
Here's the current code:
Code:
#include <sourcemod>
new Handle:g_hMenuOne = INVALID_HANDLE;
new Handle:g_hMenuTwo = INVALID_HANDLE;
new Handle:g_hMenuThree = INVALID_HANDLE;
public OnPluginStart()
{
g_hMenuOne = CreateMenu(MenuOneHandler);
SetMenuTitle(g_hMenuOne, "JA Menu"); //JA Menu
AddMenuItem(g_hMenuOne, "1", "General Commands");
AddMenuItem(g_hMenuOne, "2", "Donator Commands");
AddMenuItem(g_hMenuOne, "3", "Moderation Menu");
AddMenuItem(g_hMenuOne, "4", "Music Commands");
g_hMenuTwo = CreateMenu(MenuTwoHandler);
SetMenuTitle(g_hMenuTwo, "Submenu Two"); //
AddMenuItem(g_hMenuTwo, "1", "Go to Submenu Three");
SetMenuExitBackButton(g_hMenuTwo, true);
g_hMenuThree = CreateMenu(MenuThreeHandler);
SetMenuTitle(g_hMenuThree, "Submenu Three");
AddMenuItem(g_hMenuThree, "2", "Bye!");
SetMenuExitBackButton(g_hMenuThree, true);
RegAdminCmd("sm_jamenu", Command_JAMenus, ADMFLAG_SLAY, "sm_jamenu opens up some JA related menu");
}
public Action:Command_JAMenus(client, args)
{
if (client > 0)
{
DisplayMenu(g_hMenuOne, client, MENU_TIME_FOREVER);
}
return Plugin_Handled;
}
public MenuOneHandler(Handle:menu, MenuAction:action, param1, param2)
{
if (action == MenuAction_Select && IsClientInGame(param1))
{
DisplayMenu(g_hMenuTwo, param1, MENU_TIME_FOREVER);
}
}
public MenuTwoHandler(Handle:menu, MenuAction:action, param1, param2)
{
if (action == MenuAction_Select && IsClientInGame(param1))
{
DisplayMenu(g_hMenuThree, param1, MENU_TIME_FOREVER);
}
else if (action == MenuAction_Cancel && param2 == MenuCancel_ExitBack && IsClientInGame(param1))
{
DisplayMenu(g_hMenuOne, param1, MENU_TIME_FOREVER);
}
}
public MenuThreeHandler(Handle:menu, MenuAction:action, param1, param2)
{
if (action == MenuAction_Cancel && param2 == MenuCancel_ExitBack && IsClientInGame(param1))
{
DisplayMenu(g_hMenuTwo, param1, MENU_TIME_FOREVER);
}
}
Thanks in advance
Graru1