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.