Difference between revisions of "LlSetTimerEvent"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
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|p1_desc=Any positive non-zero value. | |func=llSetTimerEvent|p1_type=float|p1_name=sec|p1_desc=Any positive non-zero value. | ||
|func_desc=Cause the [[timer]] event to be triggered 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 | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats= | |caveats= | ||
*The time | *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 to long. | |||
*The timer persists across state changes, but gets removed when the script is reset | *The timer persists across state changes, but gets removed when the script is reset | ||
|constants | |constants | ||
|examples=<lsl>float gap = 2.0; | |examples=<lsl>float gap = 2.0; | ||
integer counter = 0; | integer counter = 0; | ||
default | default |
Revision as of 13:38, 26 September 2008
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llSetTimerEvent( float sec );107 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
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. |
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 to long.
- The timer persists across state changes, but gets removed when the script is reset
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>