[Home] [Downloads] [Search] [Help/forum]

Release notes for MUSHclient version 4.27

Version 4.27

Released on 11 Jun 2008

1. New world option available only through scripting:

SetOption ("do_not_translate_iac_to_iac_iac", 1)

(Use the value 0 to return to normal behaviour, which is to do the translation).

See http://www.gammon.com.au/forum/?id=8586 for a discussion.

Basically the idea is that for some MUDs which don't use telnet sequences, if you attempt to send the character 0xFF, they simply want to get 0xFF at the MUD, not 0xFF 0xFF. Setting this option achieves this. For most MUDs you should leave it at the default (off).

2. Fixed a bug in the "progress.new" utility. In earlier versions, the progress bar, once created and closed, raised an error when the userdatum was garbage-collected (which might be somewhat later). See forum post:


3. Changed the way the "text" (I-beam) cursor is drawn. I found under OS/X using Parallels, that the text cursor was drawn as black-on-black, which basically made it impossible to see. Now it is drawn in a more readable way.

4. Added 29 more "name generation" files to the install. These can be found in the "names" subdirectory. This lets you generate different "flavours" of names (eg. Orc names).

5. Added program StatusBar.exe to the standard install. This small program lets you have a "custom status bar" window adjacent to your normal MUSHclient window. For more details see:

http://www.gammon.com.au/forum/?id=4951 (and in particular page 4 of this thread).

6. Changed how the Display menu -> Recall works. Now the recalled text is placed in a notepad window that does *not* ask whether you want to save it before closing. The intention is that a quick "recall" to find some text is usually a fleeting query that doesn't need saving to disk, and is thus annoying when you are asked to save it before dismissing the window. However you can still manually save the window contents (as a text file) if you want to.

7. Added second argument to the Lua world.Save function. If true, the save is a "save as", which means it saves under a different name, but the original name is preserved for future saves. This is intended for making backups under a different name. If you use the "save-as" flag then the filename must be supplied.


Save ("backups/my_backup.mcl", true)

8. Added a new Lua utility function utils.directorypicker - this lets you choose a disk directory from a "directory picker" browser dialog-box.


directoryname = utils.directorypicker (title, initial)


backup_dir = utils.directorypicker ("Backups directory")

9. Added new script function: AcceleratorTo

This lets you add a keyboard accelerator to MUSHclient's world, but specify where the text is to be sent to (like DoAfterSpecial). This lets you make an accelerator directly call a script, execute a speedwalk, put a note in the output window, and so on.

For example:

AcceleratorTo ("Ctrl+D", "Sound ('ding.wav')", 12) -- send to script

or (see below for sendto.script explanation):

AcceleratorTo ("Ctrl+D", "Sound ('ding.wav')", sendto.script)

10. Modified AcceleratorList to show where the accelerator text will be sent.

11. Added additional table to Lua script engine named "sendto".

This has the "send to" destinations as words, for use with things like DoAfterSpecial, AcceleratorTo, and various places (like AddTriggerEx) where you specify where text is to be sent.

For example:

DoAfterSpecial (5, "Sound ('ding.wav')", sendto.script) -- do a ding after 5 seconds

This is intended to make scripts more readable (sendto.script is better self-documentation than 12).

The predefined names are:

sendto.world = 0
sendto.command = 1
sendto.output = 2
sendto.status = 3
sendto.notepad = 4
sendto.notepadappend = 5
sendto.logfile = 6
sendto.notepadreplace = 7
sendto.commandqueue = 8
sendto.variable = 9
sendto.execute = 10
sendto.speedwalk = 11
sendto.script = 12
sendto.immediate = 13
sendto.scriptafteromit = 14

To see them all in the client you could type:

/table.foreach (sendto, print)

You could make the reverse table easily enough:

rev_sendto = {}
for k, v in pairs (sendto) do
rev_sendto [v] = k
end -- for

This table would convert a send-to code (eg. 12) into its string (eg. "script")

12. Tab-completion of words, when Lua scripting is in use, now recognizes the following inbuilt Lua tables:

* alias_flag
* custom_colour
* error_code
* sendto
* timer_flag
* trigger_flag

So now you could type something like "trigg<Shift+Tab>" in the command window and it would give a menu of suitable trigger_flag table entries. Similarly you could quickly get the new "sendto" table items by typing "sendto<Shift+Tab>".

View all MUSHclient release notes

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at FutureQuest]