arg: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "source>" to "syntaxhighlight>") |
|||
Line 11: | Line 11: | ||
<source lang="mtmacro" line> | <source lang="mtmacro" line> | ||
arg(index) | arg(index) | ||
</ | </syntaxhighlight> | ||
'''Parameters''' | '''Parameters''' | ||
* {{code|index}} - The index of the argument to return. Indexes begin at {{code|0}}. | * {{code|index}} - The index of the argument to return. Indexes begin at {{code|0}}. | ||
Line 19: | Line 19: | ||
<source lang="mtmacro" line> | <source lang="mtmacro" line> | ||
[attackRoll(12, -1)] | [attackRoll(12, -1)] | ||
</ | </syntaxhighlight> | ||
Then inside the macro that implements the user defined function you can do the following. | Then inside the macro that implements the user defined function you can do the following. | ||
Line 26: | Line 26: | ||
[h: bonus = arg(1)] | [h: bonus = arg(1)] | ||
[r: 1d20 + floor(attr/2) + bonus] | [r: 1d20 + floor(attr/2) + bonus] | ||
</ | </syntaxhighlight> | ||
|also= | |also= |
Revision as of 17:05, 14 March 2023
arg() Function
• Introduced in version 1.3b51
Is used to extract arguments that are passed to a macro when called as a user defined function.
User functions are defined with the defineFunction() function. Once you have defined a function you can call it as you would call any of the existing functions, for example attackRoll(Strength, -1)
. The arg()
function is used within the macro that is called to extract each of these arguments. The index of the first argument is 0.
argCount()
function is often used in conjunction with arg()
to determine the number of arguments that have been passed to the user defined function.Usage
<source lang="mtmacro" line> arg(index) </syntaxhighlight> Parameters
index
- The index of the argument to return. Indexes begin at0
.
Example
Given a user defined function called
attackRoll()
which accepts two arguments, which are attribute value and bonus you could call it in the following way.
<source lang="mtmacro" line> [attackRoll(12, -1)] </syntaxhighlight>
Then inside the macro that implements the user defined function you can do the following. <source lang="mtmacro" line> [h: attr = arg(0)] [h: bonus = arg(1)] [r: 1d20 + floor(attr/2) + bonus]
</syntaxhighlight>