llGround
Revision as of 14:49, 2 September 2007 by Konigmann Lippmann (talk | contribs)
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
FindGroundWater() { //llSay(0, "Finding Ground."); float fGroundHeight = llGround( <0,0,0> ); float fWaterLevel = llWater( <0,0,0> ); integer iRepeats = 0; if( fGroundHeight < fWaterLevel ) fGroundHeight = fWaterLevel; vector vOldPosition = llGetPos(); vector vNewPosition = vOldPosition; vNewPosition.z = fGroundHeight; //llSay(0, "New location should be:" + (string)vNewPosition ); while( (llAbs((integer)(vOldPosition.z - vNewPosition.z)) > 2.0 ) && (fGroundHeight>iRepeats) ) { llSetPos( vNewPosition ); vOldPosition = llGetPos(); //llSay(0, "vOldPosition=[" + (string)vOldPosition +"]" ); iRepeats++; //iRepeats is used as a safety valve to make sure that this routine doesn't repeat forever. } } default { state_entry() { //llSay(0, "default:state_entry"); } touch_start(integer total_number) { FindGroundWater(); } }
See Also
Functions
• | llGroundContour | – | Gets the ground contour | |
• | llGroundNormal | – | Gets the ground normal | |
• | llGroundSlope | – | Gets the ground slope |