abort: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
(Added version change.)
No edit summary
Line 3: Line 3:
|version=1.3b42
|version=1.3b42
|description=
|description=
Aborts the execution of the current macro and discards all output from the macro if the argument is 0. This function is generally used to abort the processing of a macro if user clicks on the cancel button on a dialog created with the [[Macros:Functions:input | input()]] function. Any properties set before the abort will contain the values you set them to. That is abort(0) will not undo any changes you made
 
The {{code|abort()}} function is used to conditionally abort the execution of a macro. If the argument to {{code|abort()}} is 0 then the execution of the macro stops and all macro output is discarded. If the argument to {{code|abort()}} is non zero then the macro continues.
 
Note that only the output of the macro is discarded when the macro is aborted any changes made to macros will not be undone.
 
Common uses for this function are
* Ending a macro if the cancel button is clicked on an input dialog created using the [[Macros:Functions:input | input()]] function.
* Discarding all output generated by the macro, in effect making a "silent" macro.
* Silently bailing out of a macro if a certain condition is not met.
 
If you prefer to display an error message when exiting the macro see the [[assert | assert()]] function.


|usage=
|usage=
Line 16: Line 26:
</source>
</source>


This example discards any output in the macro.
The following example discards any output in the macro.
<source lang="mtmacro" line>
<source lang="mtmacro" line>
Hah! you will never see this! [abort(0)]
Hah! you will never see this! [abort(0)]
</source>
The following example can be used to protect macros that only the GM should run
<source lang="mtmacro" line>
[h: abort(isGM())]
</source>
The following example can be used to silently end a macro that can only be run from a [[Trusted Macro]]
<source lang="mtmacro" line>
[h: abort(isTrusted())]
</source>
</source>


|changes=
|changes=
{{change|1.3b49|No message is displayed if called from a macroLink.}}
{{change|1.3b49|No message is displayed if called from a macroLink.}}
|also=
[[ assert|assert()]]


}}
}}
[[Category:Miscellaneous Function]]
[[Category:Miscellaneous Function]]

Revision as of 08:41, 25 March 2009

abort() Function

Introduced in version 1.3b42
The abort() function is used to conditionally abort the execution of a macro. If the argument to abort() is 0 then the execution of the macro stops and all macro output is discarded. If the argument to abort() is non zero then the macro continues.

Note that only the output of the macro is discarded when the macro is aborted any changes made to macros will not be undone.

Common uses for this function are

  • Ending a macro if the cancel button is clicked on an input dialog created using the input() function.
  • Discarding all output generated by the macro, in effect making a "silent" macro.
  • Silently bailing out of a macro if a certain condition is not met.
If you prefer to display an error message when exiting the macro see the assert() function.

Usage

abort(num)

Examples

The following example will create a dialog box for the user to enter a value for the variable named blah, if the user clicks on cancel then res will be 0 so the abort() function will cause the macro to terminate, otherwise res will not be 0 so the macro will continue.
[h: res = input("blah")] [h: abort(res)]

The following example discards any output in the macro.

Hah! you will never see this! [abort(0)]

The following example can be used to protect macros that only the GM should run

[h: abort(isGM())]

The following example can be used to silently end a macro that can only be run from a Trusted Macro

[h: abort(isTrusted())]

See Also

Version Changes

  • 1.3b49 - No message is displayed if called from a macroLink.