85 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
| //Commands are:
 | |
| ///5 ban:full_avatar_name
 | |
| ///5 tempban:full_avatar_name
 | |
| ///5 unban:full_avatar_name
 | |
| ///5 pass:full_avatar_name
 | |
| ///5 unpass:full_avatar_name
 | |
| ///5 clearban
 | |
| ///5 clearpass
 | |
| 
 | |
| string command;
 | |
| 
 | |
| default
 | |
| {
 | |
|     state_entry()
 | |
|     {
 | |
|         llListen(5, "", llGetOwner(), "");
 | |
|     }
 | |
|     
 | |
|     on_rez(integer param)
 | |
|     {
 | |
|         llResetScript();
 | |
|     }
 | |
| 
 | |
|     listen(integer chan, string name, key id, string message)
 | |
|     {
 | |
|         if (command != "")
 | |
|         {
 | |
|             llOwnerSay("Sorry, still processing last command, try again in a second.");
 | |
|         }
 | |
|         
 | |
|         list args = llParseString2List(message,[":"],[]);
 | |
|         command = llToLower(llList2String(args,0));
 | |
|         
 | |
|         if (command == "clearbans")
 | |
|         {
 | |
|             llResetLandBanList();
 | |
|         }
 | |
|         if (command == "clearpass")
 | |
|         {
 | |
|             llResetLandPassList();
 | |
|         }
 | |
|         else
 | |
|         {
 | |
|             llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
 | |
|         }
 | |
|     }
 | |
|     
 | |
|     no_sensor()
 | |
|     {
 | |
|         command = "";
 | |
|     }
 | |
|     
 | |
|     sensor(integer num)
 | |
|     {
 | |
|         integer i;
 | |
|         for (i=0; i< num; ++i)
 | |
|         {
 | |
|             if (command == "ban")
 | |
|             {
 | |
|                 // Ban indefinetely 
 | |
|                 llAddToLandBanList(llDetectedKey(i),0.0);
 | |
|             }
 | |
|             if (command == "tempban")
 | |
|             {
 | |
|                 // Ban for 1 hour.
 | |
|                 llAddToLandBanList(llDetectedKey(i),1.0);
 | |
|             }
 | |
|             if (command == "unban")
 | |
|             {
 | |
|                 llRemoveFromLandBanList(llDetectedKey(i));
 | |
|             }
 | |
|             if (command == "pass")
 | |
|             {
 | |
|                 // Add to land pass list for 1 hour
 | |
|                 llAddToLandPassList(llDetectedKey(i),1.0);
 | |
|             }
 | |
|             if (command == "unpass")
 | |
|             {
 | |
|                 llRemoveFromLandPassList(llDetectedKey(i));
 | |
|             }
 | |
|         }
 | |
|         command = "";
 | |
|     }
 | |
| }
 |