execFunction

From RPTools Wiki
Revision as of 17:30, 15 November 2019 by Phergus (talk | contribs)
Jump to navigation Jump to search

execFunction() Function

 Note: This function can only be used in a Trusted Macro

Introduced in version 1.5.7
Executes a built-in macro function or user-defined function (UDF) on one or more clients. No output from the executed function will be presented on the targets. execFunction() allows you to defer the running of the function until after the currently running macro has ended. If you defer a series of execFunc() calls, they will be queued in order and executed after the currently running macro.

Caution:
This function is considered experimental and its implementation and parameters may change.

Usage

execFunction(functionName, arguments)
execFunction(functionName, arguments, defer)
execFunction(functionName, arguments, defer, targets)
execFunction(functionName, arguments, defer, targets, delim)

Parameters

  • functionName - The function to "execute".
  • arguments - A JSON array of arguments for the function.
  • defer - Executes the function after the current macro has completed if non zero, defaults to zero.
  • targets - are the user names (so not token names) but the names of the users that are logged in. The options "gm", "gm-self", "self", "not-self", "not-gm", "not-gm-self", "none", and "all" are also valid parameters to give. E.g.: "tim, tom, tarra". Defaults to self (so if no parameter is given the function is executed locally only).
  • delim - The delimiter used to separate the values in the String List that is given, defaults to ",". If "json" is specified, a JSON array is expected instead of a String List.

Example

To run a song on every client, the GM can use
[h: song = "https://ia800300.us.archive.org/29/items/Muzyka-CC/Aleksand_Sjakin_-_Flight_in_space.mp3"]
[h: execFunction("playStream", json.append("[]", song, 1, 0.8), 0, "all")]

See Also