Difference between revisions of "LlGetTime"

From Second Life Wiki
Jump to: navigation, search
m
(Fixed the page to indicate that llGetTime is NOT affected by dilation. (Citation: http://www.foxular.net/asdf/Photo-0431.jpg ))
Line 5: Line 5:
 
|return_text=that is script time in seconds with subsecond precision since the last sim reset, script reset or call to either [[llResetTime]] or [[llGetAndResetTime]].
 
|return_text=that is script time in seconds with subsecond precision since the last sim reset, script reset or call to either [[llResetTime]] or [[llGetAndResetTime]].
 
|func_footnote
 
|func_footnote
|spec=Script time differs from normal time, it is affected by time dilation. See [[llGetRegionTimeDilation]] for details.
+
|spec=Script time matches normal time, it is unaffected by time dilation. For example, if you call llResetTime on two objects in separate simulators at the same time, and later call llGetTime on both at the same time, their values will be equal regardless of differences in dilation.
 
|caveats=
 
|caveats=
 
*Script time resets when...
 
*Script time resets when...
Line 11: Line 11:
 
**Simulator reset (admin or crash){{Footnote|[[#SVC-3293|SVC-3293]] may interfere with this|SVC-3293 may interfere with this}}
 
**Simulator reset (admin or crash){{Footnote|[[#SVC-3293|SVC-3293]] may interfere with this|SVC-3293 may interfere with this}}
 
**Call to either [[llResetTime]] or [[llGetAndResetTime]]
 
**Call to either [[llResetTime]] or [[llGetAndResetTime]]
*Script time doesn't measure real world time, it is affected by time dilation.
+
*Script time measures real world time, it is unaffected by time dilation.
 
|examples=<lsl>
 
|examples=<lsl>
 
default {
 
default {
Line 31: Line 31:
 
{{LSL DefineRow||[[llGetRegionTimeDilation]]}}
 
{{LSL DefineRow||[[llGetRegionTimeDilation]]}}
 
|also
 
|also
|notes=Script time does not measure time dilation.
+
|notes=Script time can be reset by various events.
To measure elapsed calendar time, call [[llGetTimestamp]] instead, since time dilation and resets often make dilated time intervals differ from calendar time intervals.
+
To measure elapsed calendar time, call [[llGetTimestamp]] instead, since simulator or script resets will make script time intervals differ from calendar time intervals.
 
|issues
 
|issues
 
|cat1=Time
 
|cat1=Time

Revision as of 15:36, 23 November 2009

Summary

Function: float llGetTime( );

Returns a float that is script time in seconds with subsecond precision since the last sim reset, script reset or call to either llResetTime or llGetAndResetTime.

Specification

Script time matches normal time, it is unaffected by time dilation. For example, if you call llResetTime on two objects in separate simulators at the same time, and later call llGetTime on both at the same time, their values will be equal regardless of differences in dilation.

Caveats

All Issues ~ Search JIRA for related Bugs

Examples

<lsl> default {

   state_entry()
   {
       llResetTime();
   }
   touch_start(integer num_touch)
   {
       float time = llGetTime(); //Instead getting, and then resetting the time, we could use llGetAndReset() to accomplish the same thing.
       llResetTime();
       llSay(0,(string)time + " seconds have elapsed since the last touch." );
   }

}

</lsl>

Notes

Script time can be reset by various events. To measure elapsed calendar time, call llGetTimestamp instead, since simulator or script resets will make script time intervals differ from calendar time intervals.

See Also

Deep Notes

All Issues

~ Search JIRA for related Issues
   llGetTime doesn't reset on admin requested sim restart

Footnotes

  1. ^ SVC-3293 may interfere with this

Signature

function float llGetTime();