Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Allows you to trigger a function at some point in the future.

 

Purpose

One set, a timer will keep calling the specified function until you stop the timer using removeTimer().

The function, when called, will be run in the context of the global scope ("this" will be the global scope). So, if you've added properties or methods to the function, they won't be available from within the function when it's run by the timer.

Timers persist the save/load cycle. You can therefore look at Saved game files to see what timers were running at the time when the game was saved.

Syntax

Code Block
themeRDark
languagejavascript
titleThis function has two syntax options...
linenumberstrue
// syntax #1: optional game object as third parameter (WZ 3.1 b1+)
setTimer(functionName, delay[, gameObject]);
 
// syntax #2: optional string as third parameter (WZ 3.2+)
setTimer(functionName, delay[, str]);

Parameters

SyntaxParameterMandatoryTypeDescriptionGame version
AllfunctionName(tick)String

A string containing the name of the function to call.

The function must be defined on the global scope - it cannot be a method of an object.

3.1 Beta 1
Alldelay(tick)Number

The amount of time, in milliseconds, to wait before the function is called.

Avoid setting delays less than 110ms, because gameTime only gets incremented once per 100ms.

The minimum delay is 100 milliseconds. If you set a lower value, 100ms will be used.

3.1 Beta 1

#1

gameObject(error)Game object

An optional game object that will be passed in to your function when it gets called. The object will automatically be refreshed with the latest game data.

If the object gets destroyed, the associated timer will be cancelled automatically.

3.1 Beta 1
#2str(error)StringAn optional string that will be passed in to your function when it gets called.3.2

Return value

ValueTypeDescriptionGame version
undefinedUndefinedThe timer was set.3.1 Beta 1
<error>ErrorDid you forget to specify functionName as a string?
Example
3.1 Beta 1

Notes

One set, a timer will keep calling the specified function at regular intervals until you stop the timer using removeTimer().

The function, when called, will be run in the context of the global scope ("this" will be the global scope).

Timers persist the save/load cycle. You can therefore look at Saved game files to see what timers were running at the time when the game was saved.

Examples

Code Block
themeRDark
languagejavascript
titleSyntax #1: Call global function "foo" every secondevery 100ms passing in a game object
linenumberstrue
function foo(gameObj) {
  // gameObj do== stuffsomeGameObject
}

// after 1000ms (1 second), global["foo"](someGameObject) will be called:
setTimer("foo this syntax works on WZ 3.1 and above
setTimer("foo", 100, someGameObject);
// global function foo will be called every 100ms
// if someGameObject gets destroyed, the timer will be cancelled
Code Block
themeRDark
languagejavascript
titleSyntax #2: Call a function every 1 second, passing in a string
linenumberstrue
function bar(str) {
	// str = "hello"
}

// this syntax requires WZ 3.2 or above
queue("bar", 1000, someGameObject);"hello");
// global function bar will be called after 1 second
Div
classnotice box ping

A common mistake is to assume that the setTimer() is the same as Javascript's setTimeout() function. While it serves a similar purpose, it's definitely not the same as the Javascript implementation.

Div
classbox
Availability
Status
colourGreen
title3.1 b1+

Requires:

  • Warzone 3.1 Beta 1 or above
Div
classbox
Contents

Jump to:

Table of Contents
maxLevel5

Div
classbox

See also

Related functions:

  • removeTimer() – cancels all timers associated with a function
  • queue() – queue a function call to a later frame (internally this actually uses the setTimer() code!)