Difference between revisions of "LlWater"

From Second Life Wiki
Jump to: navigation, search
(Bring example up-to-date with llSetRegionPos().)
m (Replaced old <LSL> block with <source lang="lsl2">)
 
Line 13: Line 13:
 
|constants
 
|constants
 
|examples=
 
|examples=
<lsl>// Makes the object land on ground or on water
+
<source lang="lsl2">// Makes the object land on ground or on water
  
 
FindGroundOrWater()
 
FindGroundOrWater()
Line 32: Line 32:
 
     }
 
     }
 
}
 
}
</lsl>
+
</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 10:54, 22 January 2015

Summary

Function: float llWater( vector offset );

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.

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();
    }
}

See Also

Functions

•  llGround Gets the ground height
•  llWind Gets the wind velocity
•  llCloud Gets the cloud density

Deep Notes

Search JIRA for related Issues

Signature

function float llWater( vector offset );