Difference between revisions of "LlGetAndResetTime"

From Second Life Wiki
Jump to navigation Jump to search
m
m (adding adding applicable caveats from LLGetTime)
Line 13: Line 13:
**Script reset (user or [[llResetScript]] or [[llResetOtherScript]])
**Script reset (user or [[llResetScript]] or [[llResetOtherScript]])
**Call to either [[llResetTime]] or [[llGetAndResetTime]]
**Call to either [[llResetTime]] or [[llGetAndResetTime]]
* Script time measures real world time, it is unaffected by time dilation.
* Due to  (32bit) floating point number limitations, The accuracy of this function is at least 1/32sec up to ~3 days, 1/16sec up to ~6 days, etc... doubling each time up to only 1sec at ~192 days. Use [[llResetTime]] or [[llGetAndResetTime]] whenever practical to maintain the accuracy you require.
|examples=<source lang="lsl2">
|examples=<source lang="lsl2">
default
default

Revision as of 16:18, 9 May 2019

Summary

Function: float llGetAndResetTime( );
0.0 Forced Delay
10.0 Energy

Returns a float that is script time in seconds and then resets the script time to zero.

Specification

Script time is the amount of time the script has been running since it first started, was most recently reset, or one of the reset functions was called. It is unaffected by time dilation.

Caveats

  • Script time resets when...
  • Script time measures real world time, it is unaffected by time dilation.
  • Due to (32bit) floating point number limitations, The accuracy of this function is at least 1/32sec up to ~3 days, 1/16sec up to ~6 days, etc... doubling each time up to only 1sec at ~192 days. Use llResetTime or llGetAndResetTime whenever practical to maintain the accuracy you require.

Examples

default
{
    touch_start(integer num_touch)
    {
        // This is equivalent to calling llGetTime(), then llResetTime()
        float time = llGetAndResetTime();

        llSay(0, (string)time + " seconds have elapsed since the last touch or boot-up.");
    }
}

Notes

Script time is the amount of real-world time that the script has been in a running state. It is unaffected by time dilation, but it does not count time while the script is suspended, the user is offline (when in an attachment), the object is in inventory rather than rezzed, etc.

See Also

Functions

•  llResetTime
•  llGetTime
•  llGetRegionTimeDilation

Deep Notes

Signature

function float llGetAndResetTime();