Senior Member
|
08-25-2013
, 07:11
Re: Creating a Donation Menu that executes commands, error related to a variable
|
#16
|
Ok, I kind of got it working then broke it again.
Now when you click on either of the sub menus, they don't open. The server also started crashing sometimes while running these commands.
PHP Code:
public OnPluginStart() { LoadTranslations("common.phrases"); RegAdminCmd("sm_donator", DonorMenu, ADMFLAG_RESERVATION); } public Action:DonorMenu(client, args) { if (!client) { ReplyToCommand(client, "%t","Command is in-game only"); return Plugin_Handled; } ShowMenu(client); return Plugin_Handled; } ShowMenu(client) { new Handle:menu = CreateMenu(MenuHandler); SetMenuExitBackButton(menu, false); SetMenuTitle(menu, "Donor Menu"); if (CheckCommandAccess(client, "generic_admin", ADMFLAG_CUSTOM6 , true)) { AddMenuItem(menu, "1", "Noclip"); AddMenuItem(menu, "2", "Evil Rocket"); AddMenuItem(menu, "3", "Pretty Things"); AddMenuItem(menu, "4", "Resize / ResizeHead"); } DisplayMenu(menu, client, MENU_TIME_FOREVER); } ShowMenu2(client) { new Handle:menu2 = CreateMenu(MenuHandler2); SetMenuExitBackButton(menu2, true); SetMenuTitle(menu2, "Donor Menu -> Resize"); if (CheckCommandAccess(client, "generic_admin", ADMFLAG_CUSTOM6 , true)) { AddMenuItem(menu2, "1", "Resize (Small)"); AddMenuItem(menu2, "2", "Resize (Normal)"); AddMenuItem(menu2, "3", "Resize (Large)"); AddMenuItem(menu2, "4", "Resize Head (Super Small)"); AddMenuItem(menu2, "5", "Resize Head (Small)"); AddMenuItem(menu2, "6", "Resize Head (Normal)"); AddMenuItem(menu2, "7", "Resize Head (Large)"); AddMenuItem(menu2, "8", "Resize Head (Massive)"); } DisplayMenu(menu2, client, MENU_TIME_FOREVER); } ShowMenu3(client) { new Handle:menu3 = CreateMenu(MenuHandler3); SetMenuExitBackButton(menu3, true); SetMenuTitle(menu3, "Donor Menu -> Pretty Things"); if (CheckCommandAccess(client, "generic_admin", ADMFLAG_CUSTOM6 , true)) { AddMenuItem(menu3, "1", "Unusual Weapon Effects"); AddMenuItem(menu3, "2", "Evil Trail"); AddMenuItem(menu3, "3", "Evil Glow"); AddMenuItem(menu3, "4", "Robot"); } DisplayMenu(menu3, client, MENU_TIME_FOREVER); } public MenuHandler(Handle:menu, MenuAction:action, client, param2) { switch (action) { case MenuAction_Select: { switch (param2) { case 0: { ServerCommand("sm_noclip #%d", GetClientUserId(client)); ServerCommand("sm_friendly #%d", GetClientUserId(client)); //FakeClientCommandEx(client, "say /eviltrail"); } case 1: { ServerCommand("sm_evilrocket #%d", GetClientUserId(client)); } case 2: { ShowMenu3(client); CloseHandle(menu); } case 3: { ShowMenu2(client); CloseHandle(menu); } } ShowMenu(client); } case MenuAction_End: { if(param2 == -3) { CloseHandle(menu); } } } } public MenuHandler2(Handle:menu2, MenuAction:action, client, param2) { switch (action) { case MenuAction_Select: { switch (param2) { case 0: { ServerCommand("sm_resize #%d 0.7", GetClientUserId(client)); } case 1: { ServerCommand("sm_resize #%d 1.0", GetClientUserId(client)); } case 2: { ServerCommand("sm_resize #%d 1.8", GetClientUserId(client)); } case 3: { ServerCommand("sm_resizehead #%d 0.1", GetClientUserId(client)); } case 4: { ServerCommand("sm_resizehead #%d 0.6", GetClientUserId(client)); } case 5: { ServerCommand("sm_resizehead #%d 1.0", GetClientUserId(client)); } case 6: { ServerCommand("sm_resizehead #%d 1.8", GetClientUserId(client)); } case 7: { ServerCommand("sm_resizehead #%d 3.5", GetClientUserId(client)); } } ShowMenu2(client); } case MenuAction_Cancel: { if(param2 == -3) { CloseHandle(menu2); } else { ShowMenu(client); CloseHandle(menu2); } } } } public MenuHandler3(Handle:menu3, MenuAction:action, client, param2) { switch (action) { case MenuAction_Select: { switch (param2) { case 0: { FakeClientCommandEx(client, "say /unusual"); } case 1: { ServerCommand("sm_eviltrail #%d", GetClientUserId(client)); } case 2: { ServerCommand("sm_evilglow #%d", GetClientUserId(client)); } case 3: { ServerCommand("sm_robot #%d", GetClientUserId(client)); } } ShowMenu3(client); } case MenuAction_End: { if(param2 == -3) { CloseHandle(menu3); } else { ShowMenu(client); CloseHandle(menu3); } } } }
|
|