Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // StarWolffs MultiMenu w-AutoPop SubMenus
- // Script by StarWolff2000
- // THIS:
- // (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]))
- // SHOULD CHANGE TO:
- // (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]) >= 0)
- // ALL Locations
- // Obj_Toucher_Group is NOT currently working correctly - I need to use "get currently active group~v1" to get the Group UUID & then send it via a message to this script
- // in GET_CAT_LinkNumbers(),
- // this needs to be changed: if(llGetSubString(PrimName,0,3) == "CAT1")
- // Instead, it should compare it to the name defined in the notecard
- // in Menu_State, state_entry, THIS: llDetectedGroup(0) - may be used incorrectly - it says it returns TRUE or FALSE
- // ---- I THINK THE PROBLEM is Item_INV_Marker
- //is not set-correctly / used-correctly
- // --- I DON'T NEED SEPARATE menu_channel and options_channel - merge them into just 'channel'
- //2ADD: at the very start, it should scan all Item_Names, and report any that are over-length (over 24 char's) (textures & notecards & objects, NOT scripts
- // Some Inventory-reading & Autopopulating menu scripting by Fred McCellan
- // Additional Credit to:
- // Dr. Harleen けム尺し乇Ɣ Quinzel
- // River (riverborn Resident)
- // Thales Militus
- // Just put any Items you want to use in the prim.
- // From the Source script:
- // v1.2
- // Added logging function (set logging_on to TRUE to turn logging on)
- // Added timer to remove listens when menu gets "abandoned"
- // Put user settable parameters at the top.
- // USER SETTABLE PARAMETERS
- float MENU_TIMEOUT = 25; // Time in seconds before menu times out & listener is removed
- // === Scripting Settings: === //
- // [DO NOT EDIT unless you know what you're doing]
- // Obj_ID = Object ID code/Object Identifier
- string Obj_ID = "00";
- // Obj_Ch = Object Channel
- integer Obj_Ch = 420;
- integer Menu_Chan = 421;
- string Scr_ReadNC = "00~StarWolffs MultiMenu+~ReadNC~vC2";
- string NC_Selected = "00~StarWolffs MultiMenu+~CFG";
- // === DEBUG MODE === //
- integer Scr_State = 0; //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- // === StarWolffs Stuff === //
- // * You may NOT edit this
- // * The button calling this info MUST appear in your final menu
- // * The related button code below MUST remain in your final menu
- // Obj_Pn = Object Product Name
- string Obj_Pn = "StarWolffs MultiMenu w-AutoPop SubMenus";
- // Obj_Pb = Object Product by/Author
- string Obj_Pb = "\nby secondlife:///app/agent/b3c21e55-a326-455e-b302-ffeeb95e4027/about";
- // Obj_Vs = Object Version
- string Obj_Vs = "vC1.9";
- // Scr_Vs = Script Version
- // Scr_Vs = "vC1.9";
- string Menu_IA_SWSF_Capt = "StarWolffs SatisFactory
- I make stuff!
- * Prim-Tosser
- * Script-Fiddler
- * Texture-Paster
- Store (MP):
- https://marketplace.secondlife.com/stores/---
- Store (SL): http://maps.secondlife.com/secondlife/Solaris%20Station/124/128/2601
- Group : secondlife:///app/group/cfd3280b-01f9-70c1-21fa-d65f66f4d465/about";
- integer Menu_SWSF_EGG = 0;
- // Brand INFO
- // READ THESE FROM NOTECARD:
- list Menu_IA_BrandxProduct_INFO;
- string Menu_IA_Brand_Name = "StarWolffs SatisFactory"; // <---TEMPORARY VALUES, REPLACED by data in CFG
- string Menu_IA_Brand_By = "StarWolff2000"; // <---TEMPORARY VALUES, REPLACED by data in CFG
- string Menu_IA_Brand_Capt = "StarWolffs SatisFactory !"; // <---TEMPORARY VALUES, REPLACED by data in CFG
- // Product INFO
- string Menu_IA_Product_Name = "StarWolffs MultiMenu+"; // <---TEMPORARY VALUES, REPLACED by data in CFG
- string Menu_IA_Product_Vers = "v2.0"; // <---TEMPORARY VALUES, REPLACED by data in CFG
- string Menu_IA_Product_Capt = "by StarWolff2000 & StarWolffs SatisFactory"; // <---TEMPORARY VALUES, REPLACED by data in CFG
- // === Menu parameters ===
- string Menu_Capt;
- list Menu_Butt;
- // -if- Menu_SUB_ID = 0 -----
- integer menu_channel; // THIS IS OBSELETE & NEEDS to be WEEDED OUT
- integer options_channel; // THIS IS OBSELETE & NEEDS to be WEEDED OUT
- integer menu_handler; // THIS IS OBSELETE & NEEDS to be WEEDED OUT
- integer options_handler; // THIS IS OBSELETE & NEEDS to be WEEDED OUT
- integer Menu_00_AUTH_Level = 0;
- string Menu_00_Capt = "\nMain Menu - Select a Category: ";
- list Menu_00a = ["INFO/About","Admin","Close Menu"];
- list Menu_00b = ["INFO/About","Main Menu","Close Menu"];
- list Menu_00_NAV = ["Modes","● Themes","undefined"];
- list Menu_00_MenuName_List = ["Main Menu","Admin Menu","Categories Menu","Themes Menu","Modes Menu","INFO/About Menu"];
- list Menu_ADM_AUTH_Users = []; // Owner,User1,User2,User3,User4,User5,User6,Group
- string Menu_ADM_AUTH_ERR_Capt1 = "\n\nYou are not Authorized to use the:\n";
- string Menu_ADM_AUTH_ERR_Capt2 = "\n\Contact the owner:\n";
- //
- integer Menu_CAT_IDX = 0;
- list Menu_CAT_AUTH_Levels = []; // [default] // auth levels for each 'CAT#'
- list Menu_CAT_Object_Names_Prefix = ["CAT1","CAT2","CAT3","CAT4","CAT5","CAT6"]; // [default] // prim names for each 'CAT#'
- list Menu_CAT_Object_PrimLinks = ["0","0","0","0","0","0"]; // prim link numbers for each PrimName 'CAT#'
- list Menu_CAT_Button_Labels = ["CAT1","CAT2","CAT3","CAT4","CAT5","CAT6"]; // [default] // button names for each PrimName 'CAT#'
- list Menu_CAT_Button_Labels_456123 = ["CAT4","CAT5","CAT6","CAT1","CAT2","CAT3"]; // [default] // button names for each PrimName 'CAT#' in Menu order
- list Menu_CAT_Action_Types = []; // Action types for each 'CAT#'
- list Menu_CAT_Action_Faces = []; // Action faces for each 'CAT#'
- list Menu_CAT_Action_Coords = []; // [default] // Action coords for each 'CAT#'
- integer Menu_SUB_ID = 0;
- // -if- Menu_SUB_ID = 1-6 (= >0, or anything other than 0 ) -----
- string Menu_SUB_Capt = " Menu - Select an Item: ";
- //list Menu_SUB_NAV = ["INFO/About","Main Menu","Finished","<===","● Themes","===>"];
- list Menu_SUB_NAV = ["<===","● Themes","===>"];
- integer Menu_SUB_THM_AUTH_Level = 0;
- //string Menu_SUB_THM_Capt = "\nThemes Menu - Select a Theme:\nA Theme will change everything";
- //list Menu_SUB_THM_Butt = ["Theme 7","Theme 8","Theme 9","Theme 4","Theme 5","Theme 6","Theme 1","Theme 2","Theme 3"];
- //list Menu_SUB_THM_Descs = ["Theme 1","Theme 2","Theme 3","Theme 4","Theme 5","Theme 6","Theme 7","Theme 8","Theme 9"];
- ////////Menu_SUB_THM_Modes - NOT YET IMPLEMENTED - change shapes according to chosen Theme
- //list Menu_SUB_THM_Modes = []; // Modes for each Theme
- //list Menu_SUB_THM1_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM2_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM3_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM4_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM5_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM6_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM7_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM8_Objects = []; // Modes for each Theme
- //list Menu_SUB_THM9_Objects = []; // Modes for each Theme
- ////list Menu_SUB_THM_Desc = []; // NOTE: THIS IS TEMPORARILY dummy-defined in the Init routine - the Init routine should read it from the NC instead
- ////string Menu_SUB_THM_Themes; //obselete - replaced by THM_Descs
- integer Menu_SUB_ADM_AUTH_Level = 1; // set default to 1-Owner-Only
- string Menu_SUB_ADM_Capt = "\nAdmin Options Menu - Select an Item: ";
- list Menu_SUB_ADM_Butt = ["Public","undefined 1","undefined 2","Owner","Group","List (NC)"];
- list Menu_SUB_ADM_List = ["Owner","Group","List (NC)","Public","undefined 1","undefined 2"];
- // AUTH_Levels: 0=Public 1=Owner-Only 2=Owner+Group 3=Owner+List
- string Menu_SUB_ADM_Choices = "\nOwner: Owner-Only\nGroup: Group Access Only\nList (NC): Assigned List (in CFG Notecard)\nPublic: Public access (to all but Admin menu)\nundefined 1: [Feature not yet available]\nundefined 2: [Feature not yet available]";
- integer Menu_SUB_MODE_AUTH_Level = 0;
- //string Menu_SUB_MODE_Capt = "\nMode Options Menu - Select a Mode: ";
- //list Menu_SUB_MODE_Butt = ["Mode 7","Mode 8","Mode 9","Mode 4","Mode 5","Mode 6","Mode 1","Mode 2","Mode 3"];
- //list Menu_SUB_MODE_Descs = ["Mode 1","Mode 2","Mode 3","Mode 4","Mode 5","Mode 6","Mode 7","Mode 8","Mode 9"]; // NOTE: THIS IS TEMPORARILY dummy-defined in the Init routine - the Init routine should read it from the NC instead
- //list Menu_SUB_MODE_Object_Names = []; // names for each Mode
- //list Menu_SUB_MODE_Object_Acts = []; // actions for each Mode
- string Menu_SUB_IA_Capt = "\nINFO/About Menu:\n";
- list Menu_CAT1_List = [];
- integer Menu_CAT1_Total = 0;
- //integer Menu_CAT1_IDX = 0;
- list Menu_CAT2_List = [];
- integer Menu_CAT2_Total = 0;
- //integer Menu_CAT2_IDX = 0;
- list Menu_CAT3_List = [];
- integer Menu_CAT3_Total = 0;
- //integer Menu_CAT3_IDX = 0;
- list Menu_CAT4_List = [];
- integer Menu_CAT4_Total = 0;
- //integer Menu_CAT4_IDX = 0;
- list Menu_CAT5_List = [];
- integer Menu_CAT5_Total = 0;
- //integer Menu_CAT5_IDX = 0;
- list Menu_CAT6_List = [];
- integer Menu_CAT6_Total = 0;
- //integer Menu_CAT6_IDX = 0;
- list Menu_CAT_SUB_Set = [];
- // TEMP VARIABLES
- list Menu_CAT_SUB_TEMP = []; // CAT Sub list set of 6(or 9 if <9 total) [TEMPorary]
- integer Menu_CAT_SUB_Total = 0; // CAT Sub list total of 6(or 9 if <9 total) [TEMPorary]
- list Menu_CAT_States = [1,1,1,1,1,1]; // Rezz-DeRezz & Show-Hide state for each PrimName 'CAT#'
- //Misc parameters
- string Obj_OwnerToucher_NKG; // Owner's Key & Toucher's Name|Key|Group
- string Obj_Owner_Key; // Owner's Avatar UUID
- string Obj_Toucher_Name; // Toucher's Avatar Name
- string Obj_Toucher_Key; // Toucher's Avatar UUID
- string Obj_Toucher_Group; // Toucher's currently-active group
- //integer Obj_Toucher_Group; // Toucher's currently-active group [use to determine if the Toucher's currently-active group is the same as the Object's group]
- integer Item_Pointer = 0;
- integer Item_Counter = 0;
- integer Item_IDX = 0;
- integer Scr_Mem_Usage_Current;
- string SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- integer SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- integer SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- integer SELECTED_status; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- //string TESTER = "THIS IS A TEST";
- //TEST_1()
- //{
- // TESTER = "THIS IS A TEST";
- // llSay(0,TESTER);
- // return;
- //}
- remove_listens()
- {
- llSetTimerEvent(0.0);
- llListenRemove(menu_handler);
- llListenRemove(options_handler);
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // used for processing incoming commands from other scripts
- //SendingPrimLinkNum is the LINK NUMBER of the prim that sent the message
- //Scr_CMD_ID is used for sending an ID code to identify each message
- //Str_ID_VarName_str is used for sending the Variable Name of the data value in Message
- //GET_Incoming_DATA(integer SendingPrimLinkNum, integer Scr_CMD_ID, string message, key Str_ID_VarName_str)
- GET_Incoming_CMDs(integer Scr_CMD_ID, string message, key Str_ID_VarName_str)
- {
- if((Scr_CMD_ID == 100) || (Str_ID_VarName_str == "dummy_stand-in_message"))
- {
- list dummylist = llParseString2List(message, ["|"], []); // Parse the string back to a list
- llSay(0,">>>>> MESSAGE RECEIVED!!! <<<<");
- }
- // return;
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // Get the Data from the notecard
- //SendingPrimLinkNum is the LINK NUMBER of the prim that sent the message
- //Scr_CMD_ID is used for sending an ID code to identify each message
- //Str_ID_VarName_str is used for sending the Variable Name of the data value in Message
- //GET_Incoming_DATA(integer SendingPrimLinkNum, integer Scr_CMD_ID, string message, key Str_ID_VarName_str)
- GET_Incoming_DATA(integer Scr_CMD_ID, string message, key Str_ID_VarName_str)
- {
- // integer SendingPrimLinkNum; // TEST
- // integer Scr_CMD_ID;
- // string Str_ID_VarName_str;
- //SendingPrimLinkNum is the LINK NUMBER of the prim that sent the message
- //Scr_CMD_ID is used for sending an ID code to identify each message
- //Str_ID_VarName_str is used for sending the Variable Name of the data value in Message
- // Sort, Parse, & Relist all incoming data
- // if((Scr_CMD_ID == 950) || (message == "ERR: Missing Notecard") || (Str_ID_VarName_str == "ERR: Missing Notecard"))
- if((message == "ERR: Missing Notecard") || (Str_ID_VarName_str == "ERR: Missing Notecard"))
- {
- llOwnerSay("\n");
- llOwnerSay("! Missing Configuration Notecard: " + NC_Selected);
- }
- // if((Scr_CMD_ID == 12) || (message == "BEG: Start Of Data") || (Str_ID_VarName_str == "SOD"))
- if((message == "BEG: Start Of Data") || (Str_ID_VarName_str == "SOD"))
- {
- // llOwnerSay("\n");
- llOwnerSay("> Receiving Data... [Main Script]");
- Scr_State = (Scr_State + 1);
- }
- // if((Scr_CMD_ID == 999) || (message == "END: End Of Data") || (Str_ID_VarName_str == "EOD"))
- if((message == "END: End Of Data") || (Str_ID_VarName_str == "EOD"))
- {
- // if(Scr_State < 10)
- // { Scr_State = 10; }
- // if(Scr_State >= 90)
- // { Scr_State = (Scr_State + 1); }
- Scr_State = (Scr_State + 1);
- Init_Data();
- }
- // else if(Scr_CMD_ID >= 100)
- else
- {//else
- if((Str_ID_VarName_str == "Menu_IA_BrandxProduct_INFO") || (Scr_CMD_ID == 100))
- {
- Menu_IA_BrandxProduct_INFO = llParseString2List(message, ["|"], []); // Parse the string back to a list
- Menu_IA_Brand_Name = llList2String(Menu_IA_BrandxProduct_INFO,0);
- Menu_IA_Brand_By = llList2String(Menu_IA_BrandxProduct_INFO,1);
- Menu_IA_Brand_Capt = llList2String(Menu_IA_BrandxProduct_INFO,2);
- Menu_IA_Product_Name = llList2String(Menu_IA_BrandxProduct_INFO,3);
- Menu_IA_Product_Capt = llList2String(Menu_IA_BrandxProduct_INFO,4);
- }
- if((Str_ID_VarName_str == "Menu_SUB_ADM_AUTH_Level") || (Scr_CMD_ID == 111))
- {
- Menu_SUB_ADM_AUTH_Level = (integer)message; // Parse the string back to a integer
- }
- if((Str_ID_VarName_str == "Menu_ADM_AUTH_Users") || (Scr_CMD_ID == 112))
- {
- Menu_ADM_AUTH_Users = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT_AUTH_Levels") || (Scr_CMD_ID == 121))
- {
- Menu_CAT_AUTH_Levels = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT_Object_Names_Prefix") || (Scr_CMD_ID == 122))
- {
- Menu_CAT_Object_Names_Prefix = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT_Object_PrimLinks") || (Scr_CMD_ID == 123))
- {
- Menu_CAT_Object_PrimLinks = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT_Button_Labels") || (Scr_CMD_ID == 124))
- {
- Menu_CAT_Button_Labels = llParseString2List(message, ["|"], []); // Parse the string back to a list
- Menu_CAT_Button_Labels_456123 = [llList2String(Menu_CAT_Button_Labels,3),llList2String(Menu_CAT_Button_Labels,4),llList2String(Menu_CAT_Button_Labels,5),llList2String(Menu_CAT_Button_Labels,0),llList2String(Menu_CAT_Button_Labels,1),llList2String(Menu_CAT_Button_Labels,2)];
- }
- if((Str_ID_VarName_str == "Menu_CAT_Action_Types") || (Scr_CMD_ID == 125))
- {
- Menu_CAT_Action_Types = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT_Action_Faces") || (Scr_CMD_ID == 126))
- {
- Menu_CAT_Action_Faces = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT_Action_Coords") || (Scr_CMD_ID == 127))
- {
- Menu_CAT_Action_Coords = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_SUB_THM_AUTH_Level") || (Scr_CMD_ID == 131))
- {
- Menu_SUB_THM_AUTH_Level = (integer)message; // Parse the string back to a integer
- }
- // if((Str_ID_VarName_str == "Menu_SUB_THM_Descs") || (Scr_CMD_ID == 132))
- // {
- // Menu_SUB_THM_Descs = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM_Modes") || (Scr_CMD_ID == 133))
- // {
- // Menu_SUB_THM_Modes = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM1_Objects") || (Scr_CMD_ID == 141))
- // {
- // Menu_SUB_THM1_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM2_Objects") || (Scr_CMD_ID == 142))
- // {
- // Menu_SUB_THM2_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM3_Objects") || (Scr_CMD_ID == 143))
- // {
- // Menu_SUB_THM3_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM4_Objects") || (Scr_CMD_ID == 144))
- // {
- // Menu_SUB_THM4_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM5_Objects") || (Scr_CMD_ID == 145))
- // {
- // Menu_SUB_THM5_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM6_Objects") || (Scr_CMD_ID == 146))
- // {
- // Menu_SUB_THM6_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM7_Objects") || (Scr_CMD_ID == 147))
- // {
- // Menu_SUB_THM7_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM8_Objects") || (Scr_CMD_ID == 148))
- // {
- // Menu_SUB_THM8_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_THM9_Objects") || (Scr_CMD_ID == 149))
- // {
- // Menu_SUB_THM9_Objects = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- if((Str_ID_VarName_str == "Menu_SUB_MODE_AUTH_Level") || (Scr_CMD_ID == 151))
- {
- Menu_SUB_MODE_AUTH_Level = (integer)message; // Parse the string back to a integer
- }
- // if((Str_ID_VarName_str == "Menu_SUB_MODE_Descs") || (Scr_CMD_ID == 152))
- // {
- // Menu_SUB_MODE_Descs = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_MODE_Object_Names") || (Scr_CMD_ID == 153))
- // {
- // Menu_SUB_MODE_Object_Names = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- // if((Str_ID_VarName_str == "Menu_SUB_MODE_Object_Acts") || (Scr_CMD_ID == 154))
- // {
- // Menu_SUB_MODE_Object_Acts = llParseString2List(message, ["|"], []); // Parse the string back to a list
- // }
- if((Str_ID_VarName_str == "Menu_CAT1_List") || (Scr_CMD_ID == 161))
- {
- Menu_CAT1_List = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT1_Total") || (Scr_CMD_ID == 162))
- {
- Menu_CAT1_Total = (integer)message;
- }
- if((Str_ID_VarName_str == "Menu_CAT2_List") || (Scr_CMD_ID == 163))
- {
- Menu_CAT2_List = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT2_Total") || (Scr_CMD_ID == 164))
- {
- Menu_CAT2_Total = (integer)message;
- }
- if((Str_ID_VarName_str == "Menu_CAT3_List") || (Scr_CMD_ID == 165))
- {
- Menu_CAT3_List = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT3_Total") || (Scr_CMD_ID == 166))
- {
- Menu_CAT3_Total = (integer)message;
- }
- if((Str_ID_VarName_str == "Menu_CAT4_List") || (Scr_CMD_ID == 167))
- {
- Menu_CAT4_List = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT4_Total") || (Scr_CMD_ID == 168))
- {
- Menu_CAT4_Total = (integer)message;
- }
- if((Str_ID_VarName_str == "Menu_CAT5_List") || (Scr_CMD_ID == 169))
- {
- Menu_CAT5_List = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT5_Total") || (Scr_CMD_ID == 170))
- {
- Menu_CAT5_Total = (integer)message;
- }
- if((Str_ID_VarName_str == "Menu_CAT6_List") || (Scr_CMD_ID == 171))
- {
- Menu_CAT6_List = llParseString2List(message, ["|"], []); // Parse the string back to a list
- }
- if((Str_ID_VarName_str == "Menu_CAT6_Total") || (Scr_CMD_ID == 172))
- {
- Menu_CAT6_Total = (integer)message;
- }
- }//else
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //Scr_State = 0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- Init_Data()
- {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // llOwnerSay("Check complete; Initialized & Ready!");
- // GET_CAT_LinkNumbers();
- // GET the LinkNumbers for all the CAT prims
- // GET_CAT_LinkNumbers();
- // Scr_State = (Scr_State + 1);
- // GET the Items in Contents
- // GET_Menu_CAT_Lists();
- // Scr_State = (Scr_State + 1);
- //---OK, we're all done, so
- if((Scr_State <= 10) || (Scr_State >= 90)) // if we're done with all 3 data-gathering steps
- {
- if(Scr_State <= 10)
- { Scr_State = 10; }
- llOwnerSay("Check complete; Initialized & Ready!");
- state Menu_State;
- // llSetScriptState(Scr_ReadNC,FALSE); // Turn off the Notecard-reading script defined in Scr_ReadNC
- }
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // UNCOMMENT '//MOVED TO OTHER SCRIPT// ' to reactivate
- //MOVED TO OTHER SCRIPT// // CALL in: on_rez() -&- changed()
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //MOVED TO OTHER SCRIPT// GET_CAT_LinkNumbers() //GET_CAT_LinkNumbers_according_to_its_CAT_Name
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// //DEBUG//llSay(0,"CAT# linknumbers:");
- //MOVED TO OTHER SCRIPT// integer PrimCheck;
- //MOVED TO OTHER SCRIPT// string PrimName;
- //MOVED TO OTHER SCRIPT// llOwnerSay("> Getting Prim Linknumbers...");
- //MOVED TO OTHER SCRIPT// for(PrimCheck = 1; PrimCheck <= llGetNumberOfPrims(); PrimCheck++)
- //MOVED TO OTHER SCRIPT// {//for1
- //MOVED TO OTHER SCRIPT// PrimName = llGetLinkName(PrimCheck);
- //MOVED TO OTHER SCRIPT// // if(llGetLinkName(PrimCheck) == "CAT1")
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of PrimName matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 0 (1st CAT item)...
- //MOVED TO OTHER SCRIPT// if (llGetSubString(PrimName,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,0),0,3))) // in Menu_CAT_Object_Names_Prefix, 0(1st) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// Menu_CAT_Object_PrimLinks = llListReplaceList(Menu_CAT_Object_PrimLinks,[(string)PrimCheck],0,0);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// // if(llGetLinkName(PrimCheck) == "CAT2")
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of PrimName matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 1 (2nd CAT item)...
- //MOVED TO OTHER SCRIPT// if (llGetSubString(PrimName,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,1),0,3))) // in Menu_CAT_Object_Names_Prefix, 1(2nd) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// Menu_CAT_Object_PrimLinks = llListReplaceList(Menu_CAT_Object_PrimLinks,[(string)PrimCheck],1,1);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// // if(llGetLinkName(PrimCheck) == "CAT3")
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of PrimName matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 2 (3rd CAT item)...
- //MOVED TO OTHER SCRIPT// if (llGetSubString(PrimName,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,2),0,3))) // in Menu_CAT_Object_Names_Prefix, 2(3rd) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// Menu_CAT_Object_PrimLinks = llListReplaceList(Menu_CAT_Object_PrimLinks,[PrimCheck],2,2);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// // if(llGetLinkName(PrimCheck) == "CAT4")
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of PrimName matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 3 (4th CAT item)...
- //MOVED TO OTHER SCRIPT// if (llGetSubString(PrimName,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,3),0,3))) // in Menu_CAT_Object_Names_Prefix, 3(4th) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// Menu_CAT_Object_PrimLinks = llListReplaceList(Menu_CAT_Object_PrimLinks,[PrimCheck],3,3);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// // if(llGetLinkName(PrimCheck) == "CAT5")
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of PrimName matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 4 (5th CAT item)...
- //MOVED TO OTHER SCRIPT// if (llGetSubString(PrimName,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,4),0,3))) // in Menu_CAT_Object_Names_Prefix, 4(5th) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// Menu_CAT_Object_PrimLinks = llListReplaceList(Menu_CAT_Object_PrimLinks,[PrimCheck],4,4);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// // if(llGetLinkName(PrimCheck) == "CAT6")
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of PrimName matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 5 (6th CAT item)...
- //MOVED TO OTHER SCRIPT// if (llGetSubString(PrimName,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,5),0,3))) // in Menu_CAT_Object_Names_Prefix, 5(6th) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// Menu_CAT_Object_PrimLinks = llListReplaceList(Menu_CAT_Object_PrimLinks,[PrimCheck],5,5);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// }//for1
- //MOVED TO OTHER SCRIPT// //-----
- //MOVED TO OTHER SCRIPT// //if "0" is NOT found in the list (if they all have a value other than "0"...
- //MOVED TO OTHER SCRIPT// //if2
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == -1)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("✔ Prim Linknumbers list: [Success]: " + (string)Menu_CAT_Object_PrimLinks);
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// else
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// for(PrimCheck = 0; PrimCheck < 5; PrimCheck++)
- //MOVED TO OTHER SCRIPT// {//for2
- //MOVED TO OTHER SCRIPT// //if, in the list Menu_CAT_Object_PrimLinks, is the value '0' is-at= position-in-the-list
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == 0)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING!: CAT1 prim not found");
- //MOVED TO OTHER SCRIPT// llOwnerSay("The CAT1 prim name MUST start with '" + llList2String(Menu_CAT_Object_Names_Prefix,0) + "'");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == 1)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING!: CAT2 prim not found");
- //MOVED TO OTHER SCRIPT// llOwnerSay("The CAT2 prim name MUST start with '" + llList2String(Menu_CAT_Object_Names_Prefix,1) + "'");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == 2)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING!: CAT3 prim not found");
- //MOVED TO OTHER SCRIPT// llOwnerSay("The CAT3 prim name MUST start with '" + llList2String(Menu_CAT_Object_Names_Prefix,2) + "'");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == 3)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING!: CAT4 prim not found");
- //MOVED TO OTHER SCRIPT// llOwnerSay("The CAT4 prim name MUST start with '" + llList2String(Menu_CAT_Object_Names_Prefix,3) + "'");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == 4)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING!: CAT5 prim not found");
- //MOVED TO OTHER SCRIPT// llOwnerSay("The CAT5 prim name MUST start with '" + llList2String(Menu_CAT_Object_Names_Prefix,4) + "'");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// if(llListFindList(Menu_CAT_Object_PrimLinks,["0"]) == 5)
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING!: CAT6 prim not found");
- //MOVED TO OTHER SCRIPT// llOwnerSay("The CAT6 prim name MUST start with '" + llList2String(Menu_CAT_Object_Names_Prefix,5) + "'");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// // else
- //MOVED TO OTHER SCRIPT// // {
- //MOVED TO OTHER SCRIPT// llOwnerSay("✖ Prim Linknumbers: [FAILED]: " + (string)Menu_CAT_Object_PrimLinks);
- //MOVED TO OTHER SCRIPT// llOwnerSay("- There should NOT be any '0'");
- //MOVED TO OTHER SCRIPT// // }
- //MOVED TO OTHER SCRIPT// }//for2
- //MOVED TO OTHER SCRIPT// }//if2
- //MOVED TO OTHER SCRIPT// }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // UNCOMMENT '//MOVED TO OTHER SCRIPT// ' to reactivate
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //MOVED TO OTHER SCRIPT// GET_Menu_CAT_Lists()
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// integer Item_Total = llGetInventoryNumber(INVENTORY_TEXTURE);
- //MOVED TO OTHER SCRIPT// string Item_TEMP;
- //MOVED TO OTHER SCRIPT// // Menu_CAT1_Pointer = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT1_Total = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT1_List = [];
- //MOVED TO OTHER SCRIPT// // Menu_CAT2_Pointer = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT2_Total = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT2_List = [];
- //MOVED TO OTHER SCRIPT// // Menu_CAT3_Pointer = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT3_Total = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT3_List = [];
- //MOVED TO OTHER SCRIPT// // Menu_CAT4_Pointer = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT4_Total = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT4_List = [];
- //MOVED TO OTHER SCRIPT// // Menu_CAT5_Pointer = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT5_Total = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT5_List = [];
- //MOVED TO OTHER SCRIPT// // Menu_CAT6_Pointer = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT6_Total = 0;
- //MOVED TO OTHER SCRIPT// Menu_CAT6_List = [];
- //MOVED TO OTHER SCRIPT// llOwnerSay("> Getting list of CATegory items...");
- //MOVED TO OTHER SCRIPT// for (Item_Pointer = 0; Item_Pointer < Item_Total; Item_Pointer++)
- //MOVED TO OTHER SCRIPT// {//for 1
- //MOVED TO OTHER SCRIPT// Item_TEMP = llGetInventoryName(INVENTORY_TEXTURE,Item_Pointer);
- //MOVED TO OTHER SCRIPT// if ((string)llGetSubString(Item_TEMP,0,8) == "StarWolff")
- //MOVED TO OTHER SCRIPT// {//if 1
- //MOVED TO OTHER SCRIPT// // if(Scr_State >= 90)
- //MOVED TO OTHER SCRIPT// // {
- //MOVED TO OTHER SCRIPT// // llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// // llOwnerSay("Skipping:");
- //MOVED TO OTHER SCRIPT// // llOwnerSay((string)Item_TEMP);
- //MOVED TO OTHER SCRIPT// // llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// // }
- //MOVED TO OTHER SCRIPT// }//if 1
- //MOVED TO OTHER SCRIPT// else if ((string)llGetSubString(Item_TEMP,0,3) == "SWSF")
- //MOVED TO OTHER SCRIPT// {//if 1
- //MOVED TO OTHER SCRIPT// // if(Scr_State >= 90)
- //MOVED TO OTHER SCRIPT// // {
- //MOVED TO OTHER SCRIPT// // llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// // llOwnerSay("Skipping:");
- //MOVED TO OTHER SCRIPT// // llOwnerSay((string)Item_TEMP);
- //MOVED TO OTHER SCRIPT// // llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// // }
- //MOVED TO OTHER SCRIPT// }//if 1
- //MOVED TO OTHER SCRIPT// else if (llStringLength(Item_TEMP) > 24)
- //MOVED TO OTHER SCRIPT// {//if 1
- //MOVED TO OTHER SCRIPT// llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING: The Item Name:");
- //MOVED TO OTHER SCRIPT// llOwnerSay(Item_TEMP);
- //MOVED TO OTHER SCRIPT// llOwnerSay("is too long. Item Names MUST be less than 24 characters. The Item will not be added.");
- //MOVED TO OTHER SCRIPT// llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// }//if 1
- //MOVED TO OTHER SCRIPT// else
- //MOVED TO OTHER SCRIPT// {//else 1
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of Item_TEMP matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 0 (1st CAT item)...
- //MOVED TO OTHER SCRIPT// if ((string)llGetSubString(Item_TEMP,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,0),0,3))) // in Menu_CAT_Object_Names_Prefix, 0(1st) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {//if 1.1
- //MOVED TO OTHER SCRIPT// //DEBUG//llOwnerSay("ADDED to: CAT1 (" + (string)Menu_CAT_Object_Names_Prefix(0) + ")");
- //MOVED TO OTHER SCRIPT// Menu_CAT1_List += Item_TEMP;
- //MOVED TO OTHER SCRIPT// Menu_CAT1_Total = Menu_CAT1_Total + 1;
- //MOVED TO OTHER SCRIPT// }//if 1.1
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of Item_TEMP matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 1 (2nd CAT item)...
- //MOVED TO OTHER SCRIPT// else if ((string)llGetSubString(Item_TEMP,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,1),0,3))) // in Menu_CAT_Object_Names_Prefix, 1(2nd) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {//if 1.2
- //MOVED TO OTHER SCRIPT// //DEBUG//llOwnerSay("ADDED to: CAT2 (" + (string)Menu_CAT_Object_Names_Prefix(1) + ")");
- //MOVED TO OTHER SCRIPT// Menu_CAT2_List += Item_TEMP;
- //MOVED TO OTHER SCRIPT// Menu_CAT2_Total = Menu_CAT2_Total + 1;
- //MOVED TO OTHER SCRIPT// }//if 1.2
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of Item_TEMP matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 2 (3rd CAT item)...
- //MOVED TO OTHER SCRIPT// else if ((string)llGetSubString(Item_TEMP,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,2),0,3))) // in Menu_CAT_Object_Names_Prefix, 2(3rd) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {//if 1.3
- //MOVED TO OTHER SCRIPT// //DEBUG//llOwnerSay("ADDED to: CAT3 (" + (string)Menu_CAT_Object_Names_Prefix(2) + ")");
- //MOVED TO OTHER SCRIPT// Menu_CAT3_List += Item_TEMP;
- //MOVED TO OTHER SCRIPT// Menu_CAT3_Total = Menu_CAT3_Total + 1;
- //MOVED TO OTHER SCRIPT// }//if 1.3
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of Item_TEMP matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 3 (4th CAT item)...
- //MOVED TO OTHER SCRIPT// else if ((string)llGetSubString(Item_TEMP,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,3),0,3))) // in Menu_CAT_Object_Names_Prefix, 3(4th) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {//if 1.4
- //MOVED TO OTHER SCRIPT// //DEBUG//llOwnerSay("ADDED to: CAT4 (" + (string)Menu_CAT_Object_Names_Prefix(3) + ")");
- //MOVED TO OTHER SCRIPT// Menu_CAT4_List += Item_TEMP;
- //MOVED TO OTHER SCRIPT// Menu_CAT4_Total = Menu_CAT4_Total + 1;
- //MOVED TO OTHER SCRIPT// }//if 1.4
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of Item_TEMP matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 4 (5th CAT item)...
- //MOVED TO OTHER SCRIPT// else if ((string)llGetSubString(Item_TEMP,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,4),0,3))) // in Menu_CAT_Object_Names_Prefix, 4(5th) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {//if 1.5
- //MOVED TO OTHER SCRIPT// //DEBUG//llOwnerSay("ADDED to: CAT5 (" + (string)Menu_CAT_Object_Names_Prefix(4) + ")");
- //MOVED TO OTHER SCRIPT// Menu_CAT5_List += Item_TEMP;
- //MOVED TO OTHER SCRIPT// Menu_CAT5_Total = Menu_CAT5_Total + 1;
- //MOVED TO OTHER SCRIPT// }//if 1.5
- //MOVED TO OTHER SCRIPT// // if the first 3 characters of Item_TEMP matches the first 3 characters of Menu_CAT_Object_Names_Prefix at position 5 (6th CAT item)...
- //MOVED TO OTHER SCRIPT// else if ((string)llGetSubString(Item_TEMP,0,3) == ((string)llGetSubString(llList2String(Menu_CAT_Object_Names_Prefix,5),0,3))) // in Menu_CAT_Object_Names_Prefix, 5(6th) item, first 3 chars
- //MOVED TO OTHER SCRIPT// {//if 1.6
- //MOVED TO OTHER SCRIPT// //DEBUG//llOwnerSay("ADDED to: CAT6 (" + (string)Menu_CAT_Object_Names_Prefix(5) + ")");
- //MOVED TO OTHER SCRIPT// Menu_CAT6_List += Item_TEMP;
- //MOVED TO OTHER SCRIPT// Menu_CAT6_Total = Menu_CAT6_Total + 1;
- //MOVED TO OTHER SCRIPT// }//if 1.6
- //MOVED TO OTHER SCRIPT// else // if the Item_Name isn't in the list of Menu_CAT_Object_Names_Prefix...
- //MOVED TO OTHER SCRIPT// {//if 1.x
- //MOVED TO OTHER SCRIPT// llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// llOwnerSay("WARNING: The Item Name:");
- //MOVED TO OTHER SCRIPT// llOwnerSay(Item_TEMP);
- //MOVED TO OTHER SCRIPT// llOwnerSay("is undefined. Item Name's PREfix MUST be one of the defined Prefixes for the 6 Categories. The Item will not be added.");
- //MOVED TO OTHER SCRIPT// llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// }//if 1.x
- //MOVED TO OTHER SCRIPT// }//else 1
- //MOVED TO OTHER SCRIPT// }//for 1
- //MOVED TO OTHER SCRIPT// if(Scr_State >= 90)//DEBUG//
- //MOVED TO OTHER SCRIPT// {
- //MOVED TO OTHER SCRIPT// //DEBUG// //llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("- Category Lists: ");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("Menu_CAT1_List: " + llList2String(Menu_CAT_Object_Names_Prefix,0) + " = " + (string)Menu_CAT1_Total + " Items");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay((string)Menu_CAT1_List);
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("Menu_CAT2_List: " + llList2String(Menu_CAT_Object_Names_Prefix,1) + " = " + (string)Menu_CAT2_Total + " Items");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay((string)Menu_CAT2_List);
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("Menu_CAT3_List: " + llList2String(Menu_CAT_Object_Names_Prefix,2) + " = " + (string)Menu_CAT3_Total + " Items");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay((string)Menu_CAT3_List);
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("Menu_CAT4_List: " + llList2String(Menu_CAT_Object_Names_Prefix,3) + " = " + (string)Menu_CAT4_Total + " Items");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay((string)Menu_CAT4_List);
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("Menu_CAT5_List: " + llList2String(Menu_CAT_Object_Names_Prefix,4) + " = " + (string)Menu_CAT5_Total + " Items");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay((string)Menu_CAT5_List);
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("Menu_CAT6_List: " + llList2String(Menu_CAT_Object_Names_Prefix,5) + " = " + (string)Menu_CAT6_Total + " Items");
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay((string)Menu_CAT6_List);
- //MOVED TO OTHER SCRIPT// //DEBUG// llOwnerSay("\n");
- //MOVED TO OTHER SCRIPT// }
- //MOVED TO OTHER SCRIPT// Item_Pointer = 0;
- //MOVED TO OTHER SCRIPT// return;
- //MOVED TO OTHER SCRIPT// }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- DO_Rezz()
- {
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- DO_ShowHide()
- {
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected item's state
- if((integer)llList2String(Menu_CAT_States,(Menu_CAT_IDX -1)) == 1)
- // if(llListFindList(Menu_CAT_States,["0"]) == (Menu_CAT_IDX -1))
- {
- SELECTED_status = 0;
- Menu_CAT_States = llListReplaceList(Menu_CAT_States,[(integer)SELECTED_status],(Menu_CAT_IDX -1),(Menu_CAT_IDX -1)); // toggle the value in the list Menu_CAT_States, at pos (Menu_CAT_IDX -1)
- llSay(0,"\n");
- llSay(0,"> Now Hiding: " + llList2String(Menu_CAT_Button_Labels,(Menu_CAT_IDX -1)));
- }
- // if((integer)llList2String(Menu_CAT_States,(Menu_CAT_IDX -1)) == 1)
- // if(llListFindList(Menu_CAT_States,["1"]) == (Menu_CAT_IDX -1))
- else
- {
- SELECTED_status = 1;
- Menu_CAT_States = llListReplaceList(Menu_CAT_States,[(integer)SELECTED_status],(Menu_CAT_IDX -1),(Menu_CAT_IDX -1)); // toggle the value in the list Menu_CAT_States, at pos (Menu_CAT_IDX -1)
- llSay(0,"\n");
- llSay(0,"> Now Showing: " + llList2String(Menu_CAT_Button_Labels,(Menu_CAT_IDX -1)));
- }
- // llSetLinkAlpha((integer)SELECTED_link,(float)SELECTED_status,ALL_SIDES);
- llSetLinkAlpha(SELECTED_link,SELECTED_status,ALL_SIDES);
- // llDialog(Obj_Toucher_Key, Menu_Capt, Menu_Butt, Menu_Chan);
- return;
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- DO_Mode()
- {
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- DO_Theme()
- {
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //DO_Texture(integer SELECTED_link,string SELECTED_item,integer SELECTED_face)
- DO_Texture()
- {
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- llSay(0,"\n");
- llSay(0,"> Now Setting: " + llList2String(Menu_CAT_Button_Labels,(Menu_CAT_IDX -1)) + ": " + SELECTED_item);
- llSetLinkTexture(SELECTED_link, SELECTED_item, SELECTED_face);
- llOwnerSay("xxxADDED this RETURN - it worked without the Show-Hide but not after using that Show-Hide");
- return;
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // Get the Set-of-6(or 9) for the selected Category
- GET_Menu_CAT_SUB_Set()
- // This assumes the list Menu_CAT_SUB_List is the Currently-set list
- // BEFORE calling this routine:
- // - assign Menu_CAT_SUB_TEMP = to the current CAT# list [Menu_CAT_SUB_List]
- // - assign Menu_CAT_SUB_Total = to the current CAT# list's Total [Menu_CAT#_Total]
- {
- //DEBUG//llOwnerSay("> GET_Menu_CAT_SUB_Set:");
- //DEBUG//llOwnerSay("(MCSS)(1): Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- Menu_CAT_SUB_Set = [];
- Item_Counter = 0;
- if (Menu_CAT_SUB_Total <= 9)
- {
- Menu_CAT_SUB_Set = Menu_CAT_SUB_TEMP;
- }
- else
- {
- if (llList2String(Menu_CAT_SUB_TEMP,Item_IDX) == "")
- {
- Item_IDX = 0;
- }
- else
- {
- for (Item_Counter = Item_IDX; (Item_Counter <= (Item_IDX + 5)); Item_Counter++)
- {//~for1
- if (llList2String(Menu_CAT_SUB_TEMP,Item_Counter) == "")
- {
- Menu_CAT_SUB_Set += [" "];
- }
- else
- {
- Menu_CAT_SUB_Set += [llList2String(Menu_CAT_SUB_TEMP,Item_Counter)];
- }
- }//~for1
- }
- Menu_CAT_SUB_Set = Menu_SUB_NAV + Menu_CAT_SUB_Set;
- Item_IDX = Item_Counter; // ADDED !!!!!!!
- // THIS WORKS:
- // Menu_CAT_SUB_Set = Menu_SUB_NAV + [llList2String(Menu_CAT_SUB_TEMP,(Item_Pointer)),llList2String(Menu_CAT_SUB_TEMP,(Item_Pointer + 1)),llList2String(Menu_CAT_SUB_TEMP,(Item_Pointer + 2)),llList2String(Menu_CAT_SUB_TEMP,(Item_Pointer + 3)),llList2String(Menu_CAT_SUB_TEMP,(Item_Pointer + 4)),llList2String(Menu_CAT_SUB_TEMP,(Item_Pointer + 5))];
- }
- //DEBUG//llOwnerSay("Menu_CAT_SUB_Set: ");
- //DEBUG//llOwnerSay((string)Menu_CAT_SUB_Set);
- //DEBUG//llOwnerSay("(MCSS)(2): Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- return;
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // state default state ~ BEG
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- default // RENAME to 'default' (NO 'state')
- {
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- state_entry()
- {
- Obj_Owner_Key = (string)llGetOwner(); // -> returns UUID of owner
- // Menu_ADM_AUTH_Owner = Obj_Owner_Key; // set, in Menu_ADM_AUTH_Owner, the Object Owner's key 'Obj_Owner_Key'
- Menu_ADM_AUTH_Users = llListReplaceList(Menu_ADM_AUTH_Users,[Obj_Owner_Key],0,0); // put the owner's UUID in the list of authorized users, at pos 0
- if((Scr_State == 0) || (Scr_State >= 90))
- {
- if(Scr_State == 99)
- {
- llOwnerSay(">>> DEBUG Mode <<<");
- llMessageLinked(LINK_THIS, 99, "MODE: DEBUG MODE", "MODE: DEBUG MODE");
- Scr_State = 90;
- }
- llOwnerSay("Please wait: Initializing & Checking Items...");
- // llOwnerSay("\n");
- // GET Notecard CFG data
- // llSetScriptState(Scr_ReadNC,TRUE); // Turn on the Notecard-reading script defined in Scr_ReadNC
- // Tell the NC script defined in Scr_ReadNC to start reading it's data
- // llMessageLinked(LINK_THIS, 4, NC_Selected, "CFG: NC_Selected");
- llMessageLinked(LINK_THIS, 5, "BEG: Read_Data", "BEG: Read_Data");
- // Gather data
- // InitScript();
- // // Prepare for data
- // if(Scr_State >= 90)
- // {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // }
- // // GET data
- // GET_CAT_LinkNumbers();
- // GET_Menu_CAT_Lists();
- // Scr_State = (Scr_State + 1); //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- // finish getting data
- // InitScript();
- // if(Scr_State >= 90)
- // {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // }
- // Scr_State = (Scr_State + 1); //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- }
- // if((Scr_State == 9) || (Scr_State >= 90))
- // {
- // llOwnerSay("Check complete; Initialized & Ready!");
- // Scr_State = (Scr_State + 1);
- // state Menu_State;
- // }
- // llOwnerSay("Check complete; Initialized & Ready!");
- // state Menu_State;
- }
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- on_rez(integer a)
- {
- llResetScript();
- if(Scr_State >= 90)
- {
- llMessageLinked(LINK_THIS, 99, "MODE: DEBUG MODE", "MODE: DEBUG MODE");
- }
- // Gather data
- // InitScript();
- // // Prepare for data
- // InitScript();
- // if(Scr_State >= 90)
- // {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // }
- // // GET data
- // GET_CAT_LinkNumbers();
- // GET_Menu_CAT_Lists();
- // Scr_State = (Scr_State + 1); //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- // finish getting data
- // InitScript();
- // if(Scr_State >= 90)
- // {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // }
- // Scr_State = (Scr_State + 1); //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- }
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- changed(integer b)
- {
- llResetScript();
- if(Scr_State >= 90)
- {
- llMessageLinked(LINK_THIS, 99, "MODE: DEBUG MODE", "MODE: DEBUG MODE");
- }
- // Gather data
- // InitScript();
- // // Prepare for data
- // InitScript();
- // if(Scr_State >= 90)
- // {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // }
- // // GET data
- // GET_CAT_LinkNumbers();
- // GET_Menu_CAT_Lists();
- // Scr_State = (Scr_State + 1); //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- // finish getting data
- // InitScript();
- // if(Scr_State >= 90)
- // {
- // llSay(0,"Scr_State: " + (string)Scr_State);
- // }
- // Scr_State = (Scr_State + 1); //0=Init(Start), 10=Init(End), 20=Run, 90=Init[DEBUG](Start), 91=Init[DEBUG](End), 92=Run[DEBUG](Run), 99=DEBUG_Mode <-99 to go into DEBUG mode
- }
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //SendingPrimLinkNum is the LINK NUMBER of the prim that sent the message
- //Scr_CMD_ID is used for sending an ID code to identify each message
- //Str_ID_VarName_str is used for sending the Variable Name of the data value in Message
- link_message(integer SendingPrimLinkNum, integer Scr_CMD_ID, string message, key Str_ID_VarName_str)
- { //linkmessage
- if((Scr_CMD_ID == 999) || (message == "END: End Of Data") || (Str_ID_VarName_str == "EOD"))
- {
- // if(Scr_State < 10)
- // { Scr_State = 10; }
- // if(Scr_State >= 90)
- // { Scr_State = (Scr_State + 1); }
- Scr_State = (Scr_State + 1);
- Init_Data();
- }
- else
- {
- // GET_Incoming_DATA(SendingPrimLinkNum, Scr_CMD_ID, message, Str_ID_VarName_str);
- GET_Incoming_DATA(Scr_CMD_ID, message, Str_ID_VarName_str);
- }
- // if((Scr_CMD_ID == 11) || (message == "BEG: Start Of Data") || (Str_ID_VarName_str == "SOD"))
- // {
- //llSay(0,"~~~Receiving Data~~~");
- // Scr_State = (Scr_State + 1);
- // }
- // if((Scr_CMD_ID == 999) || (message == "END: End Of Data") || (Str_ID_VarName_str == "EOD"))
- // {
- // Scr_State = (Scr_State + 1);
- //llSay(0,"~~~~~~~screwy script state: " + (string)Scr_State);
- // Init_Data();
- // }
- // else if(Scr_CMD_ID >= 100)
- // {
- // // GET_Incoming_DATA(SendingPrimLinkNum, Scr_CMD_ID, message, Str_ID_VarName_str);
- // GET_Incoming_DATA(Scr_CMD_ID, message, Str_ID_VarName_str);
- // }
- } //linkmessage
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // state default state ~ END
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // state Menu_State state ~ BEG
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- state Menu_State
- {
- state_entry()
- {
- }
- on_rez(integer a)
- {
- llResetScript();
- }
- changed(integer b)
- {
- llResetScript();
- }
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //SendingPrimLinkNum is the LINK NUMBER of the prim that sent the message
- //Scr_CMD_ID is used for sending an ID code to identify each message
- //Str_ID_VarName_str is used for sending the Variable Name of the data value in Message
- link_message(integer SendingPrimLinkNum, integer Scr_CMD_ID, string message, key Str_ID_VarName_str)
- { //linkmessage
- // GET_Incoming_DATA(SendingPrimLinkNum, Scr_CMD_ID, message, Str_ID_VarName_str);
- GET_Incoming_CMDs(Scr_CMD_ID, message, Str_ID_VarName_str);
- } //linkmessage
- timer()
- {
- llSetTimerEvent(0.0);
- remove_listens();
- }
- touch_start(integer total_number)
- {
- Obj_Toucher_Name = llDetectedName(0); // put the toucher's Name in Obj_Toucher_Name
- Obj_Toucher_Key = (string)llDetectedKey(0); // put the toucher's UUID in Obj_Toucher_Key
- // Obj_Toucher_Group; // put the toucher's currently-active group in Obj_Toucher_Group
- // if(llDetectedGroup(0))
- // { Obj_Toucher_Group = TRUE; } // see if the toucher's currently-active group is the same as the object's group
- // else
- // { Obj_Toucher_Group = FALSE; }
- Obj_OwnerToucher_NKG = Obj_Owner_Key + "|" + Obj_Toucher_Name + "|" + Obj_Toucher_Key + "|" + Obj_Toucher_Group;
- llMessageLinked(LINK_THIS, 2, Obj_OwnerToucher_NKG, "Obj_OwnerToucher_NKG");
- Menu_SUB_ID = 0;
- Menu_Capt = "\n" + Menu_IA_Brand_Name + "\n" + Menu_IA_Product_Name + ", " + Menu_IA_Product_Vers + "\n" + Menu_00_Capt;
- // display the dialog
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- // llDialog(llDetectedKey(0), Menu_Capt, Menu_Butt, Menu_Chan); // WORKS
- llDialog(Obj_Toucher_Key, Menu_Capt, Menu_Butt, Menu_Chan);
- //DEBUG//llSay(0,"Main Menu 1:");
- //DEBUG//llSay(0, "Menu_SUB_ID: " + (string)Menu_SUB_ID);
- //DEBUG//llSay(0,"\n");
- llListen(Menu_Chan,"",NULL_KEY,"");
- }
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- listen(integer channel, string name, key id, string message)
- { //listen
- //DEBUG//llOwnerSay("> listen...");
- //DEBUG//llOwnerSay("Menu_SUB_ID: " + (string)Menu_SUB_ID);
- //DEBUG//llOwnerSay("Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- //llOwnerSay("Item_Pointer = " + (string)Item_Pointer + " - Item_IDX = " + (string)Item_IDX);
- llOwnerSay("at listn: message: " + message);
- //DEBUG//llOwnerSay("Menu_CAT_Object_Names_Prefix IDX #: " + (string)llListFindList(Menu_CAT_Button_Labels,[message]) + " (according to message position)");
- //DEBUG//llOwnerSay("(^--- if this is -1, it means 'message' is not in the list of CATs - safe to ignore");
- //DEBUG//llOwnerSay("Menu_CAT_Object_Names_Prefix IDX #: " + (string)Menu_SUB_ID + " (according to current CAT)");
- //DEBUG//llOwnerSay("...");
- //DEBUG//
- Scr_Mem_Usage_Current = llGetUsedMemory();
- llOwnerSay("xDELx Current Memory usage: " + (string)Scr_Mem_Usage_Current + "bytes");
- //------------------------------------------
- //------------------------------------------
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- if ( (Obj_Toucher_Key == Obj_Owner_Key) || (Menu_00_AUTH_Level == 0) || ((Menu_00_AUTH_Level == 2) && (Obj_Toucher_Group == llList2String(Menu_ADM_AUTH_Users,7))) || ((Menu_00_AUTH_Level == 3) && (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]))) )
- {//if Authorized to use the menu...
- //------------------------------------------
- //------------------------------------------
- if (message != "Close Menu")
- {//if not 'Close Menu'...
- //------------------------------------------
- // if Themes...
- if (message == "● Themes")
- {
- //DEBUG//
- llOwnerSay("xDELx Theme Menu: AUTH_Level = " + (string)Menu_SUB_THM_AUTH_Level);
- if (Menu_SWSF_EGG == 1)
- {
- Menu_SWSF_EGG = 2;
- }
- if ( (Obj_Toucher_Key == Obj_Owner_Key) || (Menu_SUB_THM_AUTH_Level == 0) || ((Menu_SUB_THM_AUTH_Level == 2) && (Obj_Toucher_Group == llList2String(Menu_ADM_AUTH_Users,7))) || ((Menu_SUB_THM_AUTH_Level == 3) && (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]))) )
- {
- Menu_SUB_ID = 10;
- llMessageLinked(LINK_THIS, 10, "Menu_THM", "Menu_THM");
- }
- else // CHANGE THIS TO ERROR PAGE
- {
- Menu_SUB_ID = 99;
- Menu_Capt = Menu_ADM_AUTH_ERR_Capt1 + llList2String(Menu_00_MenuName_List,4) + Menu_ADM_AUTH_ERR_Capt2;
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- }
- }
- //--------------
- // if Modes...
- else if (message == "Modes")
- {
- llOwnerSay("xDELx Mode Menu: AUTH_Level = " + (string)Menu_SUB_MODE_AUTH_Level);
- if ( (Obj_Toucher_Key == Obj_Owner_Key) || (Menu_SUB_MODE_AUTH_Level == 0) || ((Menu_SUB_MODE_AUTH_Level == 2) && (Obj_Toucher_Group == llList2String(Menu_ADM_AUTH_Users,7))) || ((Menu_SUB_MODE_AUTH_Level == 3) && (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]))) )
- {
- Menu_SUB_ID = 20;
- llMessageLinked(LINK_THIS, 20, "Menu_MODE", "Menu_MODE");
- }
- else // CHANGE THIS TO ERROR PAGE
- {
- Menu_SUB_ID = 0;
- Menu_Capt = Menu_ADM_AUTH_ERR_Capt1 + llList2String(Menu_00_MenuName_List,4) + Menu_ADM_AUTH_ERR_Capt2;
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- }
- }
- //--------------
- else
- {//else everything else
- //-- -- -- -- -- -- -- -- -- -- --
- if (Menu_SWSF_EGG == 4)
- {
- Menu_SWSF_EGG = 5;
- Menu_SUB_ID = 0;
- Menu_Capt = "\n\nCONGRATULATIONS!\n\nYou found StarWolffs Easter Egg!\n\nA Gift should be delivered to you shortly\n- if it does not arrive, contact:\nsecondlife:///app/agent/b3c21e55-a326-455e-b302-ffeeb95e4027/about";
- //StarWolffs SatisFactory Free Gift! //object
- // llGiveInventoryList(aviname,"StarWolffs SatisFactory Free Gift!",llGetInventoryName(INVENTORY_OBJECT,"StarWolffs SatisFactory Free Gift!"));
- llGiveInventory(Obj_Toucher_Name,"StarWolffs SatisFactory Free Gift!");
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- //DEBUG//llSay(0,"'Main Menu' button - then do the Main Menu llDialog again");
- }
- //--------------
- else if (message == "Main Menu")
- {
- Menu_SUB_ID = 0;
- Menu_CAT_IDX = 0;
- Menu_Capt = "\n" + Menu_IA_Brand_Name + "\n" + Menu_IA_Product_Name + ", " + Menu_IA_Product_Vers + "\n" + Menu_00_Capt;
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- //DEBUG//llSay(0,"'Main Menu' button - then do the Main Menu llDialog again");
- }
- //--------------
- else if (message == "Admin")
- {
- if (Menu_SWSF_EGG == 2)
- {
- Menu_SWSF_EGG = 3;
- }
- //DEBUG//
- llOwnerSay("xDELx Admin Menu: AUTH_Level = " + (string)Menu_SUB_ADM_AUTH_Level);
- if (Obj_Toucher_Key == Obj_Owner_Key)
- {
- Menu_SUB_ID = 80;
- Menu_Capt = Menu_SUB_ADM_Capt + "\n" + Menu_SUB_ADM_Choices;
- Menu_Butt = Menu_00b + Menu_SUB_ADM_Butt;
- }
- else // CHANGE THIS TO ERROR PAGE
- {
- Menu_SUB_ID = 0;
- Menu_Capt = Menu_ADM_AUTH_ERR_Capt1 + llList2String(Menu_00_MenuName_List,1) + Menu_ADM_AUTH_ERR_Capt2;
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- }
- }
- //--------------
- else if (message == "INFO/About")
- {
- Menu_SUB_ID = 90;
- Menu_Capt = Menu_SUB_IA_Capt + "\nBrand: " + Menu_IA_Brand_Name + " by " + Menu_IA_Brand_By + "\nProduct: " + Menu_IA_Product_Name + ", " + Menu_IA_Product_Vers + "\nCoding: StarWolffs SatisFactory\n\nClick a button below for more details:";
- Menu_Butt = Menu_00b + [Menu_IA_Product_Name,Menu_IA_Brand_Name,"StarWolff"];
- //DEBUG//llSay(0,"menu buttons (Menu_Butt): " + (string)Menu_Butt);
- }
- //--------------
- else if (message == Menu_IA_Product_Name)
- {
- Menu_Capt = Menu_SUB_IA_Capt + "\n" + Menu_IA_Brand_Name + " - " + Menu_IA_Product_Name + ", " + Menu_IA_Product_Vers + "\n" + Menu_IA_Product_Capt;
- Menu_Butt = Menu_00b + [Menu_IA_Product_Name,Menu_IA_Brand_Name,"StarWolff"];
- //DEBUG//llSay(0,"You clicked the 'Product' button");
- }
- //--------------
- else if (message == Menu_IA_Brand_Name)
- {
- Menu_Capt = Menu_SUB_IA_Capt + "\n" + Menu_IA_Brand_Capt;
- Menu_Butt = Menu_00b + [Menu_IA_Product_Name,Menu_IA_Brand_Name,"StarWolff"];
- //DEBUG//llSay(0,"You clicked the 'Brand' button");
- }
- //--------------
- else if (message == "StarWolff")
- {
- if (Menu_SWSF_EGG == 0)
- {
- Menu_SWSF_EGG = 1;
- }
- Menu_Capt = Menu_SUB_IA_Capt + "\n" + Obj_Pn + " - " + Obj_Vs + "\n\n" + Menu_IA_SWSF_Capt;
- Menu_Butt = Menu_00b + [Menu_IA_Product_Name,Menu_IA_Brand_Name,"StarWolff"];
- }
- //--------------
- //DISabled// else if (message == "Modes")
- //DISabled// {
- //DEBUG//
- //DISabled//llSay(0,"Mode Menu: AUTH_Level = " + (string)Menu_SUB_MODE_AUTH_Level);
- //DISabled// if ( (Obj_Toucher_Key == Obj_Owner_Key) || (Menu_SUB_MODE_AUTH_Level == 0) || ((Menu_SUB_MODE_AUTH_Level == 2) && (Obj_Toucher_Group == llList2String(Menu_ADM_AUTH_Users,7))) || ((Menu_SUB_MODE_AUTH_Level == 3) && (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]))) )
- //DISabled// {
- //DISabled// Menu_SUB_ID = 20;
- //DISabled// llMessageLinked(LINK_THIS, 20, "Menu_MODE", "Menu_MODE");
- //// =======FROM HERE DOWN, NO LONGER NEEDED ============== <<<<<<<<
- //DISabled// Menu_Capt = Menu_SUB_MODE_Capt + "\nMode 1: " + llList2String(Menu_SUB_MODE_Descs,0) + "\nMode 2: " + llList2String(Menu_SUB_MODE_Descs,1) + "\nMode 3: " + llList2String(Menu_SUB_MODE_Descs,2) + "\nMode 4: " + llList2String(Menu_SUB_MODE_Descs,3) + "\nMode 5: " + llList2String(Menu_SUB_MODE_Descs,4) + "\nMode 6: " + llList2String(Menu_SUB_MODE_Descs,5) + "\nMode 7: " + llList2String(Menu_SUB_MODE_Descs,6) + "\nMode 8: " + llList2String(Menu_SUB_MODE_Descs,7) + "\nMode 9: " + llList2String(Menu_SUB_MODE_Descs,8);
- //DISabled// Menu_Butt = Menu_00b + Menu_SUB_MODE_Butt;
- //DISabled// }
- //DISabled// else // CHANGE THIS TO ERROR PAGE
- //DISabled// {
- //DISabled// Menu_SUB_ID = 0;
- //DISabled// Menu_Capt = Menu_ADM_AUTH_ERR_Capt1 + llList2String(Menu_00_MenuName_List,4) + Menu_ADM_AUTH_ERR_Capt2;
- //DISabled// Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- //DISabled// }
- //DISabled// }
- //--------------
- //DISabled// else if (message == "● Themes")
- //DISabled// {
- //DISabled////DEBUG//
- //DISabled//llSay(0,"Theme Menu: AUTH_Level = " + (string)Menu_SUB_THM_AUTH_Level);
- //DISabled// if (Menu_SWSF_EGG == 1)
- //DISabled// {
- //DISabled// Menu_SWSF_EGG = 2;
- //DISabled// }
- //DISabled// if ( (Obj_Toucher_Key == Obj_Owner_Key) || (Menu_SUB_THM_AUTH_Level == 0) || ((Menu_SUB_THM_AUTH_Level == 2) && (Obj_Toucher_Group == llList2String(Menu_ADM_AUTH_Users,7))) || ((Menu_SUB_THM_AUTH_Level == 3) && (llListFindList(Menu_ADM_AUTH_Users,[Obj_Toucher_Key]))) )
- //DISabled// {
- //DISabled// Menu_SUB_ID = 10;
- //DISabled// llMessageLinked(LINK_THIS, 10, "Menu_THM", "Menu_THM");
- //// =======FROM HERE DOWN, NO LONGER NEEDED ============== <<<<<<<<
- //DISabled// Menu_Capt = Menu_SUB_THM_Capt + "\nTheme 1: " + llList2String(Menu_SUB_THM_Descs,0) + "\nTheme 2: " + llList2String(Menu_SUB_THM_Descs,1) + "\nTheme 3: " + llList2String(Menu_SUB_THM_Descs,2) + "\nTheme 4: " + llList2String(Menu_SUB_THM_Descs,3) + "\nTheme 5: " + llList2String(Menu_SUB_THM_Descs,4) + "\nTheme 6: " + llList2String(Menu_SUB_THM_Descs,5) + "\nTheme 7: " + llList2String(Menu_SUB_THM_Descs,6) + "\nTheme 8: " + llList2String(Menu_SUB_THM_Descs,7) + "\nTheme 9: " + llList2String(Menu_SUB_THM_Descs,8);
- //DISabled// Menu_Butt = Menu_00b + Menu_SUB_THM_Butt;
- //DISabled// }
- //DISabled// else // CHANGE THIS TO ERROR PAGE
- //DISabled// {
- //DISabled// Menu_SUB_ID = 99;
- //DISabled// Menu_Capt = Menu_ADM_AUTH_ERR_Capt1 + llList2String(Menu_00_MenuName_List,4) + Menu_ADM_AUTH_ERR_Capt2;
- //DISabled// Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- //DISabled// }
- //DISabled// }
- //--------------
- // Admin SUB_Menu
- else if (Menu_SUB_ID >= 80 && Menu_SUB_ID < 90)
- {
- if (message == "Owner")
- {
- Menu_SUB_ID = 81;
- Menu_00_AUTH_Level = 1;
- message = "Owner-Only";
- //DEBUG//llSay(0,"You chose Admin 1!");
- //DEBUG//llSay(0,llList2String(Menu_SUB_ADM_List,0));
- }
- else if (message == "Group")
- {
- Menu_SUB_ID = 82;
- Menu_00_AUTH_Level = 2;
- message = "Owner+Group";
- //DEBUG//llSay(0,"You chose Admin 2!");
- //DEBUG//llSay(0,llList2String(Menu_SUB_ADM_List,1));
- }
- else if (message == "List (NC)")
- {
- Menu_SUB_ID = 83;
- Menu_00_AUTH_Level = 3;
- message = "Owner+List";
- //DEBUG//llSay(0,"You chose Admin 3!");
- //DEBUG//llSay(0,llList2String(Menu_SUB_ADM_List,2));
- }
- else if (message == "Public")
- {
- Menu_SUB_ID = 84;
- Menu_00_AUTH_Level = 0;
- message = "Public"; // redundant, but... consistency
- //DEBUG//llSay(0,"You chose Admin 4!");
- //DEBUG//llSay(0,llList2String(Menu_SUB_ADM_List,3));
- }
- else if (message == "undefined 1")
- {
- Menu_SUB_ID = 85;
- Menu_00_AUTH_Level = 0;
- message = "Public"; // temporarily set this to public until this selection is defined - REMOVE this line when it's defined
- //DEBUG//llSay(0,"You chose Admin 5!");
- //DEBUG//llSay(0,llList2String(Menu_SUB_ADM_List,4));
- }
- else if (message == "undefined 2")
- {
- Menu_SUB_ID = 86;
- Menu_00_AUTH_Level = 0;
- message = "Public"; // temporarily set this to public until this selection is defined - REMOVE this line when it's defined
- //DEBUG//llSay(0,"You chose Admin 6!");
- //DEBUG//llSay(0,llList2String(Menu_SUB_ADM_List,5));
- }
- Menu_Capt = Menu_SUB_ADM_Capt + "\n" + Menu_SUB_ADM_Choices + "\n\nNow setting Menu access to: " + message;
- Menu_Butt = Menu_00b + Menu_SUB_ADM_Butt;
- //DEBUG//llSay(0,"'Admin' sub menu - Set it up!");
- }
- //--------------
- else if (message == "<===")
- {
- //DEBUG//llOwnerSay("> '<==='");
- //DEBUG//llOwnerSay("(1) Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- Item_IDX = (Item_IDX - 12); // set the pointer back 12 (back 1 page (6), minus the current page (6) - 6+6=12
- if (Item_IDX < 0)
- {
- Item_IDX = 0;
- // Item_Pointer = (6 * (whole number of (out of the total number of items [Menu_CAT_SUB_Total], divided by 6)), + 1)
- //- for example:
- //- if Menu_CAT_SUB_Total = 8...
- //- 8/6=1.333
- //- whole number of 1.333 = 1
- //- 6*1=6
- // so:
- // (6* (whole number of(Menu_CAT_SUB_Total / 6)) + 1)
- // Item_Pointer = (6* (llRound(Menu_CAT_SUB_Total / 6)) + 1);
- }
- GET_Menu_CAT_SUB_Set(); // returns Menu_CAT_SUB_Set (set of 6, and if >9 with Menu_SUB_NAV)
- //DEBUG//llOwnerSay("(2) Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- Menu_Butt = Menu_00b + Menu_CAT_SUB_Set;
- }
- //--------------
- else if (message == "===>")
- {
- if (Menu_SWSF_EGG == 3)
- {
- Menu_SWSF_EGG = 4;
- }
- //DEBUG//llOwnerSay("> '===>'");
- //DEBUG//llOwnerSay("(1) Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- Item_Pointer = (Item_Pointer + 6); // set the pointer forward 6
- // if (Item_Pointer > Menu_CAT_SUB_Total)
- if (Item_IDX > Menu_CAT_SUB_Total)
- {
- Item_IDX = 0;
- }
- GET_Menu_CAT_SUB_Set(); // returns Menu_CAT_SUB_Set (set of 6, and if >9 with Menu_SUB_NAV)
- //DEBUG//llOwnerSay("(2) Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- Menu_Butt = Menu_00b + Menu_CAT_SUB_Set;
- }
- //--------------
- // Item SUB_Menu
- else if (Menu_CAT_IDX > 0)
- {
- // if the selected item is in the list of CAT1...
- // if ((string)llListFindList(Menu_CAT1_List,[message])
- // if ((string)llListFindList(Menu_CAT1_List,[message]) != -1)
- if(Menu_CAT_IDX == 1)
- {
- //llSetLinkTexture(linknumber,message,face); // REPLACE THIS with 'apply texture to correct face on correct linknumber'
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,0); // Apply to this prim the linknumber listed in the 0th (1st) position in Menu_CAT_Object_PrimLinks
- SELECTED_item = message;
- SELECTED_face = (integer)llList2String(Menu_CAT_Action_Faces,0); // Apply to this face the facenumber listed in the 0th (1st) position in Menu_CAT_Action_Faces
- // DO_Texture(SELECTED_link,SELECTED_item,SELECTED_face);
- // DO_Texture();
- //DEBUG//llSay(0,"You chose: " + message);
- }
- // if the selected item is in the list of CAT2...
- // else if ((string)llListFindList(Menu_CAT2_List,[message]) != -1)
- else if(Menu_CAT_IDX == 2)
- {
- //llSetLinkTexture(linknumber,message,face); // REPLACE THIS with 'apply texture to correct face on correct linknumber'
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,1); // Apply to this prim the linknumber listed in the 1st (2nd) position in Menu_CAT_Object_PrimLinks
- SELECTED_item = message;
- SELECTED_face = (integer)llList2String(Menu_CAT_Action_Faces,1); // Apply to this face the facenumber listed in the 1st (2nd) position in Menu_CAT_Action_Faces
- // DO_Texture(SELECTED_link,SELECTED_item,SELECTED_face);
- // DO_Texture();
- //DEBUG//llSay(0,"You chose: " + message);
- }
- // if the selected item is in the list of CAT3...
- // else if ((string)llListFindList(Menu_CAT3_List,[message]) != -1)
- else if(Menu_CAT_IDX == 3)
- {
- //llSetLinkTexture(linknumber,message,face); // REPLACE THIS with 'apply texture to correct face on correct linknumber'
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,2); // Apply to this prim the linknumber listed in the 2nd (3rd) position in Menu_CAT_Object_PrimLinks
- SELECTED_item = message;
- SELECTED_face = (integer)llList2String(Menu_CAT_Action_Faces,2); // Apply to this face the facenumber listed in the 2nd (3rd) position in Menu_CAT_Action_Faces
- // DO_Texture(SELECTED_link,SELECTED_item,SELECTED_face);
- // DO_Texture();
- //DEBUG//llSay(0,"You chose: " + message);
- }
- // if the selected item is in the list of CAT4...
- // else if ((string)llListFindList(Menu_CAT4_List,[message]) != -1)
- else if(Menu_CAT_IDX == 4)
- {
- //llSetLinkTexture(linknumber,message,face); // REPLACE THIS with 'apply texture to correct face on correct linknumber'
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,3); // Apply to this prim the linknumber listed in the 3rd (4th) position in Menu_CAT_Object_PrimLinks
- SELECTED_item = message;
- SELECTED_face = (integer)llList2String(Menu_CAT_Action_Faces,3); // Apply to this face the facenumber listed in the 3rd (4th) position in Menu_CAT_Action_Faces
- // DO_Texture(SELECTED_link,SELECTED_item,SELECTED_face);
- // DO_Texture();
- //DEBUG//llSay(0,"You chose: " + message);
- }
- // if the selected item is in the list of CAT5...
- // else if ((string)llListFindList(Menu_CAT5_List,[message]) != -1)
- else if(Menu_CAT_IDX == 5)
- {
- //llSetLinkTexture(linknumber,message,face); // REPLACE THIS with 'apply texture to correct face on correct linknumber'
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,4); // Apply to this prim the linknumber listed in the 4th (5th) position in Menu_CAT_Object_PrimLinks
- SELECTED_item = message;
- SELECTED_face = (integer)llList2String(Menu_CAT_Action_Faces,4); // Apply to this face the facenumber listed in the 4th (5th) position in Menu_CAT_Action_Faces
- // DO_Texture(SELECTED_link,SELECTED_item,SELECTED_face);
- // DO_Texture();
- //DEBUG//llSay(0,"You chose: " + message);
- }
- // if the selected item is in the list of CAT6...
- // else if ((string)llListFindList(Menu_CAT6_List,[message]) != -1)
- else if(Menu_CAT_IDX == 6)
- {
- //llSetLinkTexture(linknumber,message,face); // REPLACE THIS with 'apply texture to correct face on correct linknumber'
- // SELECTED_link; // TEMP variable to reference 'any'/'whatever' currently-selected link number
- // SELECTED_item; // TEMP variable to reference 'any'/'whatever' currently-selected item
- // SELECTED_face; // TEMP variable to reference 'any'/'whatever' currently-selected prim face
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,5); // Apply to this prim the linknumber listed in the 5th (6th) position in Menu_CAT_Object_PrimLinks
- SELECTED_item = message;
- SELECTED_face = (integer)llList2String(Menu_CAT_Action_Faces,5); // Apply to this face the facenumber listed in the 5th (6th) position in Menu_CAT_Action_Faces
- // DO_Texture(SELECTED_link,SELECTED_item,SELECTED_face);
- // DO_Texture();
- //DEBUG//llSay(0,"You chose: " + message);
- }
- //llOwnerSay("\n");
- //llOwnerSay("xDELx +++ INSERT HERE: if action=texture, then DO_Texture - if action=rezz, then DO_Rezz, etc");
- if(llList2String(Menu_CAT_Action_Types,(Menu_CAT_IDX -1)) == "TEXTURE")
- { DO_Texture(); }
- if(llList2String(Menu_CAT_Action_Types,(Menu_CAT_IDX -1)) == "REZZ")
- { DO_Rezz(); }
- llOwnerSay("xthis is after DO_Texture & Do_Rezz");
- Menu_Capt = Menu_SUB_Capt + "\n\nNow setting: " + llList2String(Menu_CAT_Button_Labels,(Menu_CAT_IDX -1)) + ": " + message;
- Menu_Butt = Menu_00b + Menu_CAT_SUB_Set;
- }
- //--------------
- // if the message is in the list Menu_CAT_Button_Labels
- else if ((string)llListFindList(Menu_CAT_Button_Labels,[message]))
- {
- //DEBUG//llOwnerSay("> CAT:");
- //DEBUG//llOwnerSay("(1) Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- Menu_CAT_SUB_Set = [];
- Menu_SUB_Capt = " Menu - Select an Item: ";
- Item_IDX = 0; // set the Index pointer back to 0
- // get it's position in the list Menu_CAT_Button_Labels... and assign the Menu_CAT_SUB_List = to the appropriate CAT list
- if (message == llList2String(Menu_CAT_Button_Labels,0)) // if the message is at index 0(aka CAT1)
- {
- //DEBUG//llOwnerSay("You chose: " + message + " - CAT = " + llList2String(Menu_CAT_Object_Names_Prefix,0));
- Menu_SUB_ID = 1;
- Menu_CAT_IDX = 1;
- Menu_SUB_Capt = ("\n" + llList2String(Menu_CAT_Button_Labels,0) + Menu_SUB_Capt);
- Menu_CAT_SUB_TEMP = Menu_CAT1_List;
- Menu_CAT_SUB_Total = Menu_CAT1_Total;
- }
- else if (message == llList2String(Menu_CAT_Button_Labels,1)) // if the message is at index 1(aka CAT2)
- {
- //DEBUG//llOwnerSay("You chose: " + message + " - CAT = " + llList2String(Menu_CAT_Object_Names_Prefix,1));
- Menu_SUB_ID = 2;
- Menu_CAT_IDX = 2;
- Menu_SUB_Capt = ("\n" + llList2String(Menu_CAT_Button_Labels,1) + Menu_SUB_Capt);
- Menu_CAT_SUB_TEMP = Menu_CAT2_List;
- Menu_CAT_SUB_Total = Menu_CAT2_Total;
- }
- else if (message == llList2String(Menu_CAT_Button_Labels,2)) // if the message is at index 2(aka CAT3)
- {
- //DEBUG//llOwnerSay("You chose: " + message + " - CAT = " + llList2String(Menu_CAT_Object_Names_Prefix,2));
- Menu_SUB_ID = 3;
- Menu_CAT_IDX = 3;
- Menu_SUB_Capt = ("\n" + llList2String(Menu_CAT_Button_Labels,2) + Menu_SUB_Capt);
- Menu_CAT_SUB_TEMP = Menu_CAT3_List;
- Menu_CAT_SUB_Total = Menu_CAT3_Total;
- }
- else if (message == llList2String(Menu_CAT_Button_Labels,3)) // if the message is at index 3(aka CAT4)
- {
- //DEBUG//llOwnerSay("You chose: " + message + " - CAT = " + llList2String(Menu_CAT_Object_Names_Prefix,3));
- Menu_SUB_ID = 4;
- Menu_CAT_IDX = 4;
- Menu_SUB_Capt = ("\n" + llList2String(Menu_CAT_Button_Labels,3) + Menu_SUB_Capt);
- Menu_CAT_SUB_TEMP = Menu_CAT4_List;
- Menu_CAT_SUB_Total = Menu_CAT4_Total;
- }
- else if (message == llList2String(Menu_CAT_Button_Labels,4)) // if the message is at index 4(aka CAT5)
- {
- //DEBUG//llOwnerSay("You chose: " + message + " - CAT = " + llList2String(Menu_CAT_Object_Names_Prefix,4));
- Menu_SUB_ID = 5;
- Menu_CAT_IDX = 5;
- Menu_SUB_Capt = ("\n" + llList2String(Menu_CAT_Button_Labels,4) + Menu_SUB_Capt);
- Menu_CAT_SUB_TEMP = Menu_CAT5_List;
- Menu_CAT_SUB_Total = Menu_CAT5_Total;
- }
- else if (message == llList2String(Menu_CAT_Button_Labels,5)) // if the message is at index 5(aka CAT6)
- {
- //DEBUG//llOwnerSay("You chose: " + message + " - CAT = " + llList2String(Menu_CAT_Object_Names_Prefix,5));
- Menu_SUB_ID = 6;
- Menu_CAT_IDX = 6;
- Menu_SUB_Capt = ("\n" + llList2String(Menu_CAT_Button_Labels,5) + Menu_SUB_Capt);
- Menu_CAT_SUB_TEMP = Menu_CAT6_List;
- Menu_CAT_SUB_Total = Menu_CAT6_Total;
- }
- // if(llListFindList(Menu_CAT_Action_Types,["SHOW-HIDE"]) == (Menu_CAT_IDX-1))
- if(llList2String(Menu_CAT_Action_Types,(Menu_CAT_IDX -1)) == "SHOW-HIDE")
- {
- llOwnerSay("xSHOW-HIDE is set...");
- //llOwnerSay((string)llList2String(Menu_CAT_Action_Types,(Menu_CAT_IDX -1)));
- SELECTED_link = (integer)llList2String(Menu_CAT_Object_PrimLinks,(Menu_CAT_IDX-1)); // Apply to this prim the linknumber listed in the Menu_CAT_IDX position in Menu_CAT_Object_PrimLinks
- DO_ShowHide();
- llOwnerSay("xreturning from SHOW-HIDE");
- llOwnerSay("xmessage = " + message);
- }
- llOwnerSay("xcontinuing to GET_Menu_CAT_SUB_Set");
- GET_Menu_CAT_SUB_Set(); // returns Menu_CAT_SUB_Set (set of 6, and if >9 with Menu_SUB_NAV)
- llOwnerSay("xreturning from GET_Menu_CAT_SUB_Set");
- //DEBUG//llOwnerSay("..back at CAT:");
- //DEBUG//llOwnerSay("(2) Item_Counter=" + (string)Item_Counter + " - Item_IDX=" + (string)Item_IDX);
- //DEBUG//llOwnerSay("Menu_CAT_SUB_Set:");
- //DEBUG//llOwnerSay((string)Menu_CAT_SUB_Set);
- Menu_Capt = Menu_SUB_Capt;
- Menu_Butt = Menu_00b + Menu_CAT_SUB_Set;
- }
- //------------------------------------------
- // otherwise, do the Main Menu llDialog here
- llOwnerSay("xMain Menu 2");
- llOwnerSay((string)Obj_Toucher_Key);
- //DEBUG//llSay(0,"menu buttons (Menu_Butt): " + (string)Menu_Butt);
- //DEBUG//llSay(0,"\n");
- // llDialog(id, Menu_Capt, Menu_Butt, Menu_Chan); // WORKED
- llDialog(Obj_Toucher_Key, Menu_Capt, Menu_Butt, Menu_Chan);
- llOwnerSay("xMain Menu 2-after the llDialog");
- // llListen(Menu_Chan,"",NULL_KEY,"");
- llOwnerSay("xMain Menu 2-temp-added another listen which didn't help");
- // llDialog(Obj_Toucher_Key, Menu_Capt, Menu_Butt, Menu_Chan);
- // llDialog(llDetectedKey(0), Menu_Capt, Menu_Butt, Menu_Chan);
- //-- -- -- -- -- -- -- -- -- -- --
- }//else everything else
- //-- -- -- -- -- -- -- -- -- -- -- <---%%%%%%% from here up
- }//if not 'Close Menu'...
- //-- -- -- -- -- -- -- -- -- -- --
- //------------------------------------------
- else
- {
- llOwnerSay("xTEMP-DISabled the close listen handler");
- // remove_listens();
- //DEBUG//llSay(0,"'Close Menu' button - close listens & handlers");
- }
- }//if Authorized to use the menu... [if not, then:]
- else
- {
- Menu_SUB_ID = 0;
- Menu_Capt = Menu_ADM_AUTH_ERR_Capt1 + llList2String(Menu_00_MenuName_List,0) + Menu_ADM_AUTH_ERR_Capt2;
- Menu_Butt = Menu_00a + Menu_00_NAV + Menu_CAT_Button_Labels_456123;
- }
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //------------------------------------------
- //------------------------------------------
- } // listen end
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- }
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- // state Menu_State state ~ END
- //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement