LlAddToLandPassList/zh-Hant

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

概要

函式: llAddToLandPassList( key avatar, float hours );
240 函式ID
0.1 延遲
10.0 能量

avatar加入允許進入土地的名單持續hours小時,若hours值為0則時間為無限。

• key avatar avatar UUID
• float hours

注意事項

  • 這函式會導致script延遲 0.1 秒。
  • hours最大值為144。若輸入的值大於144,則會自動被默認成144。
All Issues ~ Search JIRA for related Bugs

範例

<lsl>// This is not a complete solution, requires full avatar names to work - even for unbanning someone! // This is meant only as an example of the land ban and pass management functions. // free to copy, use, modify, distribute - just don't ask me to debug your modified code. ;-) // // 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 = "";
   }
}</lsl>