Advertisement
Guest User

LSL Access Menu Script

a guest
Apr 6th, 2017
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. list menu = ["Red", "Blue", "Green"];
  2. list access_menu = ["OWNER", "GROUP", "ALL", "*BACK"];
  3. string access_type = "OWNER";
  4.  
  5. integer listener_channel = -938424;
  6. integer listener_handler;
  7. default
  8. {
  9.        state_entry()
  10.        {
  11.              
  12.        }
  13.        touch_start(integer total_number)
  14.        {
  15.               key toucher = llDetectedKey(0);
  16.              
  17.               if(toucher == llGetOwner())
  18.               {
  19.                      listener_handler = llListen(listener_channel, "", toucher, "");
  20.                      llDialog(toucher, "Select a Color", menu + ["ACCESS"], listener_channel);
  21.               }else if(access_type == "GROUP" && llSameGroup(toucher))
  22.               {
  23.                      listener_handler = llListen(listener_channel, "", toucher, "");
  24.                      llDialog(toucher, "Select a Color", menu, listener_channel);
  25.                      
  26.               }else if(access_type == "ALL")
  27.               {
  28.                      listener_handler = llListen(listener_channel, "", toucher, "");
  29.                      llDialog(toucher, "Select a Color", menu, listener_channel);
  30.               }
  31.        }
  32.        
  33.        listen(integer channel, string name, key id, string message)
  34.        {
  35.               llListenRemove(listener_handler);
  36.               if(message == "Red")
  37.               {
  38.                      llSetColor(<1,0,0>, ALL_SIDES);
  39.               }else if(message == "Blue")
  40.               {
  41.                      llSetColor(<0,0,1>, ALL_SIDES);
  42.               }else if(message == "Green")
  43.               {
  44.                      llSetColor(<0,1,0>, ALL_SIDES);
  45.               }else if(message == "ACCESS" && id == llGetOwner())
  46.               {
  47.                      listener_handler = llListen(listener_channel, "", id, "");
  48.                      llDialog(id, "Select an Access Type", access_menu, listener_channel);
  49.               }else if(message == "*BACK" && id == llGetOwner())
  50.               {
  51.                      listener_handler = llListen(listener_channel, "", id, "");
  52.                      llDialog(id, "Select a Color", menu + ["ACCESS"], listener_channel);
  53.               }else if(id == llGetOwner())
  54.               {
  55.                      access_type = message;
  56.                      llOwnerSay("Access Type has changed to: " + access_type);
  57.               }
  58.        }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement