Copyright: Copyright 1998 by Gammon Software Solutions.  Sun Apr 26 16:17:50 1998
Citation: Copyright 1998 by Gammon Software Solutions.


 MUSHclient Help Index

Features

Click here to see the features in MUSHclient.

Commands

File menu

Edit menu

View menu

Window menu

Help menu

How to

Change the current world's configuration

New Features

Click here to see recent changes

Copyright

The program "MUSHclient", and this "help" file, are both Copyright 1998 by Gammon Software Solutions. All rights are reserved worldwide. The program may be freely distributed provided it is unchanged, and that the "help" file and any other supplied documentation accompanies it.

Win32 PennMUSH server

If you want to run your own MUSH for one reason or another, I have also converted the
"PennMUSH Server" to Win32. This should be available from the same site from which you obtained this program. This runs under Windows 95 or Windows NT (Intel), however not under Windows 3.1.

You can obtain the "runtime" version (which is the executable program, plus various help files, and other support files) and, as a separate file, the source of the server (in the C language).

ShareWare fee

MUSHclient is being distributed as ShareWare. If you use it regularly please send me your ShareWare Licence fee of $US 10.

Details can be found in the "About MUSHclient" menu item, under the "Help" menu.

Hardware and software requirements

MUSHclient should run on an 80386, 80486, Pentium or better PC, running Windows 95, or Windows NT 3.51 or later.


File menu commands

The File menu offers the following commands:

New	Creates a new world.
Open	Opens an existing world.
Close	Closes an opened world.
Save	Saves an opened world configuration using the same file name.
Save As	Saves an opened world configuration to a specified file name.
Exit	Exits MUSHclient.


Edit menu commands

The Edit menu offers the following commands:

Undo	Reverse previous editing operation.
Cut	Deletes data from the document and moves it to the clipboard.
Copy	Copies data from the document to the clipboard.
Paste	Pastes data from the clipboard into the command window.
Paste to world	Pastes data from the clipboard directly into the current world.


View menu commands

The View menu offers the following commands:

Toolbar	Shows or hides the toolbar.
Status Bar	Shows or hides the status bar.


Window menu commands

The Window menu offers the following commands, which enable you to arrange multiple views of multiple worlds in the application window:

New Window	Creates a new window that views the same world.
Cascade	Arranges windows in an overlapped fashion.
Tile	Arranges windows in non-overlapped tiles.
Arrange Icons	Arranges icons of closed windows.
Window 1, 2, ...	Goes to specified window.


Help menu commands

The Help menu offers the following commands, which provide you assistance with this application:

Index	Offers you an index to topics on which you can get help.
Using Help	Provides general instructions on using help.
About	Displays the version number of this application.


File New command
New world command (File menu)

Use this command to create and open a  new MUSH world in MUSHclient.

The "Edit World Details " dialog box will open, allowing you to enter the name, TCP/IP address, and port number of the desired MUSH.

You can open an existing world with the Open command.

Shortcuts

Toolbar:

Keys:	CTRL+N


File Open command
Open world command (File menu)

Use this command to open an existing world in a new window.  You can open multiple worlds at once.  Use the Window menu to switch among the multiple open documents.  See Window 1, 2, ... command.

You can create new worlds with the New world command.

Shortcuts

Toolbar:

Keys:	CTRL+O


File Open dialog box

The following options allow you to specify which file to open:

File Name

Type or select the filename you want to open.  This box lists files with the extension you select in the List Files of Type box.

List Files of Type

Select the type of file you want to open:

The various file types supported by MUSH client are:

MCL	- World file (saved from the File menu)

MCS	- Strings file (saved from World Configuration)

MCT	- Triggers file (saved from World Configuration)

MCM	- Macros file (saved from World Configuration)

MCC	- Colours file (saved from World Configuration)

MCA	- Aliases file (saved from World Configuration)

TXT	- Text file (used by logging, and “notes”)

Drives

Select the drive in which MUSHclient stores the file that you want to open.

Directories

Select the directory in which MUSHclient stores the file that you want to open.

Network...

Choose this button to connect to a network location, assigning it a new drive letter.


File Close command
Close command (File menu)

Use this command to close all windows beloning to the active world.  MUSHclient suggests that you save changes to your world before you close it.  If you close a world without saving, you lose all changes to its configuration made since the last time you saved it.  Before closing an untitled world, MUSHclient displays the Save As dialog box and suggests that you name and save the world.

You can also close a world by using the Close icon on the world's window, as shown below:


File Save command
Save command (File menu)

Use this command to save the active world to its current name and directory.  When you save a world for the first time, MUSHclient displays the Save As dialog box so you can name your world.  If you want to change the name and directory of an existing world before you save it, choose the Save As command.

Shortcuts

Toolbar:


File Save As command
Save As command (File menu)

Use this command to save and name the active world.  MUSHclient displays the Save As dialog box so you can name your world.

To save a world with its existing name and directory, use the Save command.


File Save As dialog box

The following options allow you to specify the name and location of the file you're about to save:

File Name

Type a new filename to save a world with a different name.  A filename can contain up to eight characters and an extension of up to three characters.  MUSHclient adds the extension you specify in the Save File As Type box.

Drives

Select the drive in which you want to store the document.

Directories

Select the directory in which you want to store the document.

Network...

Choose this button to connect to a network location, assigning it a new drive letter.


File 1, 2, 3, 4 command
1, 2, 3, 4, 5, 6, 7, 8, 9, 0 command (File menu)

Use the numbers and filenames listed at the bottom of the File menu to open the last ten worlds you closed.  Choose the number that corresponds with the world you want to open.


File Exit command
Exit command (File menu)

Use this command to end your MUSHclient session.  You can also use the Close command on the application Control menu.  MUSHclient prompts you to save worlds with unsaved changes.

Shortcuts

Mouse:	Double-click the application's Control menu button.

Keys:	ALT+F4


Undo/Can't Undo command (Edit menu)

Use this command to reverse the last editing action, if possible.   The name of the command changes, depending on what the last action was.  The Undo command changes to Can't Undo on the menu if you cannot reverse your last action.

Shortcuts

Toolbar:

Keys:	CTRL+Z or

ALT-BACKSPACE


Cut command (Edit menu)

Use this command to remove the currently selected data from the world and put it on the clipboard.  This command is unavailable if there is no data currently selected.

Cutting data to the clipboard replaces the contents previously stored there.

Shortcuts

Toolbar:

Keys:	CTRL+X


Copy command (Edit menu)

Use this command to copy selected data onto the clipboard.  This command is unavailable if there is no data currently selected.

Copying data to the clipboard replaces the contents previously stored there.

Shortcuts

Toolbar:

Keys:	CTRL+C


Paste command (Edit menu)

Use this command to insert a copy of the clipboard contents at the insertion point.  This command is unavailable if the clipboard is empty.

Shortcuts

Toolbar:

Keys:	CTRL+V


View Toolbar command
Toolbar command (View menu)

Use this command to display and hide the Toolbar, which includes buttons for some of the most common commands in MUSHclient, such as File Open.  A check mark appears next to the menu item when the Toolbar is displayed.

See Toolbar for help on using the toolbar.


Toolbar

The toolbar is displayed across the top of the application window, below the menu bar.  The toolbar provides quick mouse access to many tools used in MUSHclient,

To hide or display the Toolbar, choose Toolbar from the View menu (ALT, V, T).

Click	To

Open a new world.

Open an existing world.  MUSHclient displays the Open dialog box, in which you can locate and open the desired file.

Save the active world’s configuration with its current name.  If you have not named the world, MUSHclient displays the Save As dialog box.

Remove selected data from the world and stores it on the clipboard.

Copy the selection to the clipboard.

Insert the contents of the clipboard at the insertion point.

Reverse the last editing.  Note:  You cannot undo some actions.


View Status Bar Command
Status Bar command (View menu)

Use this command to display and hide the Status Bar, which describes the action to be executed by the selected menu item or depressed toolbar button, and keyboard latch state. A check mark appears next to the menu item when the Status Bar is displayed.

See Status Bar for help on using the status bar.


Status Bar

The status bar is displayed at the bottom of the MUSHclient window.  To display or hide the status bar, use the Status Bar command in the View menu.

The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus.  This area similarly shows messages that describe the actions of toolbar buttons as you depress them, before releasing them.  If after viewing the description of the toolbar button command you wish not to execute the command, then release the mouse button while the pointer is off the toolbar button.

The right areas of the status bar indicate which of the following keys are latched down, or features are active:

Indicator	Description/meaning

CAP	The Caps Lock key is latched down.

LOG	The session is being logged.

PAUSE	Output from the world (to the current window) is paused.


New command (Window menu)

Use this command to open a new window with the same contents as the active window.  You can open multiple view windows to display different parts or views of a MUSH session at the same time. When you open a new window, it becomes the active window and is displayed on top of all other open windows.


Cascade command (Window menu)

Use this command to arrange multiple opened windows in an overlapped fashion.


Tile command (Window menu)

Use this command to arrange multiple opened windows in a non-overlapped fashion.


Window Arrange Icons Command

Use this command to arrange the icons for minimized windows at the bottom of the main window.  If there is an open world window at the bottom of the main window, then some or all of the icons may not be visible because they will be underneath this world window.


1, 2, ... command (Window menu)

MUSHclient displays a list of currently open world windows at the bottom of the Window menu.  A check mark appears in front of the world name of the active window.  Choose a world from this list to make its window active.


Index command (Help menu)

Use this command to display the opening screen of Help.  From the opening screen, you can jump to step-by-step instructions for using MUSHclient and various types of reference information.

Once you open Help, you can click the Contents button whenever you want to return to the opening screen.


Using Help command (Help menu)

Use this command for instructions about using Help.


About command (Help menu)

Use this command to display the copyright notice and version number of your copy of MUSHclient.


Help Using Help Command
Context Help command

Use the Context Help command to obtain help on some portion of MUSHclient.  When you choose the Toolbar's Context Help button, the mouse pointer will change to an arrow and question mark.  Then click somewhere in the MUSHclient window, such as another Toolbar button.  The Help topic will be shown for the item you clicked.

Shortcut

Keys:	SHIFT+F1


Title Bar

The title bar is located along the top of a window.  It contains the name of the current world.

To move the window, drag the title bar.  Note: You can also move dialog boxes by dragging their title bars.

A title bar may contain the following elements:

Application Control-menu button

Document Control-menu button

Maximize button

Minimize button

Restore button


Scroll bars

Displayed at the right edges of the output window.  The scroll boxes inside the scroll bars indicate your vertical and horizontal location in the world’s output buffer.  You can use the mouse to scroll to other parts of the scrollback window.


Size command (System menu)

Use this command to display a four-headed arrow so you can size the active window with the arrow keys.

After the pointer changes to the four-headed arrow:

1.	Press one of the DIRECTION keys (left, right, up, or down arrow key) to move the pointer to the border you want to move.

2.	Press a DIRECTION key to move the border.

3.	Press ENTER when the window is the size you want.

Note:  This command is unavailable if you maximize the window.

Shortcut

Mouse:	Drag the size bars at the corners or edges of the window.


Move command (Control menu)

Use this command to display a four-headed arrow so you can move the active window or dialog box with the arrow keys.

Note:  This command is unavailable if you maximize the window.

Shortcut

Keys:	CTRL+F7


System Minimize Command
Minimize command (application Control menu)

Use this command to reduce the MUSHclient window to an icon.

Shortcut

Mouse:	Click the minimize icon [image] on the title bar.

Keys:	ALT+F9


Maximize command (System menu)

Use this command to enlarge the active window to fill the available space.

Shortcut

Mouse:	Click the maximize icon [image] on the title bar; or double-click the title bar.

Keys:	CTRL+F10 enlarges a world window.


Next Window command (document Control menu)

Use this command to switch to the next open document window.  MUSHclient determines which window is next according to the order in which you opened the windows.

Shortcut

Keys:	CTRL+F6


Previous Window command (document Control menu)

Use this command to switch to the previous open document window.  MUSHclient determines which window is previous according to the order in which you opened the windows.

Shortcut

Keys:	SHIFT+CTRL+F6


Close command (Control menus)

Use this command to close the active window or dialog box.

Double-clicking a Control-menu box is the same as choosing the Close command.

Note:  If you have multiple windows open for a single world, the Close command on the document Control menu closes only one window at a time.  You can close all windows at once with the Close command on the File menu.

Shortcuts

Keys: 	CTRL+F4 closes a world window

ALT+F4 closes the MUSHclient window or dialog box


Restore command (Control menu)

Use this command to return the active window to its size and position before you chose the Maximize or Minimize command.


Switch to command (application Control menu)

Use this command to display a list of all open applications.  Use this "Task List" to switch to or close an application on the list.

Shortcut

Keys:	CTRL+ESC

Dialog Box Options

When you choose the Switch To command, you will be presented with a dialog box with the following options:

Task List

Select the application you want to switch to or close.

Switch To

Makes the selected application active.

End Task

Closes the selected application.

Cancel

Closes the Task List box.

Cascade

Arranges open applications so they overlap and you can see each title bar.  This option does not affect applications reduced to icons.

Tile

Arranges open applications into windows that do not overlap.  This option does not affect applications reduced to icons.

Arrange Icons

Arranges the icons of all minimized applications across the bottom of the screen.


Choose Font Dialog
Choose Font dialog box

Use this dialog box to choose the font that will be used in the "world" window. The output window will look best (for WHO lists, etc.) if you choose a fixed-space font such as Courier, FixedSys, Lucida Console.


Choose Color Dialog
Choose Color dialog box

Use this dialog box to choose the appropriate color that is to correspond with the appropriate one of the 8 ANSI colours.

The "custom colours" area has been pre-loaded with all 16 of the current MUSH colours:

Normal:	BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN and WHITE
Bold:	BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN and WHITE

Choose a colour by clicking on a desired colour in the "basic colours" area.

You can if you wish click on "define custom colours" and then enter the exact RGB value for your colour in the Red/Green/Blue entry boxes on the right. Note that the program forces any selected colour to be within the nearest range of the system palette, so that the actual colour used will be the one shown over the word "Solid" in the "Color/Solid" box, not the colour on the left.


Edit Clear Command
Clear command (Edit menu)

This clears the selected text.


Next Pane Command
Next Pane

This makes the next window the active world.


Prev Pane Command
Prev Pane

This makes the previous window the active world.


Modifying the World

<< Write application-specific help here that provides an overview of how the user should modify a document using your application.

If you see this help screen, please notify Nick Gammon!

If your application supports multiple document types and you want to have a distinct help topic for each, then use the help context i.d. generated by running the MAKEHELP.BAT file produced by AppWizard.  Alternatively, run MAKEHM as follows:

makehm IDR_,HIDR_,0x20000 resource.h output.hm

If the IDR_ symbol for one of your document types is, for example, IDR_CHARTTYPE, then the help context i.d. generated by MAKEHM will be HIDR_CHARTTYPE.

Note, AppWizard defines the HIDR_DOC1TYPE help context i.d. used by this help topic for the first document type supported by your application.  AppWizard produces an alias in the .HPJ file for your application, mapping HIDR_DOC1TYPE to the HIDR_ produced by MAKEHM for that document type. >>

Yes, yes, blah blah blah!


No Help Available

No help is available for this area of the window.


No Help Available

No help is available for this message box.


General Preferences

This screen allows you to define your:

World name

This can be anything you like, it is there to help you identify the MUSH on screen displays, alert boxes and so on. As an example, enter: "Pegasus MUSH".

TCP/IP address

This is the Internet address of the game's server. This will be the number OR name given on MUSH distribution lists. In the case of Pegasus MUSH you could enter:

pegasus.bcm.tmc.edu

OR

128.249.8.88

Port number

This is the port that the MUSH server is listening for new connections on. In the case of PennMUSH-style MUSHes it is usually 4201, but could be some other number. This number is always advised next to the MUSH address of distribution lists.

Save world automatically on close

If this is checked then the "world" file is automatically saved (if you have changed anything) when you close the world. This is useful if you definitely want to save changes you have made to your world (eg. Notes, Variables) after every session.


About MUSHclient

This dialog box shows you the:

Version

The current version number of MUSHclient.

Copyright information

Details about program copyright.

Author's email address

How to contact the program's author, Nick Gammon at Gammon Software Solutions. You can also click on the “Send ...” button to send mail to the author.

