MUDBRINGER
Menu

Audience: New scripting users

What This Guide Covers

This is the reference guide to read before the other guides.

It explains:

  • Command format (/command {arguments})
  • Braces, chaining, and argument parsing
  • Wildcards and variables
  • @Procedures()
  • Local vs remote evaluation rules for poll procedures
  • The main scripting wizards and where to open them
  • Script sharing, export, and import workflow

1) Command Format

Most scripting commands use this shape:

/command {name} {arg1} {arg2...} {Group}

Examples:

/alias {loot} {get all from corpse} {combat}
/action {You are hungry.} {eat bread} {survival}
/substitute {You are thirsty.} {Drink soon.} {survival}

Use braces when arguments contain spaces. This keeps each argument together as one token.

2) Braces, Semicolons, and Nesting

MudBringer splits command lines on ; and newlines, but only when not inside braces or parentheses.

That means this stays intact as one command body:

/alias {buffs} {cast armor;cast bless;cast shield} {prep}

Because the semicolons are inside {...}, they are not treated as top-level command separators.

3) Wildcards and Variables

Wildcards and variables are related, but different:

  • %0 through %9 are wildcard capture slots in patterns.
  • $0 through $9 read captured wildcard values in commands.
  • $name reads a normal variable.
  • $shared.name reads a shared(global) variable.
  • $SessionName.name reads another session’s variable.

Example:

/action {%0 attacks you!} {say $0 just attacked me} {combat}

In editor terms:

  • Trigger/pattern side uses %0-%9 wildcard positions.
  • Command side uses $0-$9 to reference the captured values.

4) Procedures: @Procedure(…)

Procedures are inline functions evaluated during command processing.

Examples:

/showme {@len($target)}
/showme {@upper($target)}
/showme {@math(5+3*2)}

Nested procedures are evaluated from the inside out:

/showme {@math(@len($target) * 2)}

Resolution Order: 1: $target is resolved inside @len(), 2: @len() is resolved inside @math() 3: @math() is resolved inside /showme{}.

5) The 6 Main Scripting Wizards

The primary day-to-day scripting wizards are:

  1. Automation (Actions, Aliases, and Threshholds)
  2. Timing (Events and Trains)
  3. Interactibles (Buttons and Macros)
  4. Filters (Gags, Subs, Highlights)
  5. Data (Variables, Lists, Arrays)
  6. Dashboards

Open them from:

  • Top menu: Scripts
  • Top menu: Window with shortcuts (A, T, B, F, V, D)
  • Toolbar buttons: [A] [T] [B] [F] [V] [D]
  • Tablet panel quick access (when visible)

Note: Status Bar wizard exists as a legacy MudMaster/deprecated path in some builds. Found on the Window> menu.

7) Share, Export, Import Script Workflow

In scripting wizards and script-management views, use group-level actions:

  • Share Group: copy a script group to other character script folders.
  • Export Group: save group commands to a .mbs file.
  • Import: load a script file into your current setup (when available in your UI path).

Common entry points:

  • Tools/buttons.
  • Top menu Scripts paths.

Universal import fallback is always:

/read {path-to-file.mbs}

That reads and executes script lines from a file.

8) Quick Reference

Core syntax:

  • /command {arg} command style
  • %0-%9 wildcard captures in patterns
  • $0-$9 wildcard values in commands
  • $name, $shared.name, $Session.name variable reads
  • @proc(args) procedure calls
  • @poll(GROUP, value) local value mode
  • @poll(GROUP, {expr}) remote deferred mode

Version Notes

  • New Scripting Basics baseline reference.
  • Intended as pre-read for subsequent guides.