Difference between revisions of "LlSetTimerEvent"

From Second Life Wiki
Jump to navigation Jump to search
m (clarify to "the time delation (lag) reported by llGetRegionTimeDilation" from "time dilation (lag)" with time dilation linked thru to llGetRegionTimeDilation etc.)
Line 2: Line 2:
|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
|func=llSetTimerEvent|p1_type=float|p1_name=sec
|func_desc=Cause the [[timer]] event to be triggered once every '''sec''' seconds. Passing in 0.0 stops further timer events.
|func_footnote
|func_footnote
|func_desc=Cause the [[timer]] event to be triggered once every '''sec''' seconds of dilated time. Passing in 0.0 stops further timer events.
|return_text
|return_text
|spec
|spec
|caveats=
|caveats=
*The time delation (lag) reported by [[llGetRegionTimeDilation]] correctly slows timer events. The [[llGetTime]] and [[llGetTimestamp]] functions report the progress of dilated time and the progress of calendar time, respectively.
*The time dilation increases the length of the interval between event triggers. See [[llGetRegionTimeDilation]] for more information.
|constants
|constants
|examples=<pre>
|examples=<pre>
Line 37: Line 37:
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llSensorRepeat]]|}}
{{LSL DefineRow||[[llGetRegionTimeDilation]]|}}
{{LSL DefineRow||[[llGetRegionTimeDilation]]|}}
{{LSL DefineRow||[[llGetTime]]|}}
{{LSL DefineRow||[[llGetTime]]|}}
{{LSL DefineRow||[[llSensorRepeat]]|}}
|also_events={{LSL DefineRow||[[timer]]|}}
|also_events={{LSL DefineRow||[[timer]]|}}
|also_tests
|also_tests

Revision as of 11:41, 24 October 2007

Summary

Function: llSetTimerEvent( float sec );
0.0 Forced Delay
10.0 Energy

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

• float sec

Caveats

  • The time dilation increases the length of the interval between event triggers. See llGetRegionTimeDilation for more information.

Examples

float gap = 2.0;
float counter = 0.0;

default
{
    state_entry()
    {
        // Activate the timer listener every 2 seconds
        llSetTimerEvent(gap);
    }

    touch_start(integer total_number)
    {
        llSay(0, "The timer stops.");
        llSetTimerEvent(0);
        
    }

    timer()
    {
        counter = counter + gap; 
        llSay(0, (string)counter+" seconds have passed");
    }
}

See Also

Events

•  timer

Functions

•  llSensorRepeat
•  llGetRegionTimeDilation
•  llGetTime

Deep Notes

Signature

function void llSetTimerEvent( float sec );