Advertisement
Blackforge4791

Touch_Hold_Access Menu 2

Mar 16th, 2021
821
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. integer TouchIt;
  2. //--------------------------------------------------------------------------------------------------------//
  3. string AcsMode = "AcsId";
  4.  
  5. integer AcsCheck(key id)
  6. {
  7.     string AcsMTL = llToLower(AcsMode);
  8.  
  9.     if (AcsMTL == "Public" || id == llGetOwner() )
  10.         return TRUE;
  11.  
  12.     if (AcsMTL == "Group")
  13.         return llSameGroup(id);
  14.  
  15.     return FALSE;
  16. }
  17. //---------------------------------------------------------------------------------------------------------//
  18. integer MenHan;
  19. integer MenChan;
  20. MyMenu(key user,string title,list buttons)
  21. {
  22.     MenChan = (integer)(llFrand(99999.0) * -1);
  23.     MenHan = llListen(MenChan,"","","");
  24.     llDialog(user,title,buttons,MenChan);
  25.     llSetTimerEvent(10.0);
  26. }
  27. //------------------------------------------------------------------------------------------------------------------------//
  28. default
  29. {
  30.     state_entry()
  31.     {
  32.     //??    
  33.     }
  34. //------------------------------------------------------------------------------------------------------------------------//    
  35.     touch_start(integer n)
  36.     {
  37.         TouchIt = FALSE;//HERE, before llResetTime() otherwise it doesn't run        
  38.         llResetTime();
  39.     }    
  40.  //------------------------------------------------------------------------------------------------------------------------//
  41.     timer()
  42.     {
  43.         llSetTimerEvent(0.0);
  44.         llListenRemove(MenHan);
  45.     }
  46.     listen(integer channel,string name,key id,string message)
  47.         {
  48.             if (channel == MenChan)
  49.             {
  50.             if(message == "Owner")
  51.             {
  52.                 string AcsID = "Owner";
  53.                 llSay(0,"Access Mode: Owner");
  54.             }
  55.             else if(message == "Group")
  56.             {
  57.                 string AcsID = "Group";
  58.                 llSay(0,"Access Mode: Group");
  59.             }
  60.             else if(message == "Public")
  61.             {
  62.                 string AcsID = "public";
  63.                 llSay(0,"Access Mode: Public");
  64.             }
  65.         }
  66.     }
  67. //------------------------------------------------------------------------------------------------------------------------//
  68.     touch(integer n)
  69.     {
  70.         if (llGetTime() > 1.0 && TouchIt == FALSE)
  71.         {    
  72.         MyMenu(llDetectedKey(0),"Owner Setup Menu",["Owner","Group","Public"]);
  73.         llSay(0,"Thank you for using X");
  74.         TouchIt = TRUE;                
  75.         }
  76.     }
  77. //------------------------------------------------------------------------------------------------------------------------//
  78.     touch_end(integer n)
  79.     {
  80.         if (llGetTime() <= 1.0)
  81.         {        
  82.         if (AcsCheck( llDetectedKey(0) ))
  83.             llWhisper(0, "Access Granted");
  84.         else
  85.             llWhisper(0, "Access Denied");
  86.         }                  
  87.     }    
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement