AMXX Menu Generator is a program that allows both new and experienced programmers to generate a menu for their AMX Mod X plugin. This program allows customization of nearly every menu option available. The generator will generate a fully operational plugin if you enter everything correctly. Please note that this is my first program I've ever built, so please point out any bugs you may find. Also, suggestions are always welcome!
Features:
Define menu name
Define menu handler name
Decide if menu has exit option
Change items per page in menu
Change back button name
Change next button name
Change exit button name
Define no colors on menu
Define color of numbers on menu
Option of choosing to display/destroy menu after item is pressed
Add unlimited menu items
Define menu command name
Define menu command description
Define access level of menu command
Generate code & copy to clipboard
Save .sma to file
Quote:
Originally Posted by Change Log
1.3 - 5/31/2013
- Fixed small bugs
- Added option to display menu again
- Changed menu_destroy to menu_cancel since this generator does not create dynamic menus
1.2 - 5/30/2013
- Optimized code
- Added save .sma option
- Made dropdowns non-editable
- Fixed bug where leaving button names blank declared as "" (null)
- Added scrollbar to menu item text box
- Items per page field will filter out any non-numeric characters
- Made "#include <amxmisc>" string add to plugin only if admin level specified
- Fixed confusion between no color number and colored numbers
- Various changes in appearence including banner tweak and tab effects
- Changed output box's font to Lucidia console for better readability
- Widened output box and entire window
Found a bug. This happens when i generate code more than once:
Spoiler
Code:
// Generated with v3x's AMXX Menu Generator
#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
register_plugin("My Menu", "1.0", "Me");
register_clcmd("say /items", "ShowMenu", ADMIN_ALL, "test");
}
public ShowMenu(id, lvl, cid)
{
if(!cmd_access(id, lvl, cid, 0))
return PLUGIN_HANDLED;
new menu = menu_create("Menu items", "item_menu");
menu_additem(menu, "a", "", 0); // case 0
menu_additem(menu, "b", "", 0); // case 1
menu_additem(menu, "c", "", 0); // case 2
menu_additem(menu, "d", "", 0); // case 3
menu_additem(menu, "e", "", 0); // case 4
menu_additem(menu, "f", "", 0); // case 5
menu_additem(menu, "f", "", 0); // case 6
menu_additem(menu, "g", "", 0); // case 7
menu_additem(menu, "h", "", 0); // case 8
menu_additem(menu, "i", "", 0); // case 9
menu_additem(menu, "j", "", 0); // case 10
menu_additem(menu, "k", "", 0); // case 11
menu_additem(menu, "l", "", 0); // case 12
menu_additem(menu, "m", "", 0); // case 13
menu_additem(menu, "n", "", 0); // case 14
menu_additem(menu, "o", "", 0); // case 15
menu_additem(menu, "p", "", 0); // case 16
menu_additem(menu, "q", "", 0); // case 17
menu_additem(menu, "r", "", 0); // case 18
menu_additem(menu, "s", "", 0); // case 19
menu_additem(menu, "t", "", 0); // case 20
menu_additem(menu, "u", "", 0); // case 21
menu_additem(menu, "v", "", 0); // case 22
menu_additem(menu, "w", "", 0); // case 23
menu_additem(menu, "x", "", 0); // case 24
menu_additem(menu, "y", "", 0); // case 25
menu_additem(menu, "z", "", 0); // case 26
menu_additem(menu, "0", "", 0); // case 27
menu_additem(menu, "1", "", 0); // case 28
menu_additem(menu, "2", "", 0); // case 29
menu_additem(menu, "3", "", 0); // case 30
menu_additem(menu, "4", "", 0); // case 31
menu_additem(menu, "5", "", 0); // case 32
menu_additem(menu, "6", "", 0); // case 33
menu_additem(menu, "7", "", 0); // case 34
menu_additem(menu, "8", "", 0); // case 35
menu_additem(menu, "9", "", 0); // case 36
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public item_menu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback;
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
switch(item)
{
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
case 0: client_print(id, print_chat, "You have selected a");
case 1: client_print(id, print_chat, "You have selected b");
case 2: client_print(id, print_chat, "You have selected c");
case 3: client_print(id, print_chat, "You have selected d");
case 4: client_print(id, print_chat, "You have selected e");
case 5: client_print(id, print_chat, "You have selected f");
case 6: client_print(id, print_chat, "You have selected f");
case 7: client_print(id, print_chat, "You have selected g");
case 8: client_print(id, print_chat, "You have selected h");
case 9: client_print(id, print_chat, "You have selected i");
case 10: client_print(id, print_chat, "You have selected j");
case 11: client_print(id, print_chat, "You have selected k");
case 12: client_print(id, print_chat, "You have selected l");
case 13: client_print(id, print_chat, "You have selected m");
case 14: client_print(id, print_chat, "You have selected n");
case 15: client_print(id, print_chat, "You have selected o");
case 16: client_print(id, print_chat, "You have selected p");
case 17: client_print(id, print_chat, "You have selected q");
case 18: client_print(id, print_chat, "You have selected r");
case 19: client_print(id, print_chat, "You have selected s");
case 20: client_print(id, print_chat, "You have selected t");
case 21: client_print(id, print_chat, "You have selected u");
case 22: client_print(id, print_chat, "You have selected v");
case 23: client_print(id, print_chat, "You have selected w");
case 24: client_print(id, print_chat, "You have selected x");
case 25: client_print(id, print_chat, "You have selected y");
case 26: client_print(id, print_chat, "You have selected z");
case 27: client_print(id, print_chat, "You have selected 0");
case 28: client_print(id, print_chat, "You have selected 1");
case 29: client_print(id, print_chat, "You have selected 2");
case 30: client_print(id, print_chat, "You have selected 3");
case 31: client_print(id, print_chat, "You have selected 4");
case 32: client_print(id, print_chat, "You have selected 5");
case 33: client_print(id, print_chat, "You have selected 6");
case 34: client_print(id, print_chat, "You have selected 7");
case 35: client_print(id, print_chat, "You have selected 8");
case 36: client_print(id, print_chat, "You have selected 9");
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
another one is that if you put an access flag, can't be removed.
Again, this is awesome. you can put a drop list for all commands available to call the menu, so it could not confuse newbies.
Last edited by v3x; 05-30-2013 at 05:13.
Reason: added spoiler