llGetAndResetTime
function
Function syntax
float llGetAndResetTime();- Returns
float- Energy
- 10
Returns the elapsed script time in seconds as a float, then resets the script timer to zero.
Returns a float that is script time in seconds and then resets the script time to zero.
float result = llGetAndResetTime();Specification
Section titled “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
Section titled “Caveats”- 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.
- Script time resets when…
- Script reset (user or
llResetScriptorllResetOtherScript) - Call to either
llResetTimeorllGetAndResetTime - Due to (32 bit) floating point number limitations, the accuracy of this function is 1/32sec up to ~3 days, 1/16sec up to ~6 days, etc… doubling each time, e.g. it’s only 1 second at ~194 days. Use
llResetTimeorllGetAndResetTimewhenever practical to maintain the accuracy you require.
Examples
Section titled “Examples”Example 1
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 script start."); }}Known issues
Section titled “Known issues”See also
Section titled “See also”Functions
Section titled “Functions”Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.