Difference between revisions of "LlSetTimerEvent"

From Second Life Wiki
Jump to: navigation, search
m (misspelling)
m (Clarify parameter setting, seemed contradictory to the description to some folks.)
Line 1: Line 1:
 
{{LSL_Function
 
{{LSL_Function
 
|func_id=107|func_sleep=0.0|func_energy=10.0
 
|func_id=107|func_sleep=0.0|func_energy=10.0
|func=llSetTimerEvent|p1_type=float|p1_name=sec|p1_desc=Any positive non-zero value.
+
|func=llSetTimerEvent|p1_type=float|p1_name=sec|p1_desc=Any positive non-zero value to enable, zero (0.0) to disable.
 
|func_desc=Cause the [[timer]] event to be triggered a maximum of once every '''sec''' seconds. Passing in 0.0 stops further timer events.
 
|func_desc=Cause the [[timer]] event to be triggered a maximum of once every '''sec''' seconds. Passing in 0.0 stops further timer events.
 
|func_footnote
 
|func_footnote

Revision as of 13:50, 5 November 2008

Summary

Function: llSetTimerEvent( float sec );

Cause the timer event to be triggered a maximum of once every sec seconds. Passing in 0.0 stops further timer events.

• float sec Any positive non-zero value to enable, zero (0.0) to disable.

Caveats

  • The time between timer events can be longer, this is caused by:
    • Time dilation - See llGetRegionTimeDilation for more information.
    • Default event delay - Only so many events can be triggered per second.
    • Event Execution - If the execution of an event takes too long.
  • The timer persists across state changes, but gets removed when the script is reset
All Issues ~ Search JIRA for related Bugs

Examples

<lsl>float gap = 2.0; integer counter = 0;

default {

   state_entry()
   {
       // Activate the timer listener every 2 seconds
       llSetTimerEvent(gap);
       llResetTime();
   }
   touch_start(integer total_number)
   {
       llSay(0, "The timer stops.");
       llSetTimerEvent(0);
       counter = 0;
   }
   timer()
   {
       ++counter; 
       llSay(0, (string)counter+" ticks have passed in " + (string)llGetTime() + " script seconds.\nEstimated elapsed time: " + (string)(counter * gap));
   }
}</lsl>

See Also

Events

•  timer

Functions

•  llSensorRepeat
•  llGetRegionTimeDilation
•  llGetTime

Deep Notes

Search JIRA for related Issues

Signature

function void llSetTimerEvent( float sec );