JMC Help and Commands

Comprehensive English Documentation for Jaba Mud Client

Introduction

JMC (Jaba Mud Client) is a powerful MUD client featuring triggers, aliases, variables, and an integrated scripting engine. This document provides a complete reference for JMC commands.

Command Index

#action #alias #antisubstitute #autoreconnect #bell #break #char #clean #colon #comment #connect #cr #daa #drop #echo #feed #flash #gag #grab #group #help #hide #hidewindow #highlight #hotkey #if #ignore #info #kickall #killall #lick #llist #log #logadd #logpass #loop #map #mark #math #message #multiaction #multihighlight #multisubstitute #next #nodrop #nope #output #path #pathdir #pinch #play #prefix #presub #ps #quit #race #read #reloadscripts #restorewindow #resume #return #run #savepath #scriptlet #showme #sos #speedwalk #spit #status #stick #substitute #systemexec #tabadd #tabdel #terminate #textin #tick #tmlist #togglesubs #tolower #toupper #tray #tskill #tslist #unaction #unalias #unantisubstitute #unhotkey #unpath #unsubstitute #unuse #unvar #use #variable #verbatim #wait #wamp #wdock #whisper #winamp #wlog #wname #woutput #wpos #write #wshow #wt #zap

#action

Syntax: #action {input string} {actions} {priority}

Triggers a sequence of commands when a specific string is received from the MUD. Parts of the input string can be captured using variables %0-%9.

Strings starting with ^ match only at the beginning of a line. Priority ranges from 0 (highest) to 9 (lowest).

Example: #action {^%0 arrived from the %1} {kill %0} {0}

#alias

Syntax: #alias {name} {commands}

Defines a custom command that expands into one or more other commands. Use %1-%9 for arguments, and %0 for the full argument string.

Example: #alias {k} {kill %1}

#antisubstitute

Syntax: #antisubstitute {string}

Prevents #substitute and #gag from affecting any lines that contain the specified string.

#autoreconnect

Syntax: #autoreconnect [on|off]

Toggles automatic reconnection when the connection to the MUD is lost.

#bell

Syntax: #bell

Plays the default Windows system sound or a PC speaker beep.

#break

Syntax: #break {timerID|all}

Interrupts active loops. See #loop .

#char

Syntax: #char {symbol}

