Other great resources: Official JS API docs, Scripting Forum

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Invoke a function at some point in the future...

 

Syntax

// syntax #1: optional game object as third parameter (WZ 3.1 b1+)
queue(functionName, delay[, gameObject]);
 
// syntax #2: optional string as third parameter (WZ 3.2+)
queue(functionName, delay[, str]);

Parameters

SyntaxParameterTypeMandatoryDescriptionGame Version
AllfunctionNameString(tick)

A string containing the name of a global function to invoke.

3.1 Beta 1
AlldelayNumber(error)

You can optionally set a minimum amount of time (in milliseconds) before your function gets called. Delays should ideally be 500 or more, and never less than 100.

If you don't specify this parameter, or specify 0 (zero), Warzone will choose a delay for you, usually the next game tick (100ms).

3.1 Beta 1
#1gameObjectGame object(error)

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 queued call will be cancelled automatically.

3.1 Beta 1
#2strString(error)

An optional string that will be passed in to your function when it gets called.

3.2

Return value

ValueTypeDescriptionGame version
undefinedUndefinedThe function was successfully queued.3.1 Beta 1
<error>ErrorDid you forget to specify functionName as a string?3.1 Beta 1

Notes

Unlike setTimer(), queue() does not repeat. It will make a single call to the named function at a later frame in the game.

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

Queued function calls persist the save/load cycle. You can therefore look at Saved game files to see what queued functions were defined at the time the game was saved.

When using syntax #1, if the game object is destroyed any queued function calls associated with it will be cancelled.

Example

Syntax #1: Call 'foo' on the next game tick, passing in a game object
function foo(gameObj) {
  // gameObj == someGameObject
}

// this syntax works on all versions
queue("foo", 0, someGameObject);
// global function foo will be called next game tick (100ms)
// if someGameObject gets destroyed, the queued call will be cancelled
Call a function after 1 second, passing in a string as its parameter
function bar(str) {
	// str = "hello"
}

// note: this syntax is only available on Warzone 3.2 and above 
queue("bar", 1000, "hello");
// global function bar will be called after 1 second
Availability 3.1 B1+

Requires:

  • Warzone 3.1 Beta 1 and above
  • Syntax #2 added in Warzone 3.2
Contents

Jump to:

See also

Related functions:

  • setTimer() – similar to queue, but will repeatedly call the function at a defined interval
  • removeTimer() – cancels all timers associated with a function

 

  • No labels