Difference between revisions of "LlGetPos"

From Second Life Wiki
Jump to navigation Jump to search
Line 8: Line 8:
|spec
|spec
|caveats=*When called from the root of an attachment, returns the wearer's position.
|caveats=*When called from the root of an attachment, returns the wearer's position.
*When called in an attachment's child prim, always returns that prim's region position. This value is only correct when the attachment root is positioned at [[ZERO_VECTOR]] and [[ZERO_ROTATION]] on the attach point; moving the root will not change the reported position. Avatar animation is invisible to the simulator, so it also does not affect the reported position. Avatar rotation ''does'' affect the result.
*When called in an attachment's child prim, always returns that prim's region position. This value is only correct when the attachment root is positioned at [[ZERO_VECTOR]] and [[ZERO_ROTATION]] on [[ATTACH_PELVIS]]; moving the root or attachment point will not change the reported position. Avatar animation is invisible to the simulator, so it also does not affect the reported position. Avatar rotation ''does'' affect the result.
|constants
|constants
|examples=<lsl>
|examples=<lsl>

Revision as of 23:31, 20 April 2011

Summary

Function: vector llGetPos( );
0.0 Forced Delay
10.0 Energy

Returns the vector position of the task in region coordinates

Caveats

  • When called from the root of an attachment, returns the wearer's position.
  • When called in an attachment's child prim, always returns that prim's region position. This value is only correct when the attachment root is positioned at ZERO_VECTOR and ZERO_ROTATION on ATTACH_PELVIS; moving the root or attachment point will not change the reported position. Avatar animation is invisible to the simulator, so it also does not affect the reported position. Avatar rotation does affect the result.

Examples

<lsl> default {

   touch_start(integer total_number)
   {
       // When touched, check the position of
       // the object, save it to "position",
       // then convert it into a string and
       // say it.
       vector position = llGetPos();
       llSay(0, (string)position);
   }

}</lsl><lsl> default {

   on_rez(integer param)
   {
       // Adding .x .y or .z after the vector name can be used to get the float value of just that axis.
       vector pos = llGetPos();
       float Z = pos.z; // <--- Like this.
       if(Z > 500.0)
       llOwnerSay("Oooh! I'm up high!");
   }
}</lsl>

See Also

Functions

•  llGetLocalPos Gets the prim local position
•  llGetPrimitiveParams Gets prim properties
•  llGetRootPosition Gets the root prims position
•  llSetPos Sets the prim position
•  llSetPrimitiveParams Sets prim properties
•  llSetLinkPrimitiveParams Sets linked prim properties

Deep Notes

Signature

function vector llGetPos();