Difference between revisions of "LlGround"
Jump to navigation
Jump to search
m |
Omei Qunhua (talk | contribs) (Bring example into line with llWater) |
||
Line 11: | Line 11: | ||
|constants | |constants | ||
|examples= | |examples= | ||
<lsl>// | <lsl>// Makes the object land on ground or on water | ||
FindGroundOrWater() | FindGroundOrWater() | ||
{ | { | ||
vector vTarget = llGetPos(); | |||
vTarget.z = llGround( ZERO_VECTOR ); | |||
float fWaterLevel = llWater( ZERO_VECTOR ); | float fWaterLevel = llWater( ZERO_VECTOR ); | ||
if( | if( vTarget.z < fWaterLevel ) | ||
vTarget.z = fWaterLevel; | |||
llSetRegionPos(vTarget); | |||
} | } | ||
Revision as of 11:54, 4 January 2013
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: float llGround( vector offset );42 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a float that is the ground height directly below the prim position + offset
• vector | offset | – | offset relative to the prim's position and expressed in local coordinates |
The requested position needs to be in the same region. Only the x and y coordinates in offset are important, the z component is ignored.
Caveats
Examples
<lsl>// Makes the object land on ground or on water
FindGroundOrWater() {
vector vTarget = llGetPos(); vTarget.z = llGround( ZERO_VECTOR ); float fWaterLevel = llWater( ZERO_VECTOR ); if( vTarget.z < fWaterLevel ) vTarget.z = fWaterLevel; llSetRegionPos(vTarget);
}
default {
touch_start(integer total_number) { FindGroundOrWater(); }}</lsl>
See Also
Functions
• | llGroundContour | – | Gets the ground contour | |
• | llGroundNormal | – | Gets the ground normal | |
• | llGroundSlope | – | Gets the ground slope | |
• | llEdgeOfWorld | – | Returns existence of neighboring sims |