@break

From TinyMUX
Jump to: navigation, search


COMMAND: Command.gif @break <boolean>

@break stops the execution of further commands in the current action list if its argument is a true value. It doesn't affect new queue entries made by previous commands in the action list. Very useful to people who don't like @switch.

Examples

   > @va obj=$testme *:@pemit %#=Before;@break %0;@pemit %#=After
   > testme 0
   Before
   After
   > testme 1
   Before
   > @force me={@switch 1=1,think 3rd;think 1st;@break 1;think 2nd}
   1st
   3rd

In the last example, the @switch is run, which queues 'think 3rd', 'think 1st' is run, displaying '1st', command execution is broken (so we never 'think 2nd', and then the queued 'think 3rd' is run, displaying '3rd'.

If you follow that, you have a very good understanding of the MUSH queue. :)

Related Topics: BOOLEAN VALUES

Server differences

PennMUSH provides an extended syntax: @break <boolean> = <command list>. If the <boolean> evaluates to true, execution of further commands in the current action list is replaced by execution of the new <command list>.

PennMUSH also provides @assert, which does just the opposite of @break: it stops execution if its argument is a false value.