Difference between revisions of "LlWater"
Jump to navigation
Jump to search
(added sim and default info) |
|||
Line 2: | Line 2: | ||
|func=llWater | |func=llWater | ||
|func_id=153|func_sleep=0.0|func_energy=10.0 | |func_id=153|func_sleep=0.0|func_energy=10.0 | ||
|func_footnote=The requested position needs to be in the same sim. | |func_footnote=The requested position needs to be in the same sim. <br/> | ||
Water height is constant across each entire sim and is typically 20 meters but not always. | |||
|func_desc | |func_desc | ||
|p1_type=vector|p1_name=offset | |p1_type=vector|p1_name=offset |
Revision as of 13:03, 3 September 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: float llWater( vector offset );153 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a float that is the water height below the object position + offset
• vector | offset |
The requested position needs to be in the same sim.
Water height is constant across each entire sim and is typically 20 meters but not always.
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(); } }