LlEjectFromLand - Second Life Wiki

LlEjectFromLand

From Second Life Wiki

Jump to: navigation, search

Contents

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

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.
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.