llGroundRepel

From Second Life Wiki
Revision as of 20:17, 17 February 2024 by Tapple Gao (talk | contribs) (This function was poorly documented. I added some notes I found while testing it)
Jump to navigation Jump to search

Summary

Function: llGroundRepel( float height, integer water, float tau );
0.0 Forced Delay
10.0 Energy

Critically damps to height if within height * 0.5 of ground or water level (which ever is higher). Does not pull the object down if it is stuck higher than that, unlike the similar llSetHoverHeight.

To stop llGroundRepel, this seems to work: llGroundRepel(0.0, FALSE, 0.0)

• float height Distance above the ground
• integer water boolean, if TRUE then hover above water too.
• float tau seconds to critically damp in

Do not use with vehicles.

Caveats

  • Only works in physics-enabled objects.
  • This is not a prim property; stopping or resetting the script stops llGroundRepel
  • Crossing a sim border will cancel llGroundRepel
  • A previous version of this page suggested that llStopHover will stop llGroundRepel, but it does not

Examples

default
{
    state_entry()
    {
        llSetStatus(STATUS_PHYSICS, TRUE);
        llGroundRepel(0.5, TRUE, 0.2); // In a 1/2 meter cube this is roughly the minimum height for any noticeable effect.
        // to
        llGroundRepel(4096.0, TRUE, 0.2); // There is no restrictive maximum.
        // However as the prim reaches 4096 meters (bear in mind the prim height will be (float height + ground height))
        // it will be too high to be allowed to exist.
    }
}// This is actually a remarkably fast way to go straight up!!

See Also

Functions

•  llSetHoverHeight Similar to llGroundRepel, but is not terrain-dependent

Deep Notes

Signature

function void llGroundRepel( float height, integer water, float tau );