integer LINK_SIGNAL_GEN_CHANNEL = 0601241; integer LINK_SIGNAL_CHANNEL_BACK = 0601242; integer LINK_SIGNAL_SHOW_MENU = 0601243; integer LINK_SIGNAL_MENU_TIMEOUT = 0601244; integer LINK_SIGNAL_REREGISTER_MENUS= 0601245; integer LINK_SIGNAL_QUERY_MENU = 0602241; integer LINK_SIGNAL_REGISTER_MENU = 0602242; integer LINK_SIGNAL_RESET = 0602243; integer LINK_SIGNAL_MENU_DATA = 0602244; integer LINK_SIGNAL_MENU_BACK = 0801241; integer LINK_SIGNAL_REPLACE_BUTTON = 0804241; string PREVIOUS_MENU = "<--"; string EXIT_MENU = "-exit-"; string NEXT_MENU = "-->"; string decodeLM(integer iSignal) { switch(iSignal) { case LINK_SIGNAL_GEN_CHANNEL: { return "LINK_SIGNAL_GEN_CHANNEL"; } case LINK_SIGNAL_CHANNEL_BACK: { return "LINK_SIGNAL_CHANNEL_BACK"; } case LINK_SIGNAL_SHOW_MENU: { return "LINK_SIGNAL_SHOW_MENU"; } case LINK_SIGNAL_MENU_TIMEOUT: { return "LINK_SIGNAL_MENU_TIMEOUT"; } case LINK_SIGNAL_REREGISTER_MENUS: { return "LINK_SIGNAL_REREGISTER_MENUS"; } case LINK_SIGNAL_QUERY_MENU: { return "LINK_SIGNAL_QUERY_MENU"; } case LINK_SIGNAL_REGISTER_MENU: { return "LINK_SIGNAL_REGISTER_MENU"; } case LINK_SIGNAL_RESET: { return "LINK_SIGNAL_RESET"; } case LINK_SIGNAL_MENU_DATA: { return "LINK_SIGNAL_MENU_DATA"; } case LINK_SIGNAL_MENU_BACK: { return "LINK_SIGNAL_MENU_BACK"; } default: { return (string)iSignal; } } } RegisterMenuButton(string sMenu, string sButton) { llMessageLinked(LINK_SET, LINK_SIGNAL_REGISTER_MENU, sButton, sMenu); } SetMenuPrompt(string sMenu, string sPromptText) { llMessageLinked(LINK_SET, LINK_SIGNAL_MENU_DATA, llList2Json(JSON_OBJECT, ["prompt", sPromptText]), sMenu); } showMenu(key kID, string sMenu, integer iPage) { llMessageLinked(LINK_SET, LINK_SIGNAL_SHOW_MENU, llList2Json(JSON_OBJECT, ["menu", sMenu, "page", iPage]), kID); } returnMenu(key kID, string sMenu, integer iPage, string sReply) { llMessageLinked(LINK_SET, LINK_SIGNAL_MENU_BACK, llList2Json(JSON_OBJECT, ["menu", sMenu, "page", iPage, "reply", sReply]), kID); } replaceMenuButton(string sMenu, string sButton, string sNewButton) { llMessageLinked(LINK_SET, LINK_SIGNAL_REPLACE_BUTTON, llList2Json(JSON_OBJECT, ["menu", sMenu, "btn", sButton, "newBtn", sNewButton]), ""); }