De DigiWiki.
// Air & Sea Altimeter v1.0
default
{
state_entry()
{
llSetTimerEvent(1.0);
}
timer()
{
vector pos = llGetPos();
vector size = llGetAgentSize(llGetOwner());
size.z = size.z/2.0;
float aboveground = ((float)pos.z - llGround(<0.0, 0.0, 0.0>) - size.z);
if (aboveground < 0.0) {aboveground = llSqrt(aboveground*aboveground);}
if (aboveground < 0.09) {aboveground = 0.0;}
vector Speed = llGetVel();
float RealSpeed = llVecMag(Speed);
float abovewater = llWater(<0.0, 0.0, 0.0>) - pos.z;
if (pos.z >= llWater(<0.0, 0.0, 0.0>)) {abovewater = llSqrt(abovewater*abovewater);}
if (pos.z < llWater(<0.0, 0.0, 0.0>)) {abovewater = abovewater - (abovewater*2.0);}
llSetText("Sea Lvl ALT: " + (string)abovewater + "\n" +
"Grnd Lvl ALT: " + (string)(aboveground) + "\n" +
"Speed: " + (string)RealSpeed, <1.0, 1.0, 1.0>, 1.0);
}
}