Files
Patryk Gensch 198d9cf477 Finished automatically generated docs
Time to correct it by itself
2026-05-20 22:49:46 +02:00

2.4 KiB

TIMER

A cyclic time counter that emits the ONTICK signal every ELAPSE milliseconds. Lets scripts run logic at regular intervals — nothing involving the passage of time (animated values, delays, regeneration) can be done in the engine without one.

The variable's value is the number of ticks emitted so far.

Fields

ELAPSE

INTEGER ELAPSE

Tick interval in milliseconds. For values of 0 or less the timer does not tick even when enabled.

ENABLED

BOOL ENABLED

Whether the timer is active after initialisation. Defaults to TRUE.

TICKS

INTEGER TICKS

Tick limit — once that many ticks have been emitted, the timer disables itself (ENABLED = FALSE). A value of 0 removes the limit (the timer ticks indefinitely).

Methods

DISABLE

void DISABLE()

Disables the timer. ONTICK is no longer emitted; the current tick count is preserved.

Examples

TIMER1^DISABLE();

ENABLE

void ENABLE()

Enables the timer and resets the reference time to now. The first tick after the call fires only after a full ELAPSE has passed, regardless of how long the timer was disabled.

Examples

TIMCNV^ENABLE();
TIMER2^ENABLE();

GETTICKS

INTEGER GETTICKS()

Returns the number of ticks emitted so far (counted from the last RESET or initialisation).

Returns: INTEGER — the tick count.

Examples

TIMER1^GETTICKS();

RESET

void RESET()

Zeros the tick count and resets the reference time to now.

Examples

TIMER1^RESET();

SET

void SET(INTEGER ticks)

Sets the TICKS limit. A value of 0 removes the limit.

Parameters

  • ticks — the new tick limit.

SETELAPSE

void SETELAPSE(INTEGER timeMs)

Sets the tick interval in milliseconds and resets the reference time to now.

Parameters

  • timeMs — the new tick interval (in milliseconds).

Examples

TIMERSEQ^SETELAPSE(RANDOM^GET(30000,10000));
TIMERPIECHUR^SETELAPSE(ARRAYPIECHURZYPARAM^GET(0));
TIMER1^SETELAPSE(VARTIMEUFO);

Signals

ONINIT

Fired when the object is initialised.

ONTICK

Fired after each full ELAPSE cycle, provided the timer is enabled. The argument ($1) is the current tick count (currentTickCount).

ONSIGNAL

Fired when a signal arrives (see Events and signals).