LlSetTimerEvent - Second Life Wiki

LlSetTimerEvent

From Second Life Wiki

Jump to: navigation, search

Contents

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:
  • The timer persists across state changes, but gets removed when the script is reset. So if you change to a state that has a timer() event, with the timer still running, it will fire in the new state.
All Issues ~ Search JIRA for related Bugs

Examples

// default of counter is 0 upon script load
integer counter;
float   gap = 2.0;
 
default
{
    state_entry()
    {
        llSetTimerEvent(gap);
    }
 
    touch_start(integer total_number)
    {
        llSay(0, "The timer stops.");
        llSetTimerEvent(0.0);
        counter = 0;
    }
 
    timer()
    {
        ++counter; 
        llSay(0,
            (string)counter+" ticks have passed in " + (string)llGetTime() 
            + " script seconds.\nEstimated elapsed time: " + (string)(counter * gap));
    }
}
//  random period in between (+15.0, +30.0]
//  which means the resulting float could be 30.0 but not 15.0
 
    llSetTimerEvent( 30.0 - llFrand(15.0) );
 
//  same results for:
//  llSetTimerEvent( 30.0 + llFrand(-15.0) );

Notes

See Also

Events

•  timer

Functions

•  llSensorRepeat
•  llGetRegionTimeDilation
•  llGetTime

Deep Notes

Search JIRA for related Issues

This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.