Author's web address

This gives the web address of Gammon Software Solutions. You can click on the “Go...” button to have your web browser automatically go to that site.

ShareWare fee details

Details about sending in your ShareWare payment to Gammon Software Solutions.


Getting started

New world

To connect to a new world, use the "New World " command under the File menu.

Connect to existing world

To connect to a previously defined world, use the "Open World" command under the File menu.


World window

This is the MUSHclient "split" window. The MUSH name will be in the title bar, the top area is used for showing MUSH output, and the bottom part (below the splitter bar) is used for the command area (input to MUSH). You can resize the command area by placing the mouse over the splitter bar and moving it up or down.

Entering commands

You can only send commands to the MUSH when the "focus" is in the lower (command) window. If the focus is there, you should see a flashing cursor (vertical bar), and what you type should appear in that window. If not, make sure that window is active (click on the title bar if necessary), and press the <tab> key. The <tab> key moves the focus from the upper window to the lower (command) window. You can also press <esc> to move the focus to the command window.

Editing commands

Commands are not transmitted to the MUSH until you press <Enter>, so until that time, you can use the mouse, arrow keys, "home", or "end" keys to move the cursor around in the command area, editing and amending your input. You can also use the normal Windows copy (Ctrl+C), cut (Ctrl+X) and paste (Ctrl+V) commands to copy and paste text from inside MUSHclient or elsewhere.

Recalling previously transmitted commands

Up to the last 5000 commands you entered (per world) are saved in an internal command history buffer. You can view this buffer at any time by pressing Ctrl+H (or select "Command History" from the Game menu). You can select (highlight) any previous command with the mouse and click the "recall" button to recall it to the command input area.

The exact number is user-configurable.

Alternatively, you can recall recent commands by pressing Alt+Up-arrow to move upwards through the recent commands, or Alt+Down-arrow to move back downwards.

If you have checked the “arrow keys traverse history” box in the world configuration screen, you can review recent commands by pressing Up-arrow and Down-arrow without having to press the Alt key.

The history buffer does not record empty (blank) commands, or commands which were identical to the previous one.

You can use Ctrl+R to repeat the previous command.

Reviewing output from the MUSH

You can easily scroll backwards through recent output by pressing "Page-Up" or "Page-Down" to scroll the display buffer forwards and backwards. You can also use:

	CTRL+HOME	Go to start of display buffer
	CTRL+END	Go to end of display buffer
	CTRL+UP-ARROW	Go up one line
	CTRL+DOWN-ARROW	Go down one line
	CTRL+PAGE-UP	Go upwards one screenfull
	CTRL+PAGE-DOWN	Go downwards one screenfull

Pausing output

If you have an interesting message that you are trying to read, but can't because recent output is causing the screen to keep scrolling, you can temporarily "pause" the output by pressing:

Ctrl+Space

Although new output will be received and processed (and triggers acted upon), the display buffer will not scroll automatically, until you un-pause it by pressing Ctrl+Space again.

Resizing the window

You can resize the MUSH window in the usual way, but please note that the display area is fixed to show a certain number columns of output per line. This number is fixed in the "Output" tab of the world configuration screen.

Changing the display and command font

You can change the font (typeface) being used in the display and command area, on a per-world basis, by using the "World Configuration" menu item from the "Game" menu (or pressing Ctrl+G), and then selecting the "Screen" tab. Click on the "Font" button and choose your desired font and size. (In general, monospaced fonts (eg. Courier) will work better than proportionally spaced fonts, because many displays [eg. WHO lists] are designed to be displayed with a monospaced font).

Once you have closed the " World Configuration" dialog box, the font chosen will the used to display the output, and for command input, for the chosen world. This will only become permanent if you save the world details (File > Save).

Contents of status line

 The status line shows (for the current world):

Mush name

The name of this world

Date and time of last message

When the last message was received from this MUSH.

Number of lines received

The number of lines received from the MUSH since connecting.

Freeze status

If you have paused output by pressing CTRL+SPACE, then the word "PAUSE" appears to warn you that new output will not automatically appear. However if you have scrolled backwards through your output buffer the word “PAUSE” is replaced by “MORE” to warn you that you are not at the end of the output buffer.

Logging status

If output is being logged, then the word "LOG" will appear to confirm that logging is on.

Caps lock

If you have "caps lock" on then the words "CAP" will appear to confirm this.


Help topic: ID = IDD_SETUP

Help not written yet for IDH_SETUP.


Help topic: ID = IDR_NON_MENU_ITEMS

Help not written yet for IDH_NON_MENU_ITEMS.


Help topic: ID = IDR_MAINFRAME2

Help not written yet for IDH_MAINFRAME2.


Logging, entering count of lines
Logging - enter count of lines

If you desire, you can include in the log file output that has already appeared on the screen (up to the last 100,000 lines). When you first start up logging, you will be prompted as to whether you want the last "n" lines included (where "n" is the number of lines already received from the MUSH, with a maximum of 100,000). If you want only recent lines, you can replace the number with a smaller one (say, 20). Or if you only want to log future output, type a "0" to replace the number displayed.

The exact number of lines that can be recalled is set in the “Output” tab of the world configuration screen. The maximum it can be set to is 100,000 lines.

What if more lines appear while I am reading this message?

The line count is automatically adjusted to allow for more lines that appear while you are reading the dialog box (or this help message!). Say you wanted 20 lines to be retained from the display buffer, but another 15 appear while you are entering the number "20". The program will actually retain 35 lines so that the ones you originally wanted appear in the log file.

The exception is that if you enter zero ("0") for the line count, then zero lines from the output buffer are retained, no matter how many appear while you are looking at the dialog box.


Command history

The command history screen is used to show up to the last 5,000 commands that you typed into this MUSH. You can use this screen to recall any one of them into the input buffer (bottom part of the split screen). To do this, find the appropriate command, and then click on "recall". The command is copied into the input buffer (replacing what was there previously) and can then be edited before being sent to the MUSH.


Screen preferences
Highlighting

Highlight incoming...

You can show incoming: pages, whispers, game, chat and mail messages in different colours to make them stand out. Just choose one of the 8 colour types from the list boxes. The actual colour displayed will depend on the colours set up in the "colours" tab. The colours are chosen from the bold column in the colours configuration screen, not the normal colours.

The exact strings that are matched on to specify incoming pages, whispers etc. are defined in the "Strings" tab of the configuration screen.

You can see what each colour will look like, as it appears in a rectangular colour "swatch" to the right of each colour type.

If you do not want a particular type of incoming message highlighted, select the colour "(no change)".

New activity sound

You can play a nominated "sound" file when new activity arrives for a MUSH that is not the frontmost window.  By clicking on Browse you can select a "wave" file (ie. A file whose name ends in .WAV). Then, when output arrives for this MUSH, and the MUSH's window is not at the front, the nominated sound will be played.

You can test the sound by clicking on the Test button.

If you do not want a sound played, click on the No Sound button.


Changing colours
Colours

Using the colours configuration screen you can completely customise the way that colours appear on the screen, in response to:

* ANSI colours sequences from the MUSH; and

* Your selection of colours for triggered items, user input, and so on.

By clicking on one of the 16 colour buttons, you can adjust the actual colour that is displayed for a given colour "palette".

Colour swatches

Next to each colour button is a rectangular "swatch" which shows what the current setting for that colour is. By reviewing the swatches you can see your overall colour scheme.

Colour Palette

To understand how the program handles colours, it is necessary to discuss the concept of a colour "palette". MUSHclient recognises 8 ANSI "normal" colours (black, red, green, yellow, blue, magenta, cyan and white), and the same 8 colours in "bold". The codes to change colours may be sent by a particular MUSH if the appropriate function calls are made by a room designer. The normal colour is white text on a black background.

However, the actual colours that are displayed depend on the colour palette for a particular world. For example "black" might actually display as grey, and "white" might actually display as green. In fact, these are the defaults that are set up when you start up a new world, as green on grey is easier on the eye than white on black. (This of course is a matter of opinion).

Changing colours

To change the normal text colour, use the " World Configuration" menu item from the "Game" menu (or pressing Ctrl+G), and then select the "Colours" tab. Then click on "white" in the "normal" column (the button with "(1)" on it). You can then use the  colour selection dialog box to choose another colour. There are various ways of doing this...

The easiest way is to choose a colour from one of the "basic colours" on the left-hand side of the dialog box.

Using "custom colours"

For more precise control of colours, click on "Define custom colours", and then a larger dialog box will appear.

You can then the mouse over the big coloured box on the right (holding down the mouse button) until the desired colour appears in the "Color/Solid" box.

Or, you can enter the actual "red/green/blue" or "hue/saturation/luminence" values in to the appropriately labelled boxes.

Ansi Colours button

Clck on this button to reset all 16 colours to their ANSI defaults. This is useful if you want to see how the world would look to people with "standard" colours set up.

Load

Click on this button to load a previously-saved set of colours. You can set up a colour scheme in one world, save it (using the "save" button) and then load the same colours into another world by using the "load" button.

Save

Click on this button to save your current set of 16 colours. You can then load them into another world if desired, so that each world has a consistent colour scheme.


Entering a password
Password entry

You are seeing this dialog box because you left the password blank in the game configuration dialog box. You should enter the appropriate password for the character whose name is displayed. If you press "cancel" then you are not connected to a character. You are still connected to the MUSH however, and can now connect manually.


Logging options

The options below apply to logging MUSH output (activated by the File > Log Session command).

Preamble

Any text you enter here is placed at the start of the log file (eg. A copyright notice).

Log my input

If checked, commands you type are added to the log file, in addition to whatever is received from the MUSH.

Log notes

If checked, notes produced by a script file are added to the log file, in addition to whatever is received from the MUSH.

Remove the following from log file

By checking the various fields below, you can omit pages, whispers and so on from the log file.

This could be useful if you want to log an "in character" (IC) session, but omit private conversations between you and other people. The exact strings that are used to define pages, whispers and so on are specified in the "Strings" configuration tab.


Strings

In order to make MUSHclient a flexible MUSH /MUD/MU* client program, you can customise the "recognition strings" that are used to recognise when a page, whisper, mail message etc. arrives from the MUSH server.

String type

This shows the type of string to be customised, and should be reasonably self-explanatory. For example, an "incoming page-pose" is what you see when someone does a page-pose to you.

Match on

This is the exact text (which is case sensitive) to match on to identify the appropriate type of string. Any leading or trailing spaces should be included as part of the string.

Check "nn" characters from the start of the line

In order to try to avoid "false alarms" only the first part of each incoming line is tested. The exact number of characters that is to be tested for the match string can be entered here.

Edit

Highlight a "string type" in the table above (by clicking on it) and click "Edit" (or double-click the string type) and you will be taken to the "edit string" dialog box.

Saving strings

You can save your list of strings by clicking on "save" and then specifying a file name. All strings will be saved into a file, which can then be loaded into a different world if desired.

Loading strings

You can load a new list of strings by clicking on "load" and then specifying a file name. The strings from the nominated file will be loaded into this world.

Find

To quickly find a particular string, click on "find" and type in some text. If the "string type", or "match on" fields contain that text then it will be highlighted.

Find Next

Click on this to find the next occurrence of text previously typed into the "Find" dialog box.

Clashes with triggers

Unlike previous versions of MUSHclient, triggers are now tested for before the strings in this configuration page. Therefore, triggers take precedence over match strings.


Editing strings
Edit string

This dialog box is used to edit a particular string which appears in the "strings" table in the Strings configuration dialog.

String type

This shows the type of string to be customised, and should be reasonably self-explanatory. For example, an "incoming page-pose" is what you see when someone does a page-pose to you.

Match on

This is the exact text (which is case sensitive) to match on to identify the appropriate type of string. Any leading or trailing spaces should be included as part of the string.


Macros and function keys
Macros (function keys and pre-defined menu items)

This dialog box is used to customise the macros. Macros are function keys, or predefined "Action" menu items which can be used to send whatever text you like to the MUSH.

You have 30 function keys available, F2 to F12, Ctrl+F2 to Ctrl+F12, and Shift+F2 to Shift+F12.

Reserved function keys

The following keys have predefined meanings and cannot be changed:

F1	Help.
Ctrl+F4	Close the current window,.
Alt+F4	Exit the application
F6	Go to the next pane
Macro name

The macro name explains what action you have to take to invoke the macro. The ones starting with "F" involve pressing the appropriate function key, the others are menu items on the "Action" menu.

Text

This is what gets sent to the MUSH when you press the function key, or use the menu item.

Action

The "action" controls how the text is processed: sent immediately, added to the command buffer, or replacing the command buffer.

Replace

If "replace" is checked, then the text replaces whatever is in the command (input) buffer. This is useful for commands like "look" where you want to add more to the command before sending it. (eg. "look Gandalf")

Send now

If "send now" is checked, then the text replaces whatever is in the command (input) buffer, and then the text is immediately sent to the MUSH. This is useful for making "single-key" macros (like "north") that just send "north" to the MUSH when the key is pressed.

Insert

If "insert" is checked, then the text is inserted into the command (input) buffer at the selection point (where the cursor is blinking). This is useful for programming (say) lengthy character names into a key, where you may wish to use that name in the middle of a command.

Changing predefined macros

Some of the predefined macros (e.g. QUIT to quit the game) may need to be changed. For example, some MUSHes need a lower-case "quit" command, or some might need "@quit".

Find

To quickly find a particular macro, click on "find" and type in some text. If the "macro name", "text" or "action" fields contain that text then it will be highlighted.

Find Next

Click on this to find the next occurrence of text previously typed into the "Find" dialog box.


Editing macros
Edit macro text

This dialog box is used to edit a particular macro which appears in the "macros" table in the Macros configuration dialog.

Text

This is what gets sent to the MUSH when you press the function key, or use the menu item.

Send action

Replace

If "replace" is checked, then the text replaces whatever is in the command (input) buffer. This is useful for commands like "look" where you want to add more to the command before sending it. (eg. "look Gandalf")

Send now

If "send now" is checked, then the text replaces whatever is in the command (input) buffer, and then the text is immediately sent to the MUSH. This is useful for making "single-key" macros (like "north") that just send "north" to the MUSH when the key is pressed.

Insert

If "insert" is checked, then the text is inserted into the command (input) buffer at the selection point (where the cursor is blinking). This is useful for programming (say) length character names into a key, where you may wish to use that name in the middle of a command.


Activity window

This window shows when messages (output) arrives from a MUSH that is not the current window. This is so that you can have multiple worlds open, and keep an eye on the activity window to see whether you should switch to another world to respond to a message.

If a world appears in the activity window, you can activate that world by:

1.	Click on the desired world name, and then click "Go To"; 	OR

2.	Double-click on the desired world name;	OR

3.	Press Ctrl+number, where "number" is the number displayed next to the appropriate world, for example: Ctrl+1

If you activate a world that has been minimized (ie. is just shown as an icon on the bottom of the screen) then activating it will also restore it to its original size.

Shortcuts

Keys:	CTRL+A


Aliases

Aliases are a shorthand way of entering commands. For example, you might have an alias:

clw

that expands out to "cure light wounds". Being able to enter the alias quickly may make the difference between life and death!

Any number may be entered, however a particular alias is only processed once per line. Multiple aliases may be entered on a given line.

Scripting support

You can also use aliases to call a script subroutine. This way you can make an alias carry out a complex set of tasks.

Where to match

You can choose to match an alias:

* At the start of a line,

* Anywhere on the line

* An exact match

by clicking on the appropriate "match" radio button, which appears when you enter or change an alias.

Include spaces if necessary

When entering aliases, be careful that the alias text (the text to match on) contains any leading or trailing spaces that are needed to distinguish it from nearby words.

Testing aliases

You can test aliases by using "Game > Test Command" to check how an alias will work without actually having to send the command to the MUSH.

You can turn all aliases off by unchecking "enable aliases" if you wish to.

Adding an alias

Click "New" to add an alias, you will be taken to the "Edit Alias" screen.

Amending an alias

Highlight the alias you want to amend by clicking on its name (in the left-most column), and then click "Edit" to amend it, you will then be taken to the "Edit Alias" screen.

Deleting an alias

Highlight the alias you want to delete by clicking on its name (in the left-most column), and then click "Remove" to remove it.

Saving aliases

You can save your list of aliases by clicking on "save" and then specifying a file name. All aliases will be saved into a file, which can then be loaded into a different world if desired.

Loading aliases

You can load a new list of aliases by clicking on "load" and then specifying a file name. The aliases from the nominated file will be loaded into this world. You will be given the option of adding the aliases to your existing ones (if you have any existing ones), or to replace your existing ones if desired.

Sorting the list of aliases

You can sort the list of aliases by clicking on any of the column headings. The list will be sorted into ascending alphabetical order corresponding to the contents of that column. If you click on a particular column a second time it will then be sorted into descending order.

Find

To quickly find a particular alias, click on "find" and type in some text. If the "alias", or "contents" fields contain that text then it will be highlighted.

Find Next

Click on this to find the next occurrence of text previously typed into the "Find" dialog box.

Parameter substitution

You can pass a "parameter" to an alias, by specifying a string to match on. For example, if the alias reads:

attack

and the substitution string is:

&

and the replacement text is:

kick &

punch &

throw water over &

then the parameter is substituted for the "&" in each of the lines above. For example, typing:

attack dragon

would result in the alias replying:

kick dragon

punch dragon

throw water over dragon


Triggers

Triggers are automatic responses generated by MUSHclient when it receives certain output from the MUSH it is connected to. This output is called the "trigger" text, as it triggers a response from the program.

Any number of triggers may be entered, however the program stops looking when it matches one. The matches are not guaranteed to be in any particular order, so you are advised to not make ambiguous triggers!

If matched, the "response" text, which can be multiple lines, is sent.

Wildcards

You can match on wildcards, represented by an asterisk, as in:

Match text:	You say, "*"

Response:	think I notice that I just said "%1"!

or

Match text:	* goes *

Response:	Go %2

Kill %1

To incorporate whatever the wildcard matched on, use %1 (for first asterisk) up to %9 (for 9th asterisk), and %0 (for 10th asterisk) in the replacement text. Only the first 40 characters that matches an asterisk is used in the response text.

If you want to match on a partial line (e.g. some text, followed by anything), make sure that you finish off your match text with an asterisk.

Triggers can optionally be case-sensitive.

You can test triggers by using "Game > Test Trigger" to check how a trigger will work without actually having to generate the desired text by doing something in the MUSH.

You can turn all triggers off by unchecking "enable triggers" if you wish to. This could be useful to temporarily disable the effects of triggers you have set up.

Adding a trigger

Click "New" to add a trigger, you will be taken to the "Edit Trigger" screen.

Amending a trigger

Highlight the trigger you want to amend by clicking on its name (in the left-most column), and then click "Edit" to amend it, you will then be taken to the "Edit Trigger" screen.

Deleting a trigger

Highlight the trigger you want to delete by clicking on its name (in the left-most column), and then click "Remove" to remove it.

Saving triggers

You can save your list of triggers by clicking on "save" and then specifying a file name. All triggers will be saved into a file, which can then be loaded into a different world if desired.

Loading triggers

You can load a new list of triggers by clicking on "load" and then specifying a file name. The triggers from the nominated file will be loaded into this world. You will be given the option of adding the triggers to your existing ones (if you have any existing ones), or to replace your existing ones if desired.

Sorting the list of triggers

You can sort the list of triggers by clicking on any of the column headings. The list will be sorted into ascending alphabetical order corresponding to the contents of that column. If you click on a particular column a second time it will then be sorted into descending order.

Find

To quickly find a particular trigger, click on "find" and type in some text. If the "trigger", or "contents" fields contain that text then it will be highlighted.

Find Next

Click on this to find the next occurrence of text previously typed into the "Find" dialog box.

Triggers only match an entire line

Triggers are only evaluated when an entire line has been received (which is when a line "wraps" at column 80, or whichever column you have specified for line wrapping, or when a "linefeed" is received). This is to avoid "false alarms" on partial lines. This means that you will not be able to use triggers to match on lines in "prompt-style" MUDs which have not been terminated by a linefeed.

Enable trigger sounds

If checked, any triggers which have an associated sound file will play it when triggered. If disabled (unchecked) all trigger sounds are disabled. You might wish to uncheck this if you wish to temporarily operate quietly.


Speed walking, command stacking and echoing input
Commands

Speed walking

You can optionally enable "speed walking", which is a way of quickly moving from one location to another. You can choose a "speed walk" prefix (for example, "#"). Once you have done that, and enabled speed walking in the " World Configuration" configuration screen, then you can speed walk by entering the prefix followed by a string of direction letters, like this:

#4n3esuwdLW

This would move you: 4 times North, 3 times East, South, Up, West, Down and then "lock west"

Actions

Actions recognised are: C:close; O:open; L:lock; K:unlock (or nothing for no special action, just walk in that direction)

Directions

The directions recognised are: N:north, S:south, E:east, W:west, U:up, D:down.

Filler

You can also enter “F” for a speed walk “filler”. This is for MUDs that reject multiple identical commands. For example, if you need to walk West 30 times, but your MUD disconnects you after 20 identical commands, enter:

#15w f 15w

The exact text that is sent by the “filler” is customisable from the “Input” world configuration screen. A suggested filler command would be something harmless, like LOOK.

Multipliers

You may also enter a one or two-digit multiplier in the range 1 to 99. The multiplier affects the *next* direction entered, e.g. "5s" means go South 5 times.

Spaces are accepted in the speed walk command, and ignored.

You can test speed walking by using "Game > Test Command" to check how a speed walk command will work without actually having to send the command to the MUSH.

You can enable or disable speed walking through the " World Configuration" (Commands) configuration screen.

Command stacking

You can optionally enable "command stacking" which is a way of entering multiple commands on a single line. For example:

north;take rod;south;kill dragon

In this case the "command stack" character is a semicolon. Be careful not to choose a command stack character that clashes with MUSH data entry. For example, in PennMUSH a semicolon is used to separate parts of a command, such as @dig.

You can test command stacking by using "Game > Test Command" to check how command stacking will work without actually having to send the command to the MUSH.

You can enable or disable command stacking through the " World Configuration" (Commands) configuration screen.

Escape deletes typing

With this option checked, pressing “Esc” (the Escape key) removes what you have typed from the command window. This is useful if you change your mind and need to quickly type something different (eg. In a combat MUD).

Arrow keys traverse history

With this option checked, you can recall previously-typed commands by just using the arrow keys on the keyboard, without having to type Alt as well.

Echo my input

If you enable "echo my input" then commands you type (and transmit) are echoed in the output buffer (top part of the screen) after being processed for speed walking, macros (function keys), aliases, and command stacking. You will also see commands which have been automatically transmitted because they matched a trigger. You can choose the colour they appear in (from the bold palette).

This is very handy for keeping an eye on triggers, and what is actually sent after macros etc. are evaluated.

The disadvantage is that MUSHclient has no way of knowing if you are halfway through waiting for a response from a "lagged" MUSH, so that occasionally your input may appear in the middle of a response from the MUSH.

Font

You can choose the font used to display your commands by clicking on the "Change font" button.

Confirm before replacing typing

When this is checked you will be asked to confirm any action (such as a function key, or "Actions" menu item) that might replace what you have been typing with a predefined macro.

Colours

You can choose a foreground and background colour for the text in the "command" window by clicking on the appropriate buttons. Two colour swatches show what the currently selected colours look like.

Command history

You can choose how many lines are retained in the "history" window.


Editing aliases
Edit alias

Aliases are a shorthand way of entering commands. For example, you might have an alias:

clw

that expands out to "cure light wounds". Being able to enter the alias quickly may make the difference between life and death!

This dialog box is used when adding a new alias, or to change the behaviour of an existing alias.

Alias

This is the text that to be matched against in your command area. It is case-sensitive, so that "BOX" and "box" are different, for example.

For example, enter:	clw

Send

This is the text that is to replace the alias text.

For example, enter:	cure light wounds

You can enter more than one line of text, for example:

go north

eat food

If you don't want more than one line of text, be careful not to press the "enter" key when the cursor is in the "send" box, or you will be inserting a "carriage return" into the alias replacement text.

Match

To assist in accurate matching on aliases, you have three options for matching on the alias word:

Start of line

This matches the alias text, providing it is at the start of the line. This lets you put other words after the alias. For example, if your alias was:

k<space>	(the letter "k" followed by a space)

and the "send" text was:

kill<space>	(the word "kill" followed by a space)

Then you could enter:

k dragon

which would expand out to:

kill dragon

Anywhere on line

This matches the alias text, anywhere on the line. For example, if you had an alias:

JES

and the "send" text was:

Jewel-Encrusted-Sapphire

then you could type:

take JES

which would expand out to:

take Jewel-Encrusted-Sapphire

Exactly

This is for use where you want to enter the alias on its own, and not have it confused with another longer word that might start with the same letters. For example, you might have an alias:

t

with "send" text of:

@teleport me = #67

In this case, if you set the alias to "exactly" then entering "t" will teleport you, however entering "take" will behave in the normal way, because "take" does not exactly match "t".

Parameter

You can pass a "parameter" to an alias, by specifying a string to match on. For example, if the alias reads:

attack

and the substitution string is:

&

and the replacement text is:

kick &

punch &

throw water over &

then the parameter is substituted for the "&" in each of the lines above. For example, typing:

attack dragon

would result in the alias replying:

kick dragon

punch dragon

throw water over dragon

Use clipboard

If this is checked and you have specified a parameter string, the clipboard is substituted for the parameter. Using the above example as a guide, if the word "monster" was on the Clipboard, and you typed:

attack

then the alias would reply:

kick monster

punch monster

throw water over monster

You can use this option in conjunction with triggers which play wildcard text onto the clipboard.

Label

You can optionally give your aliases a name. This is particularly useful for controlling aliases from scripts, as a script must refer to a alias by name. Names must be unique, ie. you cannot give the same name to more than one alias. Labels must start with a letter (ie. A-Z), and consist of letters (A-Z), numbers (0-9) or the underscore character ("_").

Script

If you put the name of a script subroutine here, then it will be called when the alias is typed. The script subroutine will be called with three arguments:

* The name of the alias

* The expanded line to be sent to the world

* The contents of the parameter substitution argument (if any)

In order to specify a script subroutine name you must give the alias a label. The "script" box will be dimmed if you do not have a label. Here is an example of a alias script subroutine:

sub on_alias_ponder (thename, theoutput, theparameter)

  world.send "pose looks around vaguely"

  world.send "say I wonder " & theparameter

  world.send "pose looks thoughtful"

end sub

To use the above script you would set up an alias which had:

Alias: ponder

Parameter: &

Label: alias_ponder

Script: on_alias_ponder

then type in:

ponder what the weather is like today

Then the world would echo:

Nick looks around vaguely

You say, "I wonder what the weather is like today"

Nick looks thoughtful

Enabled

If this is checked then the alias is enabled. If not, then it is inactive. Scripts can enable and disable aliases.


Editing triggers
Edit trigger

Triggers are automatic responses generated by MUSHclient when it receives certain output from the MUSH it is connected to. This output is called the "trigger" text, as it triggers a response from the program.

This dialog box is used when adding a new trigger, or to change the behaviour of an existing trigger.

Trigger

This is the text that you are expecting from the MUSH. If it is matched on exactly, then the text in the "send" box is sent to the MUSH.

Wildcards

You can use wildcards to match on variable or unknown text. For example:

* has arrived.

could be used to test for the arrival of anyone.

You can use any number of wildcards in your trigger text, however only the first 10 can be used for replacement purposes in the sent text (see below for more details).

Send

In this box enter what you want to have sent to the MUSH when the trigger text is matched. This can be empty if you don't want anything sent (perhaps because you just want to highlight the trigger text in a different colour, or play a sound).

Replacement of wildcard text

You can use the text that matched wildcards in the trigger text by using %1 (for the first asterisk), %2 (for the second asterisk); and so on, up to %0 (for the tenth asterisk).

For example:

think I notice that %1 has arrived!

Ignore case

If you check the "ignore case" box then the trigger text is matched on regardless of whether it is in upper, lower or mixed case. If unchecked then the trigger text must match exactly the case of the text in the trigger box.

Do not check "ignore case" unless you have a good reason, converting the case of text from the MUSH is slower than not converting it.

Omit from log file

If checked, if this trigger is matched it is not logged to the log file (if any). This is so you can use triggers to omit from the log file any unwanted types of displays.

Omit from output

If checked, if this trigger is matched then the trigger text is omitted from the output area. This is useful for filtering out annoying output from the world.

Keep evaluating

If checked, then if this trigger is matched MUSHclient looks at other triggers to see if another one matches the same input text.

Copy wildcard

You can choose to copy the text that matches wildcard 1 through to 10 to the clipboard by selecting the appropriate entry from this drop-down list. For example, if the trigger reads:

You are attacked by a *

and you copy wildcard 1 to the clipboard (ie. wildcard 1 is whatever matches the first asterisk), and the world says:

You are attacked by a snake

then the word "snake" will be copied to the Clipboard.

Colour

You can specify what colour the trigger message is to be shown in by selecting one of 8 colours from the colour list box. The actual colour shown on your screen will depend on what colour you have set up in your "colours" configuration screen. Note that the colour used is the bold colour, not the normal colour.

Sounds

You can optionally play a sound when the trigger text is matched. To do this, click on the "Browse" button, and select an appropriate "wave" file (File whose name ends in .wav).

No sound

If you want to remove a previously-assigned sound, click on the "No sound" button.

Test

To test the sound you have chosen, click on "test". You should hear the appropriate sound being played.

Play

The "play" area shows which sound is currently selected. Note that if this pathname becomes invalid (for example, because you delete or move the sound file), then no error message is given. That trigger will simply not play a sound any more.

Label

You can optionally give your triggers a name. This is particularly useful for controlling triggers from scripts, as a script must refer to a triggers by name. Names must be unique, ie. you cannot give the same name to more than one trigger. Labels must start with a letter (ie. A-Z), and consist of letters (A-Z), numbers (0-9) or the underscore character ("_").

Script

If you put the name of a script subroutine here, then it will be called when the trigger is matched. The script subroutine will be called with three arguments:

* The name of the alias

* The line that caused the trigger to fire

* An array of 10 strings which are what matched the first 10 wildcard characters.

In order to specify a script subroutine name you must give the trigger a label. The "script" box will be dimmed if you do not have a label. Here is an example of a trigger script subroutine:

sub on_trigger_attack (thename, theoutput, thewildcards)

  world.send "poke at " & thewildcards (1) & " with a stick"

end sub

Enabled

If this is checked then the trigger is enabled. If not, then it is inactive. Scripts can enable and disable triggers.


Testing commands
Test command

You can use the "test command" dialog box to test how MUSHclient will a command that you type, after processing speed walking, command stacking, and aliases. To use it, type (or paste) the desired text into the test area, and click OK.


Testing triggers
Test trigger

You can use the "test trigger" dialog box to test how MUSHclient will evaluate some hypothetical text from the MUSH. To use it, type (or paste) the desired text into the test area, and click OK.


Results of testing commands and triggers
Test result

This screen shows what would have been sent to the MUSH in response to a "test command" or "test trigger" entry.


Go to end of output screen
End of output area

This scrolls the "output" area of the MUSH world display to the bottom (end) of the display area (in other words, to the most recently output from the MUSH).

Shortcuts

Keys:	CTRL+END


Recall next command
Next command

This recalls the next command in sequence that you entered. If no more, the input area is cleared. You can see a history list of all recently entered commands by using the command history window.

Shortcuts

Keys:	ALT+DOWN-ARROW


Recall previous command
Previous command

This recalls the previous command in sequence that you entered. If no more, the input area is cleared. You can see a history list of all recently entered commands by using the command history window.

Shortcuts

Keys:	ALT+UP-ARROW


Page up in output area
Page up

This scrolls the "output" area of the MUSH world display screen upwards one page (screenful).

Shortcuts

Keys:	CTRL+PAGE-UP

PAGE-UP


Page down in output area
Page down

This scrolls the "output" area of the MUSH world display screen downwards one page (screenful).

Shortcuts

Keys:	CTRL+PAGE-DOWN

PAGE-DOWN


Help topic: ID = ID_TEST_ADDLINE

Help not written yet for IDH_TEST_ADDLINE.


Scroll to start of output area
Start of output area

This scrolls the "output" area of the MUSH world display to the top (start) of the display area.

Shortcuts

Keys:	CTRL+HOME


Scroll line up
Line up

This scrolls the "output" area of the MUSH world display screen upwards one line.

Shortcuts

Keys:	CTRL+UP-ARROW


Scroll line down
Line down

This scrolls the "output" area of the MUSH world display screen downwards one line.

Shortcuts

Keys:	CTRL+DOWN-ARROW


Log session

Output from the MUSH can be written to disk as a "text" file, for subsequent review.

Retropective logging

If you desire, you can include in the log file output that has already appeared on the screen (up to the last 100,000 lines). When you first start up logging, you will be prompted as to whether you want the last "n" lines included (where "n" is the number of lines already received from the MUSH, with a maximum of 100,000). If you want only recent lines, you can replace the number with a smaller one (say, 20). Or if you only want to log future output, type a "0" to replace the number displayed.

Shortcuts

Toolbar:


Help topic: ID = ID_TEST_COLOURTEST

Help not written yet for IDH_TEST_COLOURTEST.


Wrap lines

When this feature is active, MUSHclient automatically wraps output from the MUSH when it reaches column 80 of the display area, in such a way that words are not broken into two.

If you want to see what comes from the MUSH verbatim, then uncheck this option.

Shortcuts

Toolbar:


Help topic: ID = ID_STATUSLINE_MUSHNAME

Help not written yet for IDH_STATUSLINE_MUSHNAME.


Help topic: ID = ID_STATUSLINE_TIME

Help not written yet for IDH_STATUSLINE_TIME.


Help topic: ID = ID_STATUSLINE_LINES

Help not written yet for IDH_STATUSLINE_LINES.


Help topic: ID = ID_STATUSLINE_WRAP

Help not written yet for IDH_STATUSLINE_WRAP.


Help topic: ID = ID_STATUSLINE_LOG

Help not written yet for IDH_STATUSLINE_LOG.


North

This sends a "north" command to the MUSH.

You can customise the exact string that is used for the north command by using the "Strings" configuration screen. The default is: "north".

Shortcuts

Toolbar:

Keys:	SHIFT+CTRL+N


South

This sends a "south" command to the MUSH.

You can customise the exact string that is used for the south command by using the "Strings" configuration screen. The default is: "south".

Shortcuts

Toolbar:

Keys:	SHIFT+CTRL+S


East

This sends an "east" command to the MUSH.

You can customise the exact string that is used for the east command by using the "Strings" configuration screen. The default is: "east".

Shortcuts

Toolbar:

Keys:	SHIFT+CTRL+E


West

This sends a "west" command to the MUSH.

You can customise the exact string that is used for the west command by using the "Strings" configuration screen. The default is: "west".

Shortcuts

Toolbar:

Keys:	SHIFT+CTRL+W


Up

This sends an "up" command to the MUSH.

You can customise the exact string that is used for the up command by using the "Strings" configuration screen. The default is: "up".

Shortcuts

Toolbar:

Keys:	SHIFT+CTRL+U


Down

This sends a "down" command to the MUSH.

You can customise the exact string that is used for the down command by using the "Strings" configuration screen. The default is: "down".

Shortcuts

Toolbar:

Keys:	SHIFT+CTRL+D


Examine

This places a "examine" command in your input buffer. You can then type what the thing is that you want to examine.

You can customise the exact string that is used to look by using the "Strings" configuration screen. The default is: "examine ".

Shortcuts

Toolbar:

Keys:	CTRL+E


Look

This places a "look" command in your input buffer. You can then type what the thing is that you want to look at.

You can customise the exact string that is used to look by using the "Strings" configuration screen. The default is: "look ".

Shortcuts

Toolbar:

Keys:	CTRL+L


Activate command area

This activates the command area (the input buffer) at the  bottom of the split window. This is necessary to put the "focus" there so you can type things in.  If you do not see the flashing "cursor" (the thin vertical bar) then the focus is not in the command area, and you cannot type things in. Press "tab" to correct this.

You can also press <esc> to move the focus to the command window.

Shortcuts

Keys:	TAB

ESC


Say

This places a "say" command in your input buffer. You can then type what the message is that you want to say.

You can customise the exact string that is used to say by using the "Strings" configuration screen. The default is: "say ".

Shortcuts

Keys:	CTRL+S


Whisper

This places a "whisper" command in your input buffer. You can then type what the message is that you want to whisper.

You can customise the exact string that is used to whisper by using the "Strings" configuration screen. The default is: "whisper ".

Shortcuts

Keys:	CTRL+W


Page

This places a "page" command in your input buffer. You can then type what the message is that you want to page.

You can customise the exact string that is used to page by using the "Strings" configuration screen. The default is: "page ".

Shortcuts

Keys:	CTRL+P


Pose

This places a "pose" command in your input buffer. You can then type what the action is that you want to pose.

You can customise the exact string that is used to pose by using the "Strings" configuration screen. The default is: "pose ".


Help topic: ID = ID_GAME_EDITGAMEDETAILS

Help not written yet for IDH_GAME_EDITGAMEDETAILS.


Command History

The command history screen is used to show up to the last 500 commands that you typed into the MUSH. You can use this screen to recall any one of them into the input buffer (bottom part of the split screen). To do this, find the appropriate command, and then click on "recall". The command is copied into the input buffer (replacing what was there previously) and can then be edited before being sent to the MUSH.


Help topic: ID = ID_GAME_WHO

This sends a "WHO" command to the MUSH. This is used to see what other people are currently doing on the MUSH.

You can customise the exact string that is used for the WHO command by using the "Strings" configuration screen. The default is: "WHO".


Doing

This sends a "DOING" command to the MUSH. This is used to see what other people are currently doing on the MUSH.

You can customise the exact string that is used for the DOING command by using the "Strings" configuration screen. The default is: "DOING".


Help topic: ID = ID_GAME_PREFERENCES

This brings up the "world configuration" tabbed dialog box. From here you can change the configuration details for the current world. For example, you can change the TCP/IP address, world name, screen colours, screen font, aliases, triggers, macros, and much more.


Take

This places a "take" command in your input buffer. You can then type what the item is that you want to take.

You can customise the exact string that is used to take something by using the "Strings" configuration screen. The default is: "take".

Shortcuts

Keys:	CTRL+T


Drop

This places a "drop" command in your input buffer. You can then type what the item is that you want to drop.

You can customise the exact string that is used to drop something by using the "Strings" configuration screen. The default is: "drop".

Shortcuts

Keys:	CTRL+D


Help topic: ID = ID_DISPLAY_ACTIVATECOMMANDAREA

Help not written yet for IDH_DISPLAY_ACTIVATECOMMANDAREA.


Help topic: ID = ID_DISPLAY_PREVIOUSCOMMAND

Help not written yet for IDH_DISPLAY_PREVIOUSCOMMAND.


Help topic: ID = ID_DISPLAY_NEXTCOMMAND

Help not written yet for IDH_DISPLAY_NEXTCOMMAND.


Help topic: ID = ID_MACRO_F2

Help not written yet for IDH_MACRO_F2.


Help topic: ID = ID_MACRO_F3

Help not written yet for IDH_MACRO_F3.


Help topic: ID = ID_MACRO_F4

Help not written yet for IDH_MACRO_F4.


Help topic: ID = ID_MACRO_F5

Help not written yet for IDH_MACRO_F5.


Help topic: ID = ID_MACRO_F6

Help not written yet for IDH_MACRO_F6.


Help topic: ID = ID_MACRO_F7

Help not written yet for IDH_MACRO_F7.


Help topic: ID = ID_MACRO_F8

Help not written yet for IDH_MACRO_F8.


Help topic: ID = ID_MACRO_F9

Help not written yet for IDH_MACRO_F9.


Help topic: ID = ID_MACRO_F10

Help not written yet for IDH_MACRO_F10.


Help topic: ID = ID_MACRO_F11

Help not written yet for IDH_MACRO_F11.


Help topic: ID = ID_MACRO_F12

Help not written yet for IDH_MACRO_F12.


Help topic: ID = ID_MACRO_CTRL_F2

Help not written yet for IDH_MACRO_CTRL_F2.


Help topic: ID = ID_MACRO_CTRL_F3

Help not written yet for IDH_MACRO_CTRL_F3.


Help topic: ID = ID_MACRO_CTRL_F4

Help not written yet for IDH_MACRO_CTRL_F4.


Help topic: ID = ID_MACRO_CTRL_F5

Help not written yet for IDH_MACRO_CTRL_F5.


Help topic: ID = ID_MACRO_CTRL_F6

Help not written yet for IDH_MACRO_CTRL_F6.


Help topic: ID = ID_MACRO_CTRL_F7

Help not written yet for IDH_MACRO_CTRL_F7.


Help topic: ID = ID_MACRO_CTRL_F8

Help not written yet for IDH_MACRO_CTRL_F8.


Help topic: ID = ID_MACRO_CTRL_F9

Help not written yet for IDH_MACRO_CTRL_F9.


Help topic: ID = ID_MACRO_CTRL_F10

Help not written yet for IDH_MACRO_CTRL_F10.


Help topic: ID = ID_MACRO_CTRL_F11

Help not written yet for IDH_MACRO_CTRL_F11.


Help topic: ID = ID_MACRO_CTRL_F12

Help not written yet for IDH_MACRO_CTRL_F12.


Help topic: ID = ID_MACRO_SHIFT_F2

Help not written yet for IDH_MACRO_SHIFT_F2.


Help topic: ID = ID_MACRO_SHIFT_F3

Help not written yet for IDH_MACRO_SHIFT_F3.


Help topic: ID = ID_MACRO_SHIFT_F4

Help not written yet for IDH_MACRO_SHIFT_F4.


Help topic: ID = ID_MACRO_SHIFT_F5

Help not written yet for IDH_MACRO_SHIFT_F5.


Help topic: ID = ID_MACRO_SHIFT_F6

Help not written yet for IDH_MACRO_SHIFT_F6.


Help topic: ID = ID_MACRO_SHIFT_F7

Help not written yet for IDH_MACRO_SHIFT_F7.


Help topic: ID = ID_MACRO_SHIFT_F8

Help not written yet for IDH_MACRO_SHIFT_F8.


Help topic: ID = ID_MACRO_SHIFT_F9

Help not written yet for IDH_MACRO_SHIFT_F9.


Help topic: ID = ID_MACRO_SHIFT_F10

Help not written yet for IDH_MACRO_SHIFT_F10.


Help topic: ID = ID_MACRO_SHIFT_F11

Help not written yet for IDH_MACRO_SHIFT_F11.


Help topic: ID = ID_MACRO_SHIFT_F12

Help not written yet for IDH_MACRO_SHIFT_F12.


Freeze game output
Pause output

You can use "pause output" to stop MUSHclient from automatically scrolling whenever a new message arrives. When active, although new messages are received and added to the "output" window, the screen remains paused at the point where it was when you activated "pause output".

The purpose of this is to allow you to read lengthy messages without them continually scrolling upwards, making them difficult to read.

When you have finished reading what you want to read, re-activate normal output, by un-checking the "pause output" menu item.

Warning - do not leave frozen for a long time

The intention of "pausing" output is to help read a recent message without it scrolling backwards continuously. However, although paused, the part of the "scrollback buffer" that you are reading is gradually being moved towards the top of the buffer as more text arrives from the MUSH. After 100,000 lines have arrived (or less, depending on how far you scrolled back to read the text before freezing it), the paused text will be removed from the scrollback buffer, and the screen unpaused.

You can tell that this is about to happen because the "thumb" (the square thing) in the scrollbar on the right will be moving further and further upwards. When it is near the top your text is about to disappear.

If you need to retain the text on the screen indefinitely, then (before it disappears) either:

a) Activate logging, so that it will be written to a log file; or

b) Copy it from the screen and paste into a word processor (such as NotePad), or into the "Notes" screen for the current world.

Shortcuts

Toolbar:

Keys:	CTRL+F


Help topic: ID = ID_STATUSLINE_FREEZE

Help not written yet for IDH_STATUSLINE_FREEZE.


Activity list

This opens a window which shows when messages (output) arrives from a MUSH that is not the current window. This is so that you can have multiple worlds open, and keep an eye on the activity window to see whether you should switch to another world to respond to a message.

Shortcuts

Keys:	CTRL+A


Help topic: ID = ID_WORLDS_WORLD1

Help not written yet for IDH_WORLDS_WORLD1.


Help topic: ID = ID_WORLDS_WORLD2

Help not written yet for IDH_WORLDS_WORLD2.


Help topic: ID = ID_WORLDS_WORLD3

Help not written yet for IDH_WORLDS_WORLD3.


Help topic: ID = ID_WORLDS_WORLD4

Help not written yet for IDH_WORLDS_WORLD4.


Help topic: ID = ID_WORLDS_WORLD5

Help not written yet for IDH_WORLDS_WORLD5.


Help topic: ID = ID_WORLDS_WORLD6

Help not written yet for IDH_WORLDS_WORLD6.


Help topic: ID = ID_WORLDS_WORLD7

Help not written yet for IDH_WORLDS_WORLD7.


Help topic: ID = ID_WORLDS_WORLD8

Help not written yet for IDH_WORLDS_WORLD8.


Help topic: ID = ID_WORLDS_WORLD9

Help not written yet for IDH_WORLDS_WORLD9.


Help topic: ID = ID_WORLDS_WORLD0

Help not written yet for IDH_WORLDS_WORLD0.


Test command

You can test how aliases, speed walking and command stacking will work without having to send something to the MUSH, by typing it into the "test command" dialog box.


Test trigger

You can test how triggers will work without having to wait for an event from the MUSH, by typing it into the "test trigger" dialog box.


Send file

You can send an entire file to the MUSH.

This should be a "text" file. It should consist of valid commands for your MUSH. No further processing (such as expanding speed walking, or evaluating aliases) is carried out on the file. You are not given a chance to stop sending the file in the middle, so be careful not to send a file which is too long, or which contains incorrect command sequences.

This is useful for entering objects which have previously been "decompiled" on this, or another MUSH/MUD. It is probably also useful for programming-style MUDs (such as LP muds) which require careful entry of length object programs.

In order to assist with sending a "program" or other complex item, you can configure the "send file" to send a preamble and postamble, before and after each file, and each line. See the Send file configuration screen.

Shortcuts

Keys:	SHIFT+CTRL+F


Game features

Worlds

- Multiple worlds can be open at once

- You can automatically connect to a world (name and password)

- You can have multiple windows open per world

- Context-sensitive help is always available to explain how to use configuration screens, and other features.

- Details for an entire world, or just one of triggers/macros/aliases/colours/strings can be saved for re-use later.

Output window

- Holds up to 100,000 previous lines in memory

- Fast scrolling back and forwards using keyboard or mouse

- Copy from output window for pasting into command window or elsewhere

- Can be frozen to review messages without them scrolling out of view

- Supports user-chosen font

- Supports user-chosen palette of colours

- Recognises ANSI colours, hilight, inverse

- Automatic line wrapping at end of line so words are not chopped into two

- Pages, whispers and mail notification messages can be displayed in a different colour to make them stand out

Command (input) window

- Can be resized so lengthy commands can be entered

- Supports copy/cut/paste, arrow keys, home and end keys, and the mouse

- Last 5,000 commands entered are saved for recall and editing

- Previous commands can be viewed in a "command history" window for easy selection

- Commands can optionally be echoed in the output window

Logging

- Each world can log its output and (optionally) commands input

- Logging can be filtered to remove pages, whispers etc.

- The exact strings that define recognising a page, whisper etc. can be customised by the user to adjust them for different MUSHes.

Macros (function keys)

- Up to 30 different keys can be used for single-keystroke entry of commands (F2 to F12, Ctrl+F2 to Ctrl+F12 and so on)

- Common actions (north, south, up, down, take, drop etc.) are bound to easily remembered keys ("take" is Ctrl+T, "say" is Ctrl+S etc.)

Triggers

- Any number of "triggers" can be entered, per world. Triggers are used to match on output from the MUSH, and then automatically perform a function (for example, page someone when they connect)

- Triggers can include wildcards (e.g. " * says * ") to match on variable text. The text matched on in the wildcard can be used in the response to the trigger.

