This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.
This article needs: Could use examples of the ignoreOutput and newScope parameters.
Contents |
Note: This function can only be used in a Trusted Macro
Defines a user function that can be used anywhere that core functions can be used. A user defined function is a link to another macro. A special macro labeled onCampaignLoad is useful for defining functions upon the loading of your campaign.
defineFunction(function, macro)defineFunction(function, macro, ignoreOutput)defineFunction(function, macro, ignoreOutput, newScope)Parameters
function - The name of the user defined function to be defined.
macro - The name and location of the macro that is called when the user defined function is used.
ignoreOutput - If the defined function should ignore all output and only return the value of macro.return, defaults to false(0).
newScope - If the defined function should create a new variable scope when executed, defaults to true(1). A new variable scope means that the defined function can only read the variables of the macro that called it; if you do not create a new scope the defined function can read, update, and create variables in its parent's variable scope. Updating variables in the parent's scope includes over-writing any parameters that a parent might have stored within arg(), if a user-defined function that does not create a new scope is called within another user-defined function.
[h: defineFunction("character.heal", "heal@Lib:Character")]Defines a function character.heal() which calls heal@Lib:Character when evoked.
oldFunction(), arg(), argCount(), onCampaignLoad
ignoreOutput and newScope parameter options.