Difference between revisions of "LlGetAndResetTime"

From Second Life Wiki
Jump to navigation Jump to search
m (resynch with recent changes to [llGetTime]])
(vague)
Line 6: Line 6:
|sort=GetAndResetTime
|sort=GetAndResetTime
|return_type=float
|return_type=float
|return_text=that is the dilated time in seconds and fractional seconds since the last sim reset, script reset, call of [[llResetTime]], or call of llGetAndResetTime.
|return_text=that is script time in seconds and sets the script time to zero.
|func_footnote=Reports elapsed run time more accurately than [[llGetTimestamp]] by accounting correctly for time dilation.<br/><br/>
|func_footnote
Also restarts the count of dilated time returned by this function and by [[llGetTime]].  
|spec=Script time differs from normal time, it is affected by time dilation. See [[llGetRegionTimeDilation]] for details.
|spec
|caveats=
|caveats=
*Correctly slowed by time dilation, whenever [[llGetRegionTimeDilation]] returns a value other than exactly 1.
*Script time resets when...
*Reset by various events outside user control, such as sim resets.
**Script reset (user or [[llResetScript]] or [[llResetOtherScript]])
**Simulator reset (admin or crash)
**Call to either [[llResetTime]] or [[llGetAndResetTime]]
*Script time doesn't measure real world time, it is affected by time dilation.
|examples=<pre>
|examples=<pre>
default {
default {
Line 31: Line 33:
{{LSL DefineRow||[[llGetRegionTimeDilation]]}}
{{LSL DefineRow||[[llGetRegionTimeDilation]]}}
|also
|also
|notes=To measure elapsed calendar time, call [[llGetTimestamp]] instead, since time dilation and resets often make dilated time intervals differ from calendar time intervals.
|notes=Script time does not measure time dilation.
To measure elapsed calendar time, call [[llGetTimestamp]] instead, since time dilation and resets often make dilated time intervals differ from calendar time intervals.
|cat1=Time
|cat1=Time
|cat2=Script
|cat2=Script

Revision as of 11:59, 24 October 2007

Summary

Function: float llGetAndResetTime( );

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

Specification

Script time differs from normal time, it is affected by time dilation. See llGetRegionTimeDilation for details.

Caveats

All Issues ~ Search JIRA for related Bugs

Examples

default {
    state_entry()
    {
        llResetTime();
    }
    touch_start(integer num_touch)
    {
        float time = llGetAndResetTime(); //This is equivalent to calling llGetTime(), then llResetTime()     
        llSay(0,(string)time + " seconds have elapsed since the last touch." );
    }
}

Notes

Script time does not measure time dilation. To measure elapsed calendar time, call llGetTimestamp instead, since time dilation and resets often make dilated time intervals differ from calendar time intervals.

See Also

Functions

•  llResetTime
•  llGetTime
•  llGetRegionTimeDilation

Deep Notes

Search JIRA for related Issues

Signature

function float llGetAndResetTime();