Difference between revisions of "LlGround"
Jump to navigation
Jump to search
(buggy (flawed logic) & didn't compile) |
|||
Line 10: | Line 10: | ||
|constants | |constants | ||
|examples=<pre> | |examples=<pre> | ||
// by Konigmann Lippmann | // by Konigmann Lippmann & Strife Onizuka | ||
FindGroundOrWater() | FindGroundOrWater() | ||
{ | { | ||
float | float fHeight = llGround( ZERO_VECTOR ); | ||
float fWaterLevel = llWater( | float fWaterLevel = llWater( ZERO_VECTOR ); | ||
if( fHeight < fWaterLevel ) | |||
fHeight = fWaterLevel; | |||
vector vTarget = llGetPos(); | |||
vector | |||
//llSetPos can only move 10m at a time. | |||
integer iCounter = 1 + llAbs((integer)(vTarget.z - fHeight) / 10); | |||
vTarget.z = fHeight; | |||
do | |||
llSetPos( | llSetPos( vTarget ); | ||
while( --iCounter ); | |||
} | } | ||
Line 32: | Line 30: | ||
{ | { | ||
touch_start(integer total_number) | touch_start(integer total_number) | ||
{ | |||
FindGroundOrWater(); | FindGroundOrWater(); | ||
} | |||
} | } | ||
</pre> | </pre> |
Revision as of 23:03, 2 September 2007
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 below the object position + offset
• vector | offset |
The requested position needs to be in the same sim, only the X & Y of the offset are important.
Caveats
Examples
// 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(); } }
See Also
Functions
• | llGroundContour | – | Gets the ground contour | |
• | llGroundNormal | – | Gets the ground normal | |
• | llGroundSlope | – | Gets the ground slope |