Difference between revisions of "LlSetTimerEvent"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
(link for event delay info) |
|||
Line 47: | Line 47: | ||
|also_tests | |also_tests | ||
|also_articles | |also_articles | ||
|notes | |notes=*[http://community.secondlife.com/t5/LSL-Scripting/quot-on-mouselook-quot/m-p/768291#M545 Notes on minimum practical llSetTimerEvent values], Second Life forum, 2011-03-21 | ||
|permission | |permission | ||
|negative_index | |negative_index |
Revision as of 20:20, 21 March 2011
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 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
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>
Notes
- Notes on minimum practical llSetTimerEvent values, Second Life forum, 2011-03-21