Difference between revisions of "RegionSitTeleport"

From Second Life Wiki
Jump to navigation Jump to search
m (some minor readability improvements)
m (<lsl> tag to <source>)
(2 intermediate revisions by 2 users not shown)
Line 6: Line 6:


It's a very simple and clean script to make quick sit/unsit teleport to given position based on reading current prim's description.
It's a very simple and clean script to make quick sit/unsit teleport to given position based on reading current prim's description.
<lsl>
<source lang="lsl2">
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
//            Written by Vincent Nacon
//            Written by Vincent Nacon
//          Released into the Public Domain
//          Released into the Public Domain
//  I'm sick and tired of WarpPos and <0,0,0> bug.
//  I'm sick and tired of WarpPos and <0,0,0> bug.
//                    2/26/2012
//                    Feb 26th 2012
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////


Line 30: Line 30:


             llSetRegionPos(targetPosition);
             llSetRegionPos(targetPosition);
             llUnSit(id);
             llUnSit(sittingAvatar);
             llSetRegionPos(positionToReturnTo);
             llSetRegionPos(positionToReturnTo);
         }
         }
Line 37: Line 37:
     state_entry()
     state_entry()
     {
     {
         llSitTarget(<0.0, 0.0, 0.1>, <0.0, 0.0, 0.0, 1.0>);
         llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
     }
     }
}
}
</lsl>
</source>
{{LSLC|Library|RegionSitTeleport}}
{{LSLC|Library|RegionSitTeleport}}

Revision as of 19:12, 24 January 2015

RegionSitTeleport

It's a very simple and clean script to make quick sit/unsit teleport to given position based on reading current prim's description.

////////////////////////////////////////////////////////
//             Written by Vincent Nacon
//          Released into the Public Domain
//   I'm sick and tired of WarpPos and <0,0,0> bug.
//                    Feb 26th 2012
////////////////////////////////////////////////////////

//What to do?
//Just place position (in vector form) where you want to drop avatar at in the prim's description.

default
{
    changed(integer change)
    {
        vector targetPosition = (vector)llGetObjectDesc();

        key sittingAvatar = llAvatarOnSitTarget();

        if(sittingAvatar)
        {
            vector positionToReturnTo = llGetPos();

            llSetRegionPos(targetPosition);
            llUnSit(sittingAvatar);
            llSetRegionPos(positionToReturnTo);
        }
    }

    state_entry()
    {
        llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
    }
}