- Lines which activate a trigger can be displayed in a different colour, so you can use triggers to highlight certain types of game output.

- Lines which activate a trigger can also optionally play a sound file (a WAV file) so that you can use triggers to play sounds to alert you to certain events.

- Triggers can be used to omit certain types of displays from the log file (if one is open)

Aliases

- Any number of "aliases" can be entered, per world. Aliases are a shorthand way of entering commands, for example: CLW could send "cure light wounds".

- Aliases can match the start of a command, anywhere in the command, or exactly the command. For example, if you set up an alias of "c" to mean "cure light wounds" and make it match exactly, then it will not clash with "close".

Speed walking

- You can optionally use speed walking to move quickly from one location to another.

Command stacking

- You can optionally use command stacking to enter more than one command per line.

Status line

- Status line shows name of active MUSH, when input was last received, number of lines received and other useful things.

Activity window

- You can open an "activity" window which is useful when connected to multiple MUSHes. It shows if there is activity (output from) a MUSH which is not the current (frontmost) window. A single keystroke then switches to that window.

Numeric keypad

- You can use the numeric keypad for movement in the MUSH (press 8 to go north, 2 to go south, 4 to go west, 6 to go east, and so on). The actual commands that are sent for each keystroke are customisable.


Edit World Details
World Configuration

You can edit various aspects of the way MUSHclient handles your interaction with the current world. Click on the appropriate "tab" to bring its configuration screen to the front.  Note that you can use CTRL+TAB to switch between the various tabs (configuration screens) quickly.

Configuration tabs

General	(MUSH name, TCP/IP address, port, character name and password)
Screen	(line wrapping, font, special colour highlighting etc.)
Colours	(colour palettes)
Logging	(options for logging game session to disk)
Strings	(how the game recognises game output, such as pages and whispers)
Macros	(function keys, and inbuilt-menu commands)
Aliases	(add/change/delete aliases here)
Triggers	(add/change/delete triggers here)
Commands	(speed walking, command stacking, echoing input)
Send	(options for sending a file to the MUSH)
Notes	(free-format notes about this world)
Keypad	(configuration for the numeric keypad)
Shortcuts

CTRL+G

(This is about the only shortcut key that does not have a mnemonic significance, however think of the letter "G" as in Game).


Recent changes

Changes in version 2.13

1. When opening a log file, you can now choose from "all files" as well as "text files"

2. Retrospective logging now respects "log my input" configuration setting

3. If a world name had certain characters in it, you couldn't save it. This has been fixed.

4. No window visible after starting MUSHclient, if the first time run on this PC. This has been fixed.

Changes in version 2.12

1. Click on world activity buttons now works whether or not there is new activity

2. Configuration screens now available from menu

3. Text in output window can be moved from side of window slightly

4. MUD list - program gives URL of MUD lists

5. Printing selection now prints last line

6. Printing selection now prints partial line

7. Program now remembers maximised state

8. Speed walk can now insert extra command (such as LOOK) to stop being disconnected by the server

9. Speed walking now allows for exceeding 9 steps in any one direction (up to 99)

Changes in version 2.11

1. When sending a file to a world, you can now choose from .txt files or "all" files.

2. If the connection to a world is broken for some reason, the world status now correctly updates to "closed".

3. Fixed a problem where sending or pasting large amounts of text to a MUD would cause the connection to be closed.

4. Added a menu item under the View menu to reset toolbar positions. This is for users who have moved them out of sight.

5. Fixed a problem where you could attempt to reconnect to a world that was already in the process of connecting.

6. Fixed a problem where if a world could not be connected to once (because the connection was aborted before the world name was converted to a TCP/IP address) then subequent attempts to connect failed with the error message "Cannot assign requested address".

7. Trying to select text if you have enabled the option "Show bold, italic, underline" did not correctly highlight in inverse the characters the mouse was moving over. This has been fixed.

Changes in version 2.10

1, Swapped the "East" and "West" buttons on the game button bar, as they look more logical the other way around.

2. Removed frequent checks in the registry for the registered user name. This may speed up execution on systems with a small cache.

3. Changed registration fee for checks and money orders from $US 10 to $US 20 to reflect the $AUD 10 fee that banks charge for processing them. (Cash and credit card registrations are still $US 10).

4. Added option to show bold, underlined and blinking output as bold, underlind and italic font in output window.

5. Added a "Do" button to the command history dialog box. This allows you to do (execute) a previously entered command without closing the dialog box, or losing whatever typing you may have in the input window.

6. Changed the about box so that the email address and web address of Gammon Software Solutions are hyperlinks (just click on them to be taken to the appropriate location).

7. Added a vertical scroll bar to the command (input) window, to make entering lengthy commands easier.

8. If the connection to a world is not open, attempting to send something to that world will bring up a dialog box asking if you want to connect. In other words, if the your MUD server has crashed, just keep hitting <enter> until the MUD is back up again.9. Removed the rather useless message "Log file xxx closed." when you close a log file.

10. Put an equivalent registration fee in Australian Dollars ($AUD 15) for Australian residents.

11. Implemented an Alt+Up-Arrow and Alt+Down-Arrow for searching in the command history for a partially-typed command. eg. Type "say" and press Alt+Up-Arrow, and the most recent command starting with "say" will be recalled. Pressing the Alt+arrow key again will recall the next most recent, and so on.

12. If "auto-say" is active, and you click on a direction arrow (on the button bar), OR use one of the built-in commands (eg. Shift+Ctrl+W for West, or Shift+Ctrl+Q for QUIT), OR use the numeric keypad to navigate around, then the command is sent properly, not said. In previous versions if you had "auto-say" active and pressed the numeric-keypad up-arrow, then the program sent "say north", which was hardly intuitive.

13. Sometimes if you disabled the option "arrow keys traverse history" it would in fact be enabled when you first started MUSHclient. This means that using an arrow key (without pressing Alt as well) would unexpectedly cycle through the command history buffer, possibly clearing what you had typed without warning. This has been fixed.

14. The "world configuration" dialog box has been split up into 6 different dialog boxes - the tabbed configuration screen with 21 tabs was a bit confusing, to say the least! :) The new world configuration arrangement groups logically similar functions into their own smaller tabbed dialog boxes (eg. font and colours, aliases and triggers, and so on).

Changes in version 2.05

1. Fixed a bug introduced in 2.04 where retrospective logging didn't work at all.

2. Moved the "connect/disconnect" button from the "main" toolbar to the "world" toolbar. If screen space is short you are more likely to want to keep the "world" toolbar open.

3. Fixed spelling mistake where ANSI was erroneously called ANSII.

4. New option - "go to URL". If you highlight a URL in the output area (eg. www.gammon.com.au) and select "Go to URL" from the Display menu (or right-mouse click) then that URL is sent to your web browser.

5. New option - "send mail to". If you highlight an email address in the output area (eg. nick@gammon.com.au) and select "Send mail to" from the Display menu (or right-mouse click) then that email address is sent to your email program.

Changes in version 2.04

1. Command history window now shows the full text of the command (as you select each one) rather than just a single line. You can also select parts of a previous command from the history window.

2. References to the author's email address changed to reflect new address.

3. Added an option "Escape deletes input" - this allows you to use the "Esc" key to quickly delete whatever you have typed into the command window.

4. Added an option "Arrow keys traverse history" - this allows you to use the "arrow keys" (up and down arrow) to recall previous commands without having to hold down Alt as well.

5. Added a link to the Gammon Software Solutions web page to the Help menu.

6. Fixed a problem where clearing the "scripting" check box on the scripting page would cause a program crash.

7. Added a check for exceeding the size of the output buffer under Windows 95.

8. Added a button to allow you to edit your script file in the scripting configuration screen.

9. Added a button to allow you to choose which editor to use for editing your script file.

10. Fixed a bug where you could supply the century in credit card expiry dates, but they weren't included in the encrypted data.

11. Fixed a bug where if you didn't supply a postal address during the registration process, rubbish appeared as your postal address.

12. Added an option to the "About" box so you could send email to the author, or go to the Gammon Software Solutions web page, by clicking a button.

13. Added an option to the "logging" configuration screen, so you can add your own "preamble" to a log file (eg. a copyright notice)

14. Removed the limit of 1,000 lines when doing retrospective logging.

15. Retrospective logging now respects the state of the various logging flags (omitting pages etc.)

16. Added shortcut key (Shift+Ctrl+V) for "Paste to world" for quicker pasting

17. Made the "confirm paste preamble" an option (for quicker pasting to world)

18. Added a menu item "Repeat last command" (with shortcut key Ctrl+R). This allows you to quickly send your previous command. Useful for MUDs when in combat.

19. When doing a "paste to world" the focus for the preamble confirmation screen is now on the OK button, so you can just press <enter> to confirm it.

20. Fixed a problem where the "activity button bar" would not be updated correctly unless the "activity window" was also open.

21. During the registration process you can now "back out" of entering a credit card number without having to cancel the dialog box.

Changes in version 2.03

1.The default ANSI colours are changed slightly, so that black and bold black look different, and normal white is lighter.

2.Added a "Connect/Disconnect" button on the main toolbar - if the button is "pushed" the world is connected or connecting.

3.Fixed the "activity" toolbar so that it works even if you don't have the activity window open.

4.Fixed problem with suggested log file name having the "\" removed from it, so that the log file directory and world name were concatenated together.

5.Added "Find again forwards" and "Find again backwards" buttons to the game toolbar.

Changes in version 2.02

Activity toolbar

1.Major change - new toolbar - Activity toolbar - shows activity on windows by showing window number in red. Also current window has the button depressed.

•This toolbar shows activity on the first 10 open worlds (you can have more than 10 worlds open, but only the first 10 show on the toolbar).

•Any world with new activity has its number in red. In the example, worlds 1 and 4 have new activity.

•The current world shows as a "pushed" button. In the example, world 2 is the active world.

•The toolbar can be "docked" (ie. tied to the top, bottom, left or right-hand sides of the screen), or "floating" (ie. anywhere on the screen you like). It can be resized to be vertical, horizontal or a square shape.

•You can switch to any world by pressing Ctrl+n where "n" is the number (eg. Ctrl+2 switches to world 2). You can also click on any red button to go to that world.

Other changes

2.When logging, invalid characters are removed from suggested file name

3.Bug re timer scripts not always working properly fixed.

4.After doing a copy, the focus automatically moves to the command window.

5."Reconnect on link failure" in global preferences renamed to "Reconnect on disconnect"

6.Erroneous error message re duplicate aliases fixed

7.Can now load trigger alias files created by earlier versions of MUSHclient.

8.If you closed a session the status line would show "closed" - this was not updated when you switched worlds. This is now fixed.

9.Main program window now also shows the name of the current world - this is useful when the program is minimised so you can see the world name on the Window 95/NT program bar.

10."Connected" duration on status bar (and activity window) no longer ticks over on a world that has been closed.

11.Logging of your input now respects "log my input" option, regardless of whether or not you are echoing your input.

12.Retrospective logging also respects "log my input" and "log notes" option. Previously retrospective logging logged everything.

13.You can now choose whether or not to log notes (from a script)

14.If unable to connect to a world, program now shows an error reason.

15.Fixed a problem where you could not select the last character of a line in the output buffer by dragging the mouse.

16.You can now add, delete, enable, get, and get a list of, aliases from within a script subroutine.

17.Holding down either SHIFT key as you start MUSHclient bypasses the automatic open of worlds specified in your "auto-open-world" preferences.

18.Removed "auto-open-log-file" option from preferences (it is not implemented yet).

19.MUSHCLIENT.TLB file supplied - this file will be of interest to VB programmers.

20.Example script file supplied - includes example of "teleport by name" described in scripting information web page.

Changes in version 2.01

1.Changed the keyboard accelerator for "pause output" from Shift+Space (which many people were typing accidentally) to Ctrl+Space.

Changes in version 2.00

World management

* Connections are now "asynchronous". This means that MUSHclient no longer "hangs" while awaiting connection to a world.

* You can connect to multiple worlds, and then wait for each connection to complete, or time-out, as the case may be.

* You can specify one or more worlds to be automatically connected to as MUSHclient starts executing.

* You can disconnect a session without closing the world.

* You can abort an attempt to connect to a world, without waiting for it to time-out.

* You can reconnect a session without having to close and re-open the world.

* You can open a world without necessarily connecting.

* When creating a new world, you can use an existing world's settings as defaults (colours, triggers, aliases and so on).

* The position on the screen of each world window is remembered and restored next time you use the program (including the size of the command area).

* The status line shows the duration that you have been connected to the current world. •You can optionally close a world without being asked to confirm the close.

* The program now correctly handles Telnet negotiation sequences, thus allowing you to connect to a host that requires the Telnet protocol.

* More buttons are on the "toolbar" at the top of the screen. Toolbars are now resizable. The "game" buttons are on a separate toolbar. The program remembers the toolbar positions and restores them next time.

* When saving a newly-created world, MUSHclient no longer truncates the suggested file name at the first space in the world name.

Output window

* The number of lines in the output window (the one which shows responses from your MU*) is now user-customisable, from 200 lines to 100,000 lines.

* The width of each line in the output window is now user-customisable from 20 to 500 characters.

* You can right-mouse click to bring up a context menu of useful commands.

* The buffer-handling of the saved lines in the output window has been re-written for high speed, even with thousands of lines of data.

* You can "paste to the world". This allows you to send text from the clipboard to the world directly (including a user-specified line preamble and postamble). For example, you could paste in an interesting quote, with "say " in front of each line.

* You can use a "find" command to search the output window for text you specify.

* You can save the "selection" to disk as a text file.

* Each line is time-stamped as it arrives, thus you can find when it arrived by just moving the mouse over it

Command window

* The number of lines of commands retained is now user-customisable from 20 to 5,000.

* You can specify a font, font colour and background colour for the command window independently of the output window.

* If you are about to accidently wipe out your typing (by using a function key) the program prompts you, so as to avoid losing your input.

* Function keys (and numeric keypad actions) which act immediately (eg. North) now save and restore whatever you were typing in the command area, so that they do not wipe out your typing.

* Auto Say - This option allows you to automatically "say" everything you type, without having to prefix each line with "say". The auto-say prefix is customisable, so you could use it to "auto-page" for example. There are various ways of excluding lines from being auto-said, if desired. Auto-say can be turned on or off from the button bar.

* You can use the "find" command to find a particular line in the command history window.

Activity window

* The activity window has been completely re-written to make it much more friendly and useable.

* It can be resized and repositioned. The program remembers the position of the activity window and restores it to that position next time.

* It can be opened automatically at program startup.

* It shows: World name, count of recently received lines, total lines received, world status (open, closed, connecting), time world connected, and duration world open.

* Worlds always appear on the activity window list, so that the same world is always the same number (and thus you can always use Ctrl+1 to switch to world 1, Ctrl+2 to switch to world 2, and so on).

Configuration

* There are now 21 separate configuration pages for configuring each world.

* Colour configuration has been greatly enhanced by the use of "colour swatches" which show at a glance your entire colour scheme, thus allowing choosing of appropriate colour combinations.

* There is an option to use the default ANSI colours.

* All of the pages with lists on them (eg. triggers list) have a "find" option, to aid finding a particular trigger, alias (and so on). This is particularly useful for users who have extensive trigger or alias lists.

* An "info" page shows details about this world, including the amount of memory used by your output buffer.

Printing

* You can now print all or part of the output window. You can also print the "selection" (ie. to print a particular paragraph, select it with the mouse and then print the selection).

* You can apply printing styles to different colours, so that (for example) "bold red" will print in bold on the printer, but "normal yellow" will print in italic.

Log files

* You can specify a "log files directory". This allows you to log all game sessions to a different directory than the default directory, without having to navigate your way through lots of folders each time.

* You can optionally append to an existing log file.

* You can optionally write a "log file preamble" which consists of the world name, date and time, to the start of each log session.

Searching

* A "find" capability has been added to many aspects of the program, to simplify managing lengthy game sessions.

* You can find lines in the output window

* You can find input in the command history window

* You can find aliases, triggers, timers, and more.

Timers

* Timers provide periodic events to MUSHclient.

* You can specify any number of timers, per world.

* Timers can fire at either: a specified time (eg. 9:30 pm) or an interval (eg. every 10 minutes)

* Timers can send text to the world (eg. "Conan the warrior looks around vaguely") or invoke a script subroutine (or both)

