assert
assert() Function
false
(0
). Note that the error message will be displayed in chat even if the command itself is in a [H: ]
block.Usage
<source lang="mtmacro" line> assert(condition, message) </syntaxhighlight> <source lang="mtmacro" line> assert(condition, message, prefix) </syntaxhighlight> Parameters
condition
- The test condition that must evaluate totrue
(1
) for the macro to continue.message
- The custom error message that is presented if the macro is halted due to thefalse
(0
) condition.prefix
- Determines if the error message should have the message prefix"Macro defined error: "
. Defaults totrue
(1
), set tofalse
(0
) if you do not wish your custom error message to have the message prefix.
Examples
<source lang="mtmacro" line>
[h: assert(isGM(),"This macro is for GM use only.",0)]
</syntaxhighlight>
Chat output (if player is not GM): This macro is for GM use only.
Halts execution of the macro if var
is a number. This is useful for making sure the variables you work with are the variable type you expect.
<source lang="mtmacro" line>
[h: assert(! isNumber(var), "The variable is a number.",1)]
</syntaxhighlight>
Chat output (if var
is a number): Macro defined error: The variable is a number.
Bear in mind, isNumber(var)
returns true
(1
) when var is a number, but assert continues when condition is true
(1
). Using ! isNumber(var)
inverts the boolean value.
Usage Notes
When aborting a macro called from another macro (for example, a library token), all macros are aborted, not just the one executing.
Since 1.5.0 you can change that behaviour by using macro.catchAssert.See Also
Version Changes
- 1.3b51 - Added
prefix
parameter option. - 1.5.0 - catch an assert with macro.catchAssert