execFunction: Difference between revisions
Jump to navigation
Jump to search
m (Conversion script moved page execFunction to ExecFunction without leaving a redirect: Converting page title to first-letter uppercase) |
m (Conversion script moved page ExecFunction to execFunction: Converting page titles to lowercase) |
(No difference)
|
Revision as of 23:37, 9 February 2023
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 execFunction() calls, they will be queued in order and executed after the currently running macro.
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
Notes
Deferred functions/links which are queued within a deferred macro do not run directly after the queuing macro, but instead is added to the end of the stack of all the deferred functions and links. This means you cannot 'nest' deferrals or insert deferrals in the middle of the stack of deferred macros. For discussion of this functionality and possible workarounds you can read more on GitHub.