Difference between revisions of "LlWater"
Jump to navigation
Jump to search
Omei Qunhua (talk | contribs) (Bring example up-to-date with llSetRegionPos().) |
Lady Sumoku (talk | contribs) m (Replaced old <LSL> block with <source lang="lsl2">) |
||
Line 13: | Line 13: | ||
|constants | |constants | ||
|examples= | |examples= | ||
< | <source lang="lsl2">// Makes the object land on ground or on water | ||
FindGroundOrWater() | FindGroundOrWater() | ||
Line 32: | Line 32: | ||
} | } | ||
} | } | ||
</ | </source> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llGround]]|Gets the ground height}} | |also_functions={{LSL DefineRow||[[llGround]]|Gets the ground height}} |
Latest revision as of 11:54, 22 January 2015
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 prim's 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. Water height is constant across each entire sim and is typically 20 meters but not always.
Caveats
Examples
// 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();
}
}