LlEjectFromLand

From Second Life Wiki
Jump to: navigation, search

Summary

Function: llEjectFromLand( key avatar );

Ejects avatar from the parcel.

• key avatar avatar UUID that is in the same region

Generally, the object owner must also be the land owner but there is an exception for land deeded to a group for group members with the "Eject and freeze Residents on parcels" ability. See #Ownership Limitations for details.

Specification

Ownership Limitations

  • If the land under the object is owned by an individual, the script must be owned by the same individual.
  • If the land under the object is deeded to a group the object will need to satisfy one of the following:
    • The object is deeded to the same group.
    • The object owner must have "Eject and freeze Residents on parcels" ability in the group and be connected to the sim[1].

Caveats

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llEjectFromLand boots to nearest parcel edge - and fails when nearest edge is sim edge without bordering sim

Examples

// Here a script done by shenanigan oh
 
//It's a easy script that I came up with. When I worked for a carnage I put this script in a computer that was
//attached to me. The carnage it self was a pvp sims so it was alot easier and fast to eject some this way
//then running after them and clicking on them. The way this work is by trying eject and half type plays name.
//Example: /1 eject shenan
 
//Warning if you type someone name in short be careful of other plays with same name!
string msg;
string name;
default
{
    on_rez(integer n)
    {
        llResetScript();
    }
 
    state_entry()
    {
        llListen(1, "", llGetOwner(), "");
        llListen(0, "", llGetOwner(), "");
    }
 
    listen(integer n, string m, key k, string msg)
    {
        if (llGetSubString(msg, 0, 5) == "eject ")
        {
            name = llToLower(llStringTrim(llDeleteSubString(msg, 0, 5), STRING_TRIM));
            llSensor("", "", AGENT, 96, PI);
        }
    }
 
    sensor(integer n)
    {
        integer i = 0;
        for (;i<n;++i)
        {
            if (llOverMyLand(llDetectedKey(i)))
            {
                if (~llSubStringIndex(llToLower(llDetectedName(i)), name))
                {
                    llOwnerSay("ejecting " + llDetectedName(i));
                    llEjectFromLand(llDetectedKey(i));
                }
            }
        }
    }
    no_sensor()
    {
        llOwnerSay("Avatar not found.");
    }
}

Deep Notes

History

All Issues

~ Search JIRA for related Issues
   llEjectFromLand boots to nearest parcel edge - and fails when nearest edge is sim edge without bordering sim

Footnotes

  1. ^ The script owner need not be in the region, they can be a child agent of the region.
  2. ^ Early release notes were not very accurate or thorough, they sometimes included information about features added in previous releases or failed to include information about features added in that release.

Signature

function void llEjectFromLand( key avatar );