Triggers

* Omit from output (to cause a trigger to discard annoying game input)

* Keep evaluating (so a trigger match doesn't stop evaluation of other triggers). eg. "* pages you", "Tom pages you" could be 2 separate triggers which both have an effect (one might cause a different colour, the other might trigger a response)

* Copy wildcard to clipboard. eg. "* pages you" could copy whatever "*" matches onto the clipboard

* Labels (so triggers have names)

* Script event (so triggers cause a script subroutine to fire)

Aliases

* You can now have an "argument" to an alias. For example: You type: "attack dragon", and the alias substitution text reads: "stab & with sword; kick & with left foot; cast fire spell on &". In this case the "&" in the substitution text is replaced by the word "dragon", in each case.

* You can use the clipboard contents as the alias argument. This is useful in conjunction with matching on a wildcard with a trigger and copying the resulting wildcard text to the clipboard.

* Labels (so aliases have names)

* Script event (so aliases cause a script subroutine to fire)

Scripting

* Scripting capability has been added by using the VBscript or JavaScript languages supplied by Microsoft. You can optionally use either language as the script language, per world.

* Scripts can do more complex things than are normally possible, such as reacting in an intelligent way to events.

* To support scripts which remember things from one session to another, MUSHclient now has program "variables" which are stored in the game configuration file. The scripting language can set or retrieve these variables, so that you could (for example) build up a database of the types of monsters you encounter.

* Script subroutines can be invoked from: world open, world close, world connection, world disconnection, trigger match, timer event, and alias match.

* Script commands can also be typed from the command window, if prefixed by a user-specified character. eg. /world.close

* The script language has access to world details, so that from within a script you can: send to the world, find world status (open or closed), find the world name, set and retrieve variable contents, add triggers, timers and so on.

Changes in version 1.04

1. Fixed a problem where you could not turn logging on when running under Win32s (Windows 3.1).

2. Fixed similar problems with loading and saving custom colours, triggers etc. under Win32s.

3. When connecting to a MUSH (or MUD!) a "connecting" dialog box will now appear. This will stop the program from appearing to "hang" when making a connection that takes a long time (or never completes). Note that if you connect very quickly, then the "connecting" dialog box may just flicker briefly on the screen, and not be easy to read.

4. Fixed a problem where pages and other output which should have been coloured, were not.

5. Fixed a problem (I think) where some output was omitted from the screen, and only appeared after the user forced a screen refresh (eg. by paging up and back again).

6. Fixed a problem where if you closed MUSHclient while it was minimized, then it would incorrectly remember the screen location (and thus open up a tiny little window next time you ran the program).

7. Changed the colour specification configuration options to allow the colour "no change" to be used with triggers, user input, pages and so on. This is so that you can specify that MUSHclient is to use the existing colour that is being displayed, rather than overriding with another colour. This is in response to various users who have reported that their pages are not being shown in the ANSI colours that they expect.

8. Added an option to have a "new activity" sound (accessible from the "Screen" configuration dialog box), so that the program will play a nominated sound when output arrives from a MUSH that is not the frontmost window. This sound is specified on a per-world basis, so you can have a different sound play for each different world, when new output arrives for it.

9. Modified the "sound play" routine so that if you do not have a sound card, the PC should play a "beep" instead. If you do not have a sound card, and want triggers or new activity to beep, then select any "wave" file from the Windows directory (eg. DING.WAV). Then when MUSHclient finds it cannot play the "wave" file it will beep instead.

10. Added an option to not indent subsequent lines of a paragraph in MUSH output, for the benefit of those users who don't like their paragraphs indented by one space.

Changes in version 1.03

1. Fixed the handling of selecting text in the output window, when using a proportionally-spaced font. Previous versions would not have selected text accurately if a proportionally-spaced font was chosen.

2. Improved the selecting of characters in the output window, when clicking with the mouse. Previously you had to click at the very left of a character to start a selection. Now you can click up to about half-way through the letter and still select it.

3. Added the capability to extend a selection in the output window by shift-clicking.

Changes in version 1.02

1. Changed the way that the MUSH output is displayed, so that it should work correctly even if you choose a proportionally-spaced font. The previous versions showed text overlapping other text in some circumstances.

2. Because of the above correction, the restriction on only using fixed-space fonts has been removed. Any "screen" font can now be used for your MUSH window. You will probably get best results from a fixed-space font (such as Courier, FixedSys or Lucida Console) however that is personal preference.

Changes in version 1.01

1. Fixed mouse "pointer" so that when it is over the scroll bars it shows as an arrow, not an I-beam cursor.

2. Fixed a problem where under certain circumstances the program would crash with a "divide by zero" error.

Changes in version 1.0

1. First "non-test" release.

2. Added extra notes in README file about hardware requirements for installing Win32s.

3. Current world name now appears in title of configuration screen when doing "World Configuration".

4. Improved indexing in help file (help "index" should now show more index words)

5. Help files updated a bit

6. Triggers now have an option to "omit from log file". If set, and a particular trigger is matched, then the line that matched the trigger is not logged to the log file (if one is open).

7. Code for adding triggers and aliases was tightened up somewhat to disallow duplicates.

8. The list of triggers now shows what sound has been selected.

9. Various minor bug fixes and user-interface improvements.

10. Various memory leaks corrected.

11. Loading triggers and aliases now checks for duplicates, and reports a warning

12. Keypad movement implemented. You can now use the numeric keypad for moving north, south east and so on. The actual commands that are sent are customisable.

13. The "macro" function (function keys and "action" menu items) now have the option to "insert" into the command buffer, rather than replacing it. This means you can program a function key (eg. F10) to insert a lengthy word into whatever it is you are typing.

14. Actions "open", "close", "unlock" and "lock" added to speed walking.

15. You can now press "Esc" instead of "Tab" to return the focus to the command window.

16. A bug corrected where if you selected text with the mouse in the output window and held the mouse stationery above or below the output window, the text did not automatically scroll.

17. A "minimize program" menu action and keystroke (boss key) has been added.

18. A "minimize window" menu action and keystroke has been added (for minimizing low activity worlds).

19. If you select a minimized world from the "activity" window (eg. by pressing CTRL+1) the window is automatically restored to its original size.

20. If a world window has been minimized, and has activity, the number of new lines received since it was viewed is shown in brackets after the world name. (eg. DuneMush [22])

21. The MUSH name is now shown in the window title, not the name of the file that the world details was saved under (e.g. "Battlestar MUSH" not "Battlest.MCL").

Changes in version 0.73

1. Now recognise "bell" characters from the MUSH and play a beep sound (can be optionally disabled).

2. Can disable all trigger sounds with a single check box if desired.

3. Various help screens amended and reworded.

4. Fixed a bug which prevented loading and saving various files under Win32s.

5. A couple of minor bugs fixed.

6. Extra configuration screen added to configure the "send file" action.

7. Program now remembers main window position and restores it next time it is invoked

8. Added "notes" world configuration option, so you can keep free-format notes on a per-world basis

9. Fixed a bug where selecting text with the mouse (in the display, or "output" area) would sometimes cause the text to appear in the incorrect colour (or to disappear altogether!). Also, fixed the problem where selected text could not be copied to the clipboard.

10. Added a "welcome" dialog box which will be shown the first time the program is run at a particular PC.

Changes in version 0.72

1. Telnet codes are now recognised (they are ignored, but at least they don't clutter up the screen with weird characters!)

2. You can now optionally echo your own commands (input) in the output buffer. This is particularly useful if you are using macros, triggers, speed walking, command stacking, or aliases.

3. You can choose a colour palette for echoing your commands in (relevant to [2] above).

4. You can now colour chat messages (messages starting in '[' or '<') to make them stand out.

5. You can now send an entire file to the MUSH - this would be useful for sending objects that you have entered via an editor, or decompiled previously.

Changes in version 0.71

1. Built-in help added. "Help" buttons have been added to most dialog boxes.

2. Triggers now use a better method for matching on wildcards, support displaying text that matches triggers in a different colour, and can now play sounds when a trigger is matched.

3. Aliases can now match: start of line, anywhere, or exactly. See help for more details.

4. Fixed a bug where sometimes messages that should have been displayed in a different colour weren't.

5. You can now colour "GAME" messages.

6. You can now save and load: colours, strings, macros, aliases and triggers. This means that you can save a "set of triggers" from one world, and load them into another.

7. Logout and Quit have been added to the "Actions" menu, for making it easier to remember how to log out of MUSHes that have unusual commands to quit. (Let me see, is it QUIT, or quit, or @quit, or @QUIT?). Use the Macros configuration screen to enter the correct version of the command.

Changes in version 0.70

1. You can now enter triggers in the " World Configuration > Triggers" configuration screen.

2. You can now enter aliases in the " World Configuration > Aliases" configuration screen.

3. You can now enable "speed walking", which is a way of quickly moving from one location to another.

4. You can now enable "command stacking" which is a way of entering multiple commands on a single line.

5. Automatic connect text. You can now automatically send one or more lines of text to the MUSH immediately after connecting, e.g. WHO, or maybe the sequence needed to connect to your character.

6. Colours. I have reversed the way ANSI colour recognition works, from a default of black on white (which was incorrect, apparently) to a default of white on black.

7. The " World Configuration" configuration dialog now remembers which "tab" you were last using (e.g. colours) and then activates that tab next time you enter game configuration (Ctrl+G). This saves having to tab to the correct tab every time you make a minor change (e.g. testing a trigger).

8. Support for prompting MUDs.This version now has support for "prompting-style" MUDs (eg. LP MUDs, or Diku MUDs).


Send file options

When sending a file to a MUSH you have the option to prepend or append strings to your file (in other words, put text before and/or after each line, and the entire file).

Note that there will always be a "linefeed" sent at the end of each line, you do not need to send one yourself.

Programming a MUD

If you are writing a program for an LP MUD you might want to start with:

<commands to start up the internal editor>

Then at the start of each line:

<command to insert a line>

Then at the end of the file:

<command to exit from the editor>

Echoing messages

Alternatively, you may wish to echo a message to someone that you heard elsewhere (e.g. from email). In this case you might wish to put, at the start of each line:

say

so that you "say" the contents of the file.

1. Send this at the start of the file

This string is sent once, at the start of a "send file" operation. It could be used to enter programming mode on a MUD, if necessary. This string can consist of multiple lines, with "carriage returns" between each line.

2. Send this at the start of each line

This string is sent at the start of each line from the file. It could contain any special prefix that you need at the start of each line, for example, the word "say ".

3. Send this at the end of each line

This string is sent at the end of each line from the file.

4. Send this at the end of the file

This string is sent once, at the end of a "send file" operation. It could be used to exit from programming mode on a MUD, if necessary. This string can consist of multiple lines, with "carriage returns" between each line.

Defaults

The defaults are: all entries blank. Do not change them unless you have a reason to do so.


Notes

This screen provides you with "free format" notes, on a per-world basis.

It does not have an other special significance for the program, it is there for you to make any notes you may care to make about the current world.

Suggested uses are:

* Notes about interesting/friendly characters you meet

* Directions for how to get from Place A to Place B

* Work area for keying in long MUSH commands, which can then be copied and pasted into the command input area when ready

* Notes about what you are planning to do next time you connect, or what equipment you need to find

* Copy interesting conversations from the MUSH and paste them here for future reference

Load

You can load any "text" file into this area by clicking on the "load" button. Note that the file may not exceed 32000 bytes.

Save

You can save the "notes" area as a text file by clicking on the "save" button.


Welcome

This is the "welcome" screen.

It only appears the first time you run MUSHclient on a particular PC.

Once you have clicked "OK" you can connect to a MUSH (or MUD, or whatever) by selecting "New World" from the File menu.

Suggestions

I hope you enjoy using this program. Any suggestions for improvements are welcome and should be sent to me by mail or email.

Email

My address can be found by selecting "About MUSHclient" under the Help menu.

Have fun!

- Nick Gammon


MUSH: Multi User Shared Hallucination.

MUSHes are a class of MUD (Multi User Dungeon, Multi User Dimension, or Multi User Daemon) games. Other varieties are known as MOO, MUCK, DikuMUD, LP MUD and so on.

These games generally share the characteristics of being:

* Multi User (more than one human player can conenct at once)

* Interactive (players can talk to each other)

* Extensible (players can add to the "world" they are in)

* Text based (you see textual descriptions of the world, not pictures)

* Adventure games, generally to some sort of theme


Command

The word "command" is intended to describe something you type in, which is transmitted to the MUSH (for example, "go north").

Commands can be anything sent from MUSHclient to the MUSH server (the game that you have connected to).

In MUSHclient, commands are entered in the lower "command" sub-window (the part below the splitter bar).

Output

Conversely, the word "output" is used to describe text that is sent from the MUSH server to you (for example, a description of the current room you are in).

In MUSHclient, output from the MUSH appears in the upper "output" sub-window (the part above the splitter bar).


Numeric keypad configuration
Keypad

This configuration screen allows you to customise what is sent to the MUSH when you press one of the numeric keypad keys (on the right-hand side of the keyboard).

Numlock - Important!

The keypad keys (0, 1 to 9 and ".") are only sent if "numlock" is active (press the "NumLock" key if it isn't).

If numlock is not active, then the keypad keys function as cursor movement keys (for editing command text).

Your typing is preserved

If you use the numeric keypad whilst typing in a command in the command window, the command is not replaced by the keypad command. In other words, you can use the numeric keypad to walk around the world, whilst typing in a message in the command window.

String to send

The intention of using the numeric keypad is to quickly move north, south, east, west, up, down and so on with a single, easily remembered keypress.

The keys are laid out "geographically" like this:

    N

    |

  W---E

    |

    S

(and so on)

which correspond to the numbers on the keypad:

    8

    |

  4---6

    |

    2

You can use this configuration screen to alter the actual strings that are sent.

Enable

You can also enable or disable the keypad.


Minimize program (boss key)
Minimize program

This is provided to allow you to minimize MUSHclient with a single keystroke (Ctrl+M).

This is intended to allow you to easily and quickly minimize the program in case mail arrives, the boss/wife/husband walks past, or something similar happens.

This is colloquially known as the "boss key".

Shortcuts

Keys:	CTRL+M


Minimize world window

This is provided to allow you to minimize a particular world window with a single keystroke (Shift+Ctrl+M).

This is intended to allow you to easily and quickly minimize the window of a low-activity game, in order to "get it out of the way".

If there is activity in the minimized world (ie. something arrives from the MUSH) then a count of "new" lines will appear in brackets after the world name, like this:

DuneMUSH [42]

This indicates in this example, that there are 42 lines that you haven't viewed yet.

How to quickly restore the window

There are three methods for quickly restoring the minimized window:

1. Double-click on the minimized world icon.

2. Select the minimized world from the "activity" window (eg. by pressing CTRL+1)

3. Highlight the minimized window (pressing CTRL+TAB should do this eventually) and then press SHIFT+CTRL+M again.

Shortcuts

Keys:	SHIFT+CTRL+M


Connecting

Character name

You may optionally enter your character's name and password, and check the "connect to the above character" checkbox., to save you the trouble of connecting manually.

If this is the first time that you have played the MUSH, and do not yet have a character, or use multiple character names, then leave these entries blank.

Character password

Specify the password for your character here.

If you fill in the character name, but leave the password blank, and check the "connect" checkbox, then you will be prompted for the password at connect time. This is in case you share your PC with other people, and don't want them connecting to a MUSH in your name.

Whether to connect to that character automatically

If this is checked then you will be automatically connected to your character (as specified by the name and password), after the connection to the MUSH is established. Leave unchecked if you want to connect manually (after doing a WHO, for example).

Connection is made by sending:

connect <name> <password>

to that MUSH,

Text to be sent to the MUSH automatically after connecting

You can enter one or more lines of any text here. They will be sent to the MUSH after connecting to it, and after connecting to your character, if specified above. Even if you do not connect to a character automatically this text is sent, so it could be used to connect to characters in a different way (for example, for a prompting-style MUD, or for a wizard doing a "dark" connect).

As an example, you could enter:

WHO

say Hi there everyone!


Output

The options below control various display characteristics:

Enable beeps

If enabled, incoming "bell" characters sound a beep on your PC's speaker. If you wish to operate the program quietly, uncheck this option.

Indent subsequent lines of paragraphs

When this is checked, when output from the MUSH is wrapped at column 80, the subsequent lines of paragraphs are indented by a single space, to make it easier to recognised new paragraphs. If you do not wish this to happen, uncheck this option.

Font

Click on this button to change the font that is used in the display (output) and command (input) windows. Note that monospaced fonts generally look better when viewing world output, as most MUSH output is designed for older-style "teletype" output.

Number of lines in output buffer

You can choose how many lines are retained in the output buffer (per world) by entering a number in the range 200 to 100,000 (lines). The larger the number the more recent output is retained, but if you do not have a lot of memory in your PC you should probably not select more than a couple of thousand lines. Generally speaking, a minimally configured PC would be 12 Mb for Windows 95, or 16 Mb for Windows NT. For either operating system, if you have 32 Mb or more of memory, you can probably afford to have 10,000 or more lines of output buffer.

Note that MUSHclient has been optimised for high speed operation, even with thousands of lines of data in the output buffer.

Wrap output at column "xxx"

When this is checked, output from the MUSH is wrapped at the nominated column in such a way that words are not broken into two (the line is wrapped at the previous space). You can choose to wrap at a column between 20 and 500.

If you are using a small font (or have a large screen) you may wish to wrap output at more than column 80. If you like using a large font, or have a small screen (or both) you may prefer to wrap output at a smaller column size (say, 40).

Show line information

When this is checked, if you move the mouse over any line in the output area for about a second, a "tooltip" window will pop up and show the line number (since the start of the session), the date/time it was received, and the word "(input)" if you typed the line yourself, or "(note)" if the line was generated by the "note" command in a script. The "tooltip" window will automatically disappear after about 5 seconds, or if you move the mouse, or if the window is scrolled.

Start paused

If this is checked, this world will start "paused" next time you connect to it.


Timers

Timers are used to trigger periodic events. There are two types of timers:

1. Timers that fire at a certain time of day (eg. At 9:30 am every day)

2. Timers that fire at certain intervals (eg. Every 10 minutes)

In addition, timers can be marked as "only fire once" in which case once they have fired they are removed from the timers list automatically.

You can have any number of timers, per world.

Granularity of timers

Note that the "granularity" of the timers is controlled by the "timers" tab in the "Preferences" menu item under the File menu.

What this means is that the interval set there (eg. 5 seconds) is the rate at which timers are tested to see if they have fired. If you want timers to be accurate to the nearest second, then the timer granularity must be set at 1 second. If having a timer fire to the nearest 5 seconds is satisfactory for you, then set the granularity to 5 seconds. Setting a smaller granularity improves the accuracy of timers, but may slow the program down slightly, particularly on slower PCs.

Adding a timer

Click "New" to add a timer, you will be taken to the "Edit Timer" screen.

Amending a timer

Highlight the timer you want to amend by clicking on its name (in the left-most column), and then click "Edit" to amend it, you will then be taken to the "Edit Timer" screen.

Deleting a timer

Highlight the timer you want to delete by clicking on its name (in the left-most column), and then click "Remove" to remove it.

Saving timers

You can save your list of timers by clicking on "save" and then specifying a file name. All timers will be saved into a file, which can then be loaded into a different world if desired.

Loading timers

You can load a new list of timers by clicking on "load" and then specifying a file name. The aliases from the nominated file will be loaded into this world. You will be given the option of adding the timers to your existing ones (if you have any existing ones), or to replace your existing ones if desired.

Sorting the list of timers

You can sort the list of timers by clicking on any of the column headings. The list will be sorted into ascending alphabetical order corresponding to the contents of that column. If you click on a particular column a second time it will then be sorted into descending order.

Find

To quickly find a particular timer, click on "find" and type in some text. If the "timer type", "when" or "contents" fields contain that text then it will be highlighted.

Find Next

Click on this to find the next occurrence of text previously typed into the "Find" dialog box.

Reset all timers

Click on this button to reset all periodic timers to count down from "now".


Edit timer

Timers are used to trigger periodic events. There are two types of timers:

1. Timers that fire at a certain time of day (eg. At 9:30 am every day)

2. Timers that fire at certain intervals (eg. Every 10 minutes)

In addition, timers can be marked as "only fire once" in which case once they have fired they are remove from the timers list automatically.

You can have any number of timers, per world.

Every interval

Click on this to mark a timer as "periodic". You can then select the interval by typing in the number of hours, minutes and seconds between timer activation. You can also use the little arrows next to each entry box, or use the up and down arrows on your keyboard to increment or decrement the counts.

Offset

The offset is used to make a timer fire a fixed amount before its interval elapses. This is useful to "stagger" timed events. For example, if you wanted to have your character:

pose looks around vaguely

every 2 minutes, and

pose scratches his head

every 2 minutes (but in-between the other "pose") then you would set both timers to go off at 2 minute intervals, but have one of them have a 1 minute offset. If you didn’t do that then both timers would go off every 2 minutes, displaying both messages in quick succession.

At the time

Click on this to have a timer fire at a particular time of the day (using a 24-hour clock). This sort of timer will then fire at that time, every day.

Only fire once

If this is checked then once the timer has fired it will be automatically removed from the timer list. This is useful for a "once-off" timer.

Send

What you type in here is sent to the world when the timer fires. You can type multiple lines of text if you wish.

Label

You can optionally give your timers a name. This is particularly useful for controlling timers from scripts, as a script must refer to a timer by name. Names must be unique, ie. you cannot give the same name to more than one timer.

Script

If you put the name of a script subroutine here, then it will be called when the timer fires. The script subroutine will be called with a single argument, the timer name. In order to specify a script subroutine name you must give the timer a label. The "script" box will be dimmed if you do not have a label. Here is an example of a timer script subroutine:

sub on_hourly_timer (thename)

  world.note "My hourly timer has just fired!"

end sub

Enabled

If this is checked then the timer is enabled. If not, then it is inactive. Scripts can enable and disable timers.


Paste

When pasting from the clipboard to the MUSH you have the option to prepend or append strings to your pasted data (in other words, put text before and/or after each line, and the entire clipboard).

Note that there will always be a "linefeed" sent at the end of each line, you do not need to send one yourself.

Programming a MUD

If you are writing a program for an LP MUD you might want to start with:

<commands to start up the internal editor>

Then at the start of each line:

<command to insert a line>

Then at the end of the clipboard:

<command to exit from the editor>

Echoing messages

Alternatively, you may wish to echo a message to someone that you heard elsewhere (e.g. from email). In this case you might wish to put, at the start of each line:

say

so that you "say" the contents of the clipboard.

1. Send this at the start of a "paste to world"

This string is sent once, at the start of a "paste to world" operation. It could be used to enter programming mode on a MUD, if necessary. This string can consist of multiple lines, with "carriage returns" between each line.

2. Send this at the start of each line

This string is sent at the start of each line from the clipboard. It could contain any special prefix that you need at the start of each line, for example, the word "say ".

3. Send this at the end of each line

This string is sent at the end of each line from the clipboard.

4. Send this at the end of a "paste to world"

This string is sent once, at the end of a "paste to world" operation. It could be used to exit from programming mode on a MUD, if necessary. This string can consist of multiple lines, with "carriage returns" between each line.

Defaults

The defaults are: all entries blank. Do not change them unless you have a reason to do so.


Info

This screen shows useful information about the current world.

The TCP/IP address is shown if a connection has been established. This may be of interest if you normally connect by name, and want to know the actual TCP/IP address that this name translated to.


Scripts

This screen is used to define parameters for scripting MUSHclient. Scripting allows you to create custom triggers, aliases and timers that react in ways limited only by your imagination.

Scripting Language

Choose between Vbscript (a cut-down version of Visual Basic) and JavaScript (a cut-down version of the Java language).

Enable script

This must be checked to enable the scripting engine.

Script filename

This is optional, however normally if you are using scripting you would specify a script filename. You would type this in using any editor capable of producing ordinary "text" files, for example, NotePad.

As a convention, a Vbscript file would have a suffix of ".VBS", and a JavaScript file a suffix of ".JS".

If you specify a script filename, and check "Enable script" then MUSHclient will attempt to process that file when you close the "world configuration" dialog box. If any errors are detected you will be notified. Note however that some errors (such as "type mismatch", or "wrong number of arguments") are only detected when individual script subroutines are executed, and thus will not appear at this stage.

Browse

Click on the "browse" button to locate a script file by using the file browsing dialog box.

Edit script

By clicking on this button, your script file is opened in your specified editor (the default editor is Notepad).

Choose editor

Click on this button to choose a different editor to edit your script files.

Note text colour

In the script language you can make "notes" which appear in the output window. You can choose which colour you want the notes to appear in. To make a note, you would say something like:

world.note "Here is a note"

in your script. The colour is chosen from the "bold" palette. You can see what the colour will look like, as it will appear in the "colour swatch" next to the list of colours.

Note background colour

You can choose the background colour for any "notes". These are chosen from the "normal" palette. You can see what the colour will look like, as it will appear in the "colour swatch" next to the list of colours

Events

The nominated subroutines (if any) are automatically called at the specified times. For example, you could use "world connect" to do special processing once you connect to this world.

Register DLL

If you have just downloaded the VBSCRIPT.DLL or JSCRIPT.DLL from the Internet you may need to "register" them with Windows before they will be processed. Make sure the DLL is in your "path" (for example, by placing them in your Windows System directory) and then click on the "Register DLL" button.

You should see a message "Successfully registered XXX.dll" where "XXX" is one of the two DLL names mentioned above. If not, you probably do not have a copy of the appropriate DLL, and should download it from:

http://www.microsoft.com/vbscript

Script prefix

You can enter one or more characters here which will act as a "script language" prefix. The default is the "/" character. If you type the "script prefix" in the command window, then the rest of the line is sent to the script engine. For example:

/world.close

would close the current world.


Variables

Variables are intended for use by script subroutines. They provide a means of remembering data from one execution of MUSHclient to the next. You can have any number of variables (although we suggest keeping the number to less than 1,000 for efficiency reasons when viewing them in this dialog box).

Variables have a "name" and "contents".

The name can be any length, but must start with a letter (ie. A-Z) and consist of letters, numbers or the underscore ("_") character. The name is mandatory.

The contents can be any text of any length.

Creating or changing a variable in a script

To create a variable in the script language, use:

World.SetVariable name, contents

For example:

World.SetVariable "Current_location", "Inside the outer tunnel"

Retrieving the contents of a variable in a script

To retrieve the contents of a variable, use:

my_variable = World.GetVariable (name)

For example:

Dim sCurrentLocation

sCurrentLocation = World.GetVariable ("Current_location")

If that variable does not exist, an "empty" variant will be returned.

If the variable name is invalid (eg. Blank or not following the rule for variable names) then a "null" variant will be returned.

Therefore to test to see if a variable exists you can do this:

Dim sMyVariable

sMyVariable = World.GetVariable ("Bank_balance")

if IsEmpty (sMyVariable) then

World.Note "I don’t have a bank balance!"

end if

Retrieving a list of all defined variables

To retrieve the names of all variables, use:

variable_list = World.GetVariableList

Here is an example that gets and displays all known variables:

Dim iCount

Dim sList

sList = World.GetVariableList

for iCount = lbound (sList) to ubound (sList)

  world.note sList(iCount) & " = " & World.GetVariable (sList(iCount))

next


Auto Say

Auto Say is a handy feature that lets you have lengthy conversations with another character (in the same room or another one) without having to type "say", "page", "whisper" or whatever each time you want to say something.

When auto-say is active (there is a button on the toolbar to activate/deactivate it, or you can type Shift+Ctrl+A to toggle auto-say on or off) then everything you type automatically has the "auto-say" prefix prepended to it.

For example, if you set the "auto-say" text to "say " (note the trailing space), then just type something in and "say " will be put in front of it.

You can set up certain exclusions to allow you to still move around and do other commands whilst auto-say is active.

Enable auto-say

If this is checked, auto-say is active.

Use:

SHIFT+CTRL+A

to toggle auto-say on or off whilst playing a game, or click on the "auto-say" button on the toolbar.

Exclude commands starting with special characters

If this is checked then only lines starting with a letter or number (ie. A-Z, 0-9) are "auto-said". This means you can type things like "@teleport" without having to disable auto-say.

Exclude macros

If this is checked, then any command under the "macros" tab which is marked as "send now" or "replace", which matches the start of a line, is not auto-said. For example, if you have "examine" as a macro, then typing: "examine fred" will not be auto-said.

Override prefix

You can type one or more characters here which, if they appear at the start of a line, disable auto-say for that line. For example, the default override prefix is "-", so if you typed:

-north

Then you would go north, not "say north".

Auto say text

Type here what you want to precede each "auto say" line. Remember to put in a trailing space, if that is what you want. For example, if you just had an auto-say text of "say", and then typed "hello", then "sayhello" would be sent to the world, probably causing an error. Therefore you should type in "say " (note the trailing space).

Suggested auto-say texts could be:

say

whisper person =

page person =

pose

+newbie


Printing

This screen is for configuring how you want output from the world to be printed. MUSHclient assumes you want to print in monochrome (ie. not colour), but would optionally like to make certain sorts of text (such as your own input) stand out.

To do this, choose a colour that you want to have printed in a different way (eg. Bold red) and then check the appropriate check boxes (eg. Bold italic).

Further printing options appear in the program preferences dialog box, see "Preferences" under the "File" menu.


Find

This dialog box is used to find text that you specify. The title of the dialog box shows what is being searched at present (eg. "Find in output buffer").

Find what

Type what you want to find here. The entry you make here is remembered for the next time you invoke the find dialog box.

Match case

If you want to match the "case" of the text check this box. Otherwise, for example, "DAGGER" and "dagger" are considered to be the same.

Direction

Click on "up" to search backwards.

Click on "down" to search forwards.

Find

Click on "find" to commence the searching operation.


Edit Variable

Name

Enter the name of this variable. If you are editing an existing variable the "name" box is dimmed because variables cannot be renamed. If you wish to change the name of a variable copy its contents, delete the old one, create a new one, and paste the contents back in.

Variable names must start with a letter (ie. A-Z), and consist of letters (A-Z), numbers (0-9) or the underscore character ("_").

Contents

Enter the contents of this variable. Variables may consist of as much text as you want.


Worlds

You can add or remove worlds to be automatically opened when MUSHclient starts up.

Add

To add a world click on "add" and then choose a "world" file (ie. a .MCL file).

Remove

To remove a world from the list, click on the world file name in the list (so it is highlighted) and then click "remove".


Connection

Auto connect to world on open

When checked, opening a world automatically connects to it. If you wish to open a world and check its setting without connecting, clear this option.

Reconnect on link failure

When checked, if a world drops the connection MUSHclient attempts to reconnect automatically.

If you have this option checked, and you quit from a world "manually" (ie. by typing QUIT) then MUSHclient will reconnect you immediately. To stop this happening, use "Quit" from the "Actions" menu (or type SHIFT+CTRL+Q). This stops MUSHclient reconnecting immediatley.

Open worlds maximized

When checked, worlds are opened maximized.


Closing

Confirm before closing world

When checked you are asked to confirm before closing a world.

Confirm before closing MUSHclient

When checked you are asked to confirm before closing MUSHclient.


Printing

Font

Click on this button to choose a font to be used in printing from your world.

Top margin

This sets the margin that printing starts from the top of the page.

Left margin

This sets the margin that printing starts from the left of the page.

Lines per page

This sets the number of lines printed per page.


Logging

Default log files directory

The directory specified here is where log files are written to (you can override this directory for an individual file if you wish).

Append to log files

Check this option to automatically append to an existing log file when opening it.


Timers

Timer interval

This field sets the interval in seconds that MUSHclient checks for timers to have fired. It is also the rate at which the "Activity" window is updated, and that the duration in the status bar is updated.

What this means is that the interval set there (eg. 5 seconds) is the rate at which timers are tested to see if they have fired. If you want timers to be accurate to the nearest second, then the timer granularity must be set at 1 second. If having a timer fire to the nearest 5 seconds is satisfactory for you, then set the granularity to 5 seconds. Setting a smaller granularity improves the accuracy of timers, but may slow the program down slightly, particularly on slower PCs.

Recommendation: Set the interval to 1 second, unless you have a slow PC (eg. a 33 Mhz 386) and have lots of timers. In that case a larger interval (eg. 10 seconds) will probably improve performance.


Activity

Open activity window at startup

When checked, the "activity" window is automatically opened when the program starts.

Update activity window…

You can choose whether to update the activity window periodically (eg. Every 30 seconds) or when new activity happens.

On new activity

Updating on new activity will give the most up-to-date information, except that you might find the window "flickering" annoyingly. However on a low-activity world, the duration of the connection will only be updated when there is new activity, which might make the duration column become out-of-date.

Periodically

Updating periodically will reduce flicker by only updating at the nominated interval (eg. Every 30 seconds).

Both

Select this if you don't mind a bit of flicker in the activity window, and want the most up-to-date information to appear in it.


Introduction to scripting

Scripting allows you to have a great deal of control over MUSHclient and how it reacts to worlds it is connected to.

With scripts you can:

* React to triggers in a complex way

* Write your own command processors to handle your own input

* Respond to timed events

* Do special processing at world open, close, connect and disconnect

Example

A simple example will show the general flavour of scripting. Say you wanted to make a command "greet" which said "hi there" 10 times. This is a way of doing it in a script.

Sub Greet

Dim iCounter

for iCounter = 1 to 10

  world.send "Say Hi there"

next

end sub

You would place this subroutine (or "sub") into a script file (by typing it in with NotePad, for example), and then point MUSHclient's scripting engine to it (by using the Scripts tab in the World Configuration).

Then, by typing:

/greet

The script would send "Say Hi there" 10 times to the world. The character "/" is the "scripting escape" character (you can change this if desired) so that anything following the "/" is parsed as a scripting command.

Languages available

MUSHclient uses existing scripting engines for VBscript and JavaScript as supplied by Microsoft Corporation. It does not use a proprietary language. What this means is that if you are familiar with Visual Basic you will find VBscript easy to learn, if you are familiar with C you will find JavaScript easy to learn.

In any case, even with no programming experience (and most MUDders have some programming experience), you will find VBscript easy to pick up.


Scripting languages

It is beyond the scope of this help file to explain how to program in VBscript or JavaScript, however there are many good books on programming in either language, as well as help files and other documentation which can be downloaded from the Internet.

A very brief introduction to VBscript may help you to get started …

Subroutines

Most activity occurs inside subroutines, called "sub"s. A subroutine has a name, and optional arguments (parameters) through which information is passed.

Subroutines are declared like this:

sub my_subroutine

' ------- some instructions here

end sub

You can place comments by using the single quote character, as in the example above.

Here is an example of a subroutine to be called when a timer fires:

sub on_hourly_timer (thename)

  world.note "My hourly timer called " & thename & " has just fired!"

end sub

This subroutine takes one parameter, the name of the timer.

Variables

Variables in VBscript have a single type called a "variant" which can hold strings, numbers, dates and other things.

To declare a variable use "dim". For example:

dim myname

dim thedate

dim thecounter

You can assign things to variables with the "=" symbol.

Eg.

Myname = "Nick Gammon"

thedate = #23/05/97"

thecounter = 42


Installing scripting

To install scripting you need to do the following steps:

1. Download VBSCRIPT.DLL or JSCRIPT.DLL from the www.microsoft.com site (if necessary). If you have installed Microsoft Internet Explorer 3 or above you may already have these DLLs installed.

2. Place the appropriate DLL(s) in your Windows System directory. Under Windows 95 this will probably be called C:\WINDOWS\SYSTEM. Under Windows NT it will probably be called: C:\WINNT\SYSTEM32

3. "Register" the DLL by clicking on the "Register" button on the "Scripts" tab in the MUSHclient World Configuration dialog box.

4. Use NotePad or any editor which produces "text" files to write your script source file. A simple example to get started would be:

sub test

world.note "Hello there"

end sub

5. Save this to disk with an appropriate name (eg. Worldname.VBS).

6. Use the "Browse" button in the Scripts configuration screen to inform MUSHclient of the name of your script file.

7. Click on "Enable script" in the Scripts configuration screen to enable scripting.

8. You should now be able to access the script file from your command window. If you typed in the example sub from step 4 above, type:

/test

You should see "Hello there" appear in the output window.

VBscript version number

It is important that you are using the correct version of VBscript. To test that you are using the version (or above) that MUSHclient was tested with, type:

/world.note ScriptEngineMajorVersion

You should see "2" (or above) in the output window.

/world.note ScriptEngineBuildVersion

You should see "1125" (or above) in the output window.


Ways scripts are called

You can invoke the scripting engine in the following ways:

1. Type the "script-escape" character (default "/") in the command window, followed by a script command.

e.g.

/world.close

2. Use the "immediate" window to test scripts. The immediate window appears on the "Game" menu, and can also be invoked by typing Ctrl+I.

3. You can specify a script to be executed when an alias is typed in.

4. You can specify a script to be executed when a trigger is matched.

5. You can specify a script to be executed when a timer fires.

6. You can specify a script to be executed when the world is opened.

7. You can specify a script to be executed when the world is closed.

8. You can specify a script to be executed when the world is connected to.

9. You can specify a script to be executed when the world is disconnected from.


Callback routines

The so-called "callback routines" let you cause MUSHclient to take various actions (for example, disconnecting from the current world, or putting a note in the output window). Each callback starts with the word "world." which tells VBscript that the command is to be sent to the current world.

Functions that return values

There is an important syntactical difference in VBscript between calls to functions that return values, and calls that don't. If you want a value returned you must place the parameters to the function call in brackets, otherwise you must not. For example:

Correct

world.sound "ding.wav"

iStatus = world.sound ("ding.wav")

Incorrect

world.sound ("ding.wav")

iStatus = world.sound "ding.wav"

Return statuses

Some functions return a "status" value. The meaning of the values appears below. You could include the following lines at the start of your script file so that you can test for the values by name rather than by number:

const eOK = 0	no error
const eWorldOpen = 30001	the world is already open
const eWorldClosed = 30002	the world is closed, this action cannot be performed
const eNoNameSpecified = 30003	no name has been specified where one is required
const eCannotPlaySound = 30004	the sound file could not be played
const eTriggerNotFound = 30005	the specified trigger name does not exist
const eTriggerAlreadyExists = 30006	attempt to add a trigger that already exists
const eTriggerCannotBeEmpty = 30007	the trigger "match" string cannot be empty
const eInvalidObjectLabel = 30008	the name of this object is invalid
const eScriptNameNotLocated = 30009	script name is not in the script file

The current list of callbacks is:

world.Send text

This sends the specified text to the world. It is like typing it into the command window.

Eg.

World.send "go north"

Return value

eWorldClosed : The world is closed

eOK: Sent OK

world.GetLineCount

This returns the number of lines received by this world.

eg.

Dim iCount

iCount = World.GetLineCount

Return value

Line count

world.IsConnected

This returns TRUE if the world is currently connected.

Return value

TRUE if world connected

FALSE if not connected

world.worldname

This returns the name of the current world.

eg.

World.note world.worldname

Return value

Name of current world

world.note text

This makes a note in the output window. It is not transmitted to the world. It is useful for making comments to yourself.

Eg.

World.note "This monster is worth avoiding!"

world.Sound sound-file-name

This plays the specified sound file, allowing you to add sound-effects to your world.

eg.

world.sound "ding.wav"

Return value

eNoNameSpecified: no sound file name given

eCannotPlaySound: cannot play that file

eOK: completed OK

world.Connect

This connects the current world. Note that since connecting is "asynchronous" you are not actually connected when this command completes. A return value of eOK simply means that the connection process has successfully started.

Return value

eWorldOpen: world is already open

eOK: initiated connection

world.Disconnect

This disconnects from the current world.

Return value

eWorldClosed: world is already closed

eOK: disconnected OK

world.Save filename

Saves the current world, under the specified filename. Supply a blank file name to save under the current name.

Eg.

World.save ""	' save under current name

Return value

eOK: saved OK

any other value: not saved

world.DeleteTrigger name

Deletes the named trigger from the list of triggers.

eg.

World.DeleteTrigger "my_trigger"

Return value

eInvalidObjectLabel: The trigger name is not valid

eTriggerNotFound: The named trigger does not exist

eOK: deleted OK

world.AddTrigger name, match_text, response_text, flags, colour, wildcard, soundfilename, scriptname

Adds a trigger to the list of triggers.

Name:	name of this trigger
Match_text:	what to match on
Response_text:	what to send back to the world
Flags:	various flags, see list below
Colour:	what colour to draw triggered text, see list below
Wildcard:	Copy which wildcard to the clipboard (0 = none), otherwise 1 to 10.
SoundFileName:	Which sound file to play
ScriptName:	Which script subroutine to execute

eg.

World.addtrigger "monster", "* attacks", "Run away", eEnabled, boldRed, 0, "", ""

Flags

The flags can be one or more of the constants below. For example, to omit from log and omit from output, the flags would be 6. Preferably use the constant declarations in your script file, and "OR" them together. E.g. eOmitFromLog or eOmitFromOutput

const eEnabled = 1

const eOmitFromLog = 2

const eOmitFromOutput = 4

const eKeepEvaluating = 8

const eIgnoreCase = 16

Colours

const NOCHANGE = -1

const normalBLACK = 0

const normalRED = 1

const normalGREEN = 2

const normalYELLOW = 3

const normalBLUE = 4

const normalMAGENTA = 5

const normalCYAN = 6

const normalWHITE = 7

const boldBLACK = 8

const boldRED = 9

const boldGREEN = 10

const boldYELLOW = 11

const boldBLUE = 12

const boldMAGENTA = 13

const boldCYAN = 14

const boldWHITE = 15

Return value

eInvalidObjectLabel: The trigger name is not valid

eTriggerAlreadyExists: A trigger of that name already exists

eTriggerCannotBeEmpty: The "match_text" cannot be empty

eScriptNameNotLocated: The script name cannot be located in the script file

eOK: added OK

world.EnableTrigger name, enable_flag

Enables or disables the named trigger.

eg.

World.EnableTrigger "monster", TRUE

Return value

eInvalidObjectLabel: The trigger name is not valid

eTriggerNotFound: The named trigger does not exist

eOK: completed OK

world.GetTrigger name, match_text, response_text, flags, colour, wildcard, soundfilename, scriptname

Gets details about the specified trigger name.

Eg.

dim trname

dim trmatch

dim trresponse

dim trflags

dim trcolour

dim trwildcard

dim trsoundfilename

dim trscriptname

dim iStatus

iStatus = world.gettrigger (trname, trmatch, trresponse, trflags, trcolour, trwildcard, trsoundfilename, trscriptname)

Return value

eInvalidObjectLabel: The trigger name is not valid

eTriggerNotFound: The named trigger does not exist

eOK: completed OK

world.IsTrigger name

Used to test if a trigger exists.

Return value

eInvalidObjectLabel: The trigger name is not valid

eTriggerNotFound: The named trigger does not exist

eOK: completed OK

world.GetTriggerList

Returns an array of all the named triggers currently defined.

Eg.

dim trList

dim iCount

trList = World.GetTriggerList

for iCount = lbound (trList) to ubound (trList)

  world.note trList (iCount)

next

Return value

A variant array containing the names of all the triggers. Use "ubound" to find the number of triggers in the list. You can then use "GetTrigger" to find details about each trigger.

world.SetVariable name, newcontents

Sets the contents of a variable. If the named variable already exists the contents are replaced. If the variable doesn't exist it is created. Variables are contained in the "world" configuration, and saved when the world is saved. You can use variables to "remember" data from one session of MUSHclient to the next.

Eg.

world.SetVariable "MyName", "Nick Gammon"

Return value

eInvalidObjectLabel: The variable name is not valid

eOK: The variable contents were set

world.GetVariable name

Gets the contents of the named variable. If the named variable does not exist, EMPTY is returned. If the name given is invalid, NULL is returned. (Use "IsEmpty" and "IsNull" to test for these possibilities).

Eg.

dim MyName

MyName = world.GetVariable ("MyName")

if isempty (MyName) then

  world.note "My name is not defined"

end if

if isnull (MyName) then

  world.note "Invalid variable name"

end if

world.note MyName

Return value

The contents of the specified variable.

An EMPTY variant, if the variable does not exist.

A NULL variant if the variable name is invalid.

World.GetVariableList

Returns an array of all the variables currently defined.

Eg.

dim varList

dim iCount

trList = World. GetVariableList

for iCount = lbound (varList) to ubound (varList)

  world.note varList (iCount)

next

Return value

A variant array containing the names of all the variables. Use "lbound" and "ubound" to find the bounds of the array of variables (ie. the number of variables in the list). You can then use "GetVariable" to find the contents of each variable.

world.DeleteAlias name

Deletes the named alias from the list of aliases.

eg.

World.DeleteAlias "my_alias"

Return value

eInvalidObjectLabel: The alias name is not valid

eAliasNotFound: The named alias does not exist

eOK: deleted OK

world.AddAlias name, match_text, response_text, parameter, flags, scriptname

Adds a alias to the list of aliases.

Name:	name of this alias
Match_text:	what to match on
Response_text:	what to send to the world
Parameter:	text to be substituted in the input text
Flags:	various flags, see list below
ScriptName:	Which script subroutine to execute

eg.

World.addalias "teleport_alias", "teleport", "", "&", eEnabled, "DoTeleport"

Flags

The flags can be one or more of the constants below. For example, to use the clipboard, and match the start of the line, the flags would be 6. Preferably use the constant declarations in your script file, and "OR" them together. E.g. eUseClipboard or eMatchStart

const eEnabled = 1

const eUseClipboard = 2

const eMatchStart = 4

const eMatchAnywhere = 8

const eMatchExactly = 16

Return value

eInvalidObjectLabel: The alias name is not valid

eAliasAlreadyExists: A alias of that name already exists

eAliasCannotBeEmpty: The "match_text" cannot be empty

eScriptNameNotLocated: The script name cannot be located in the script file

eOK: added OK

world.EnableAlias name, enable_flag

Enables or disables the named alias.

eg.

World.EnableAlias "teleport", TRUE

Return value

eInvalidObjectLabel: The alias name is not valid

eAliasNotFound: The named alias does not exist

eOK: completed OK

world.GetAlias name, match_text, response_text, parameter, flags, scriptname

Gets details about the specified alias name.

Eg.

dim alname

dim almatch

dim alresponse

dim alparameter

dim alflags

dim alscriptname

dim iStatus

iStatus = world.getalias (alname, almatch, alresponse, alparameter, alflags, trscriptname)

Return value

eInvalidObjectLabel: The alias name is not valid

eAliasNotFound: The named alias does not exist

eOK: completed OK

world.IsAlias name

Used to test if a alias exists.

Return value

eInvalidObjectLabel: The alias name is not valid

eAliasNotFound: The named alias does not exist

eOK: completed OK

world.GetAliasList

Returns an array of all the named aliases currently defined.

Eg.

dim alList

dim iCount

alList = World.GetAliasList

for iCount = lbound (alList) to ubound (alList)

  world.note alList(iCount)

next

Return value

A variant array containing the names of all the aliases. Use "ubound" to find the number of aliases in the list. You can then use "GetAlias" to find details about each alias.


World configuration

This screen is used to select the various sorts of world configuration.

Name

World name, TCP/IP address, port number

Connection details: character name and password, initial connect string

Logging details: Log file preamble, what to log

Information about the current world

Notes about this world

Appearance

Output window: Font, indentation, buffer size, word wrap

Colours: Specify colours for output window

Highlighting: Colouring for pages, whispers etc. / New activity sound

Strings: How to recognise a page, whisper, pose etc.

Printing: How to highlight different colours on a B&W printer

Input

Commands: Speed walking, command stacking, input colour and font, inputting options

Keypad: What gets sent when pressing keys on numeric keypad

Macros: Customise function keys and game menu

Auto-say: Configure auto-say option

Triggers

Triggers: Automatically respond to output from world

Aliases: Text substitution for what you type

Timers: Automatically send text or do something at predefined intervals

Paste

Paste: Configure what is sent on a “paste to world”

Send: Configure what is sent on a “send file to world”

Scripting

Scripting: Script language setup, define script file etc.

Variables: Persistent variables that can be used in a script

Close

Use this to close the world configuration. Change are made to the world when individual configuration screens are confirmed.