Difference between revisions of "LlResetLandBanList"

From Second Life Wiki
Jump to: navigation, search
 
m (<lsl> tag to <source>)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LSLFunctionAll|func_id=321|func_sleep=0.1|func_energy=10.0|func=llResetLandBanList|func_footnote=Removes all residents from the land ban list.|return_text|spec|caveats|examples|helpers|related|also|notes}}[[Category:LSL_Functions]][[Category:LSL_Stub]]
+
{{LSL_Function
 +
|func=llResetLandBanList
 +
|func_id=321|func_sleep=0.1|func_energy=10.0
 +
|sort=ResetLandBanList
 +
|func_desc=Removes all residents from the land ban list.
 +
|func_footnote
 +
|return_type
 +
|return_text
 +
|constants
 +
|spec
 +
|caveats
 +
|examples=
 +
<source lang="lsl2">
 +
// 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 = "";
 +
    }
 +
}
 +
</source>
 +
|helpers
 +
|also_header
 +
|also_functions=
 +
{{LSL DefineRow||[[llAddToLandBanList]]|}}
 +
{{LSL DefineRow||[[llAddToLandPassList]]|}}
 +
{{LSL DefineRow||[[llRemoveFromLandBanList]]|}}
 +
{{LSL DefineRow||[[llRemoveFromLandPassList]]|}}
 +
{{LSL DefineRow||[[llResetLandPassList]]|}}
 +
|also_tests
 +
|also_events
 +
|also_articles
 +
|also_footer
 +
|notes
 +
|mode
 +
|location
 +
|cat1=Security
 +
|cat2=Parcel
 +
|cat3
 +
|cat4
 +
|cat5
 +
|cat6
 +
}}

Latest revision as of 14:28, 22 January 2015

Summary

Function: llResetLandBanList( );

Removes all residents from the land ban list.

Caveats

  • This function causes the script to sleep for 0.1 seconds.
All Issues ~ Search JIRA for related Bugs

Examples

// 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 = "";
    }
}

Deep Notes

Search JIRA for related Issues

Signature

function void llResetLandBanList();