Sets the character used to prefix JMC commands (default is #).

#clean

Syntax: #clean

Sends a WM_USER+600 message to the window. Its exact behavior is undocumented/internal.

#colon

Syntax: #colon {leave|replace}

Determines whether unescaped semicolons (;) are treated as command separators during parsing.

#comment

Syntax: #comment or ##

A no-op command used for adding comments to script files. #nope is also a synonym.

#connect

Syntax: #connect <address>

Connects to the specified MUD server.

#cr

Syntax: #cr

Sends a newline/carriage return to the server, simulating the Enter key.

#daa

Syntax: #daa

Sends text to the MUD without displaying it on the screen or writing it to the log. Useful for passwords.

#drop

Syntax: #drop

Used within an #action to prevent the triggering line from being displayed or logged.

#echo

Syntax: #echo [on|off]

Toggles the display of commands generated by triggers.

#feed

Synonym for #spit .

#flash

Syntax: #flash

Flashes the JMC window taskbar icon or brings it to the foreground.

#gag

Syntax: #gag {string}

Suppresses the display of any line containing the specified text.

#grab

Syntax: #grab [num] {filename} [format]

Reads line num from a file and sends it to the MUD using the specified format (where %0 is the line content).

#group

Syntax: #group {list|delete|disable|enable|info|global|local} [name]

Manages groups of triggers, aliases, and hotkeys, allowing them to be enabled or disabled together.

#help

Syntax: #help

Shows built-in help for a command. Files are usually stored in help/command.jht .

#hide

Synonym for #daa .

#hidewindow

Syntax: #hidewindow

Minimizes the JMC window to the taskbar.

#highlight

Syntax: #highlight {color} {string}

Highlights lines containing the specified text with the given color or effect (e.g., bold, reverse, red, light green).

#hotkey

Syntax: #hotkey {key} {commands} {group}

Assigns commands to a keyboard shortcut. Supports modifiers like Ctrl+ , Alt+ , and Shift+ .

#if

Syntax: #if {condition} {then-commands} [{else-commands}]

Executes commands based on the truth value of a numeric condition.

#ignore

Syntax: #ignore [on|off]

Toggles whether triggers are active.

#info

Syntax: #info

Displays the number of currently defined triggers, aliases, variables, etc.

#kickall

Synonym for #killall .

#killall

Syntax: #killall

Deletes all aliases, actions, variables, highlights, and substitutions.

#lick

Synonym for #spit .

#llist

Lists active loops. See #loop .

#log

Syntax: #log {filename} {append|overwrite}

Starts or stops logging the session to a file.

#logadd

Syntax: #logadd

Manually adds a line of text to the current log file.

#logpass

Syntax: #logpass

Prevents the current line from being saved to the log file (usually used in triggers).

#loop

Syntax: #loop {from,to[:delay]} {commands}

Executes commands in a loop. The counter value is stored in %0. # {commands} is a shorthand.

#map

Syntax: #map

Manually adds a direction to the current movement path buffer.

#mark

Syntax: #mark [start|stop]

Starts or stops recording movements into the path buffer.

#math

Syntax: #math {variable} {expression}

Performs integer arithmetic and stores the result in a variable.

#message

Syntax: #message {type}

Toggles system messages for specific events (e.g., alias creation, variable setting).

#multiaction

Syntax: #multiaction [on|off]

Toggles whether multiple triggers can match and execute for a single incoming line.

#multihighlight

Syntax: #multihighlight [on|off]

Toggles whether multiple highlights can be applied to a single line.

#multisubstitute

Syntax: #multisubstitute [on|off]

Toggles whether multiple substitutions can be applied to a single line.

#next

Syntax: #next

Allows one more trigger iteration for the current line if #multiaction is off.

#nodrop

Syntax: #nodrop

Cancels a previous #drop command for the current line.

#nope

Synonym for #comment .

#output

Syntax: #output [color]

Displays colored text in the main output window.

#path

Syntax: #path

Displays the contents of the recorded movement path.

#pathdir

Syntax: #pathdir {reverse-direction}

Defines movement directions and their opposites for the mapping system.

#pinch

Resumes a paused loop. See #loop .

#play

Syntax: #play

Plays a WAV audio file.

#prefix

#prefix {string}

Adds a prefix to every string sent to the MUD.

#presub

Syntax: #presub [on|off]

Toggles whether triggers process the line after substitutions have been applied.

#ps

Lists active processes started via #systemexec .

#quit

Syntax: #quit

Exits JMC.

#race

Syntax: #race [format|move|reverse]

Specialized commands for speedwalking and movement formatting.

#read

Syntax: #read {filename}

Reads and executes commands from a file.

#reloadscripts

Syntax: #reloadscripts

Reloads active script files (e.g., JScript/VBScript).

#restorewindow

Syntax: #restorewindow

Restores the JMC window from its minimized state.

#resume

Resumes a paused loop. See #loop .

#return

Syntax: #return

Sends the reverse of the last recorded movement direction and removes it from the path buffer.

#run

Syntax: #run

Runs an external application or opens a document via ShellExecute.

#savepath

Syntax: #savepath <alias_name> [reverse]

Saves the current path buffer into an alias.

#scriptlet

Syntax: #scriptlet

Executes a single line of script code using the active scripting engine.

#showme

Syntax: #showme {text}

Displays text locally in the output window.

#sos

Syntax: #sos [list|clear|save|...]

Manages “templates” for saving specific groups of aliases, triggers, or variables to files.

#speedwalk

Syntax: #speedwalk [on|off]

Toggles speedwalking mode (e.g., 3n2e expands to n;n;n;e;e ).

#spit

Syntax: #spit [options]

Sends the contents of a file to the MUD line by line, inserting each line into the format string at %0.

#status

Syntax: #status [1-5] {text} [color]

Sets the text of one of the status bar segments.

#stick

Synonym for #spit .

#substitute

Syntax: #substitute {old_text} {new_text}

Replaces occurrences of old_text with new_text in incoming MUD lines.

#systemexec

Syntax: #systemexec

Executes a system command and redirects its output to the JMC main window.

#tabadd

Syntax: #tabadd

Adds a word to the tab-completion dictionary.

#tabdel

Syntax: #tabdel

Removes a word from the tab-completion dictionary.

#terminate

Syntax: #terminate |all|last

Kills processes started with #systemexec .

#textin

Syntax: #textin {filename}

Sends the raw contents of a file to the MUD without processing.

#tick

Syntax: #tick, #tickset, #ticksize

Manages the internal MUD tick timer.

#tmlist

Lists active loop timers. See #loop .

#togglesubs

Syntax: #togglesubs

Toggles whether substitutions are currently active.

#tolower

Syntax: #tolower

Converts text to lowercase and stores it in varname .

#toupper

Syntax: #toupper

Converts text to uppercase and stores it in varname .

#tray

Syntax: #tray <hide|show>

Minimizes or restores JMC to/from the system tray.

#tskill

Synonym for #terminate .

#tslist

Synonym for #ps .

#unaction

Syntax: #unaction {string}

Deletes a trigger. Supports wildcards (e.g., *you* ).

#unalias

Syntax: #unalias {name}

Deletes an alias. Supports wildcards.

#unantisubstitute

Syntax: #unantisub {string}

Deletes an antisubstitution.

#unhotkey

Syntax: #unhotkey

Deletes a hotkey.

#unpath

Syntax: #unpath

Removes the last entry from the path buffer.

#unsubstitute

Syntax: #unsubs {string}

Deletes a substitution.

#unuse

Syntax: #unuse [filename]

Removes a script file from the active scripts list.

#unvar

Syntax: #unvar {name}

Deletes a variable.

#use

Syntax: #use

Loads a script file (JScript or VBScript).

#variable

Syntax: #variable {name} {value}

Sets a variable. Built-in variables include $YEAR , $HOUR , $INPUT , etc.

#verbatim

Syntax: #verbatim [on|off]

Toggles “verbatim” mode where input is sent directly to the MUD without JMC processing.

#wait

Syntax: #wait

Introduces a delay before sending commands. Synonym: #wt .

#wamp

Synonym for #winamp .

#wdock

Syntax: #wdock [disable]

Controls whether an output window can be docked.

#whisper

Synonym for #daa .

#winamp

Syntax: #winamp {command}

Controls WinAMP (e.g., play, stop, next, volume+, volume-).

#wlog

Syntax: #wlog [append|overwrite|html]

Starts logging for a specific output window.

#wname

Syntax: #wname [name]

Sets the title of an output window.

#woutput

Syntax: #woutput [color]

Sends colored text to a specific output window.

#wpos

Syntax: #wpos {window} {x} {y}

Positions a non-docked output window.

#write

Syntax: #write {filename}

Saves all current aliases, triggers, and variables to a file.

#wshow

Syntax: #wshow [toggle|show|hide]

Shows or hides an output window.

#wt

Synonym for #wait .

#zap

Syntax: #zap

Immediately closes the current connection.