Difference between revisions of "RegionSitTeleport"
Jump to navigation
Jump to search
(Created page with "{{LSL Header}} *Created by User:Vincent_Nacon ==RegionSitTeleport== It's a very simple and clean script to make quick sit/unsit teleport to given position based on reading…") |
Kireji Haiku (talk | contribs) m (some minor readability improvements) |
||
Line 17: | Line 17: | ||
//Just place position (in vector form) where you want to drop avatar at in the prim's description. | //Just place position (in vector form) where you want to drop avatar at in the prim's description. | ||
default{ | default | ||
{ | |||
changed(integer change) | |||
{ | |||
vector targetPosition = (vector)llGetObjectDesc(); | |||
key sittingAvatar = llAvatarOnSitTarget(); | |||
if(sittingAvatar) | |||
{ | |||
vector positionToReturnTo = llGetPos(); | |||
llSetRegionPos(targetPosition); | |||
llUnSit(id); | |||
llSetRegionPos(positionToReturnTo); | |||
} | |||
} | } | ||
state_entry() | |||
{ | |||
llSitTarget(<0.0, 0.0, 0.1>, <0.0, 0.0, 0.0, 1.0>); | |||
} | } | ||
} | } | ||
</lsl> | </lsl> | ||
{{LSLC|Library|RegionSitTeleport}} | {{LSLC|Library|RegionSitTeleport}} |
Revision as of 12:05, 7 October 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
- Created by User:Vincent_Nacon
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. <lsl> //////////////////////////////////////////////////////// // Written by Vincent Nacon // Released into the Public Domain // I'm sick and tired of WarpPos and <0,0,0> bug. // 2/26/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(id); llSetRegionPos(positionToReturnTo); } }
state_entry() { llSitTarget(<0.0, 0.0, 0.1>, <0.0, 0.0, 0.0, 1.0>); }
} </lsl>