Difference between revisions of "LlGround"
Jump to navigation
Jump to search
m (I think this wording is a bit better.) |
m (added sort-key) |
||
Line 1: | Line 1: | ||
{{LSL_Function | {{LSL_Function | ||
|func_id=42|func_sleep=0.0|func_energy=10.0 | |func_id=42|func_sleep=0.0|func_energy=10.0 | ||
|sort=Ground | |||
|func=llGround|sort=Ground | |func=llGround|sort=Ground | ||
|return_type=float|p1_type=vector|p1_name=offset | |return_type=float|p1_type=vector|p1_name=offset |
Revision as of 07:51, 16 August 2008
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 plus an offset
• vector | offset |
The requested position needs to be in the same sim, only the X & Y of the offset are important.
Caveats
Examples
<lsl>// by Konigmann Lippmann & Strife Onizuka FindGroundOrWater() {
float fHeight = llGround( ZERO_VECTOR ); float fWaterLevel = llWater( ZERO_VECTOR ); if( fHeight < fWaterLevel ) fHeight = fWaterLevel; vector vTarget = llGetPos();
//llSetPos can only move 10m at a time. integer iCounter = 1 + llAbs((integer)(vTarget.z - fHeight) / 10); vTarget.z = fHeight; do llSetPos( vTarget ); while( --iCounter );
}
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 |