Register forum user name Search FAQ

Release notes for MUSHclient version 3.41


Version 3.41

Released on 29 Apr 2003

Items with a number in brackets at the end refer to the item number in the bugs/suggestions database which have been implemented.

1. To be consistent with telnet negotiation, if you try to send IAC (0xFF) to the MUD, MUSHclient will now send IAC IAC (0xFF 0xFF). This is to allow for the character ÿ which some people need to type.

2. In the chat system, if a message contains ÿ (0xFF) which is the MudMaster "end of message" terminator byte, it will be replaced by "y" - if the session is using the MudMaster protocol - so that the messages do not end prematurely. If this annoys you, use the zChat protocol when making calls, because zChat uses message lengths, not terminator bytes, and does not suffer from this problem.

3. Fixed problem where the earlier feature that typing "quit" would not reconnect you automatically, had disappeared (in version 3.35). This is now restored. In other words, if what you type matches the "quit" macro, then MUSHclient will no longer reconnect you if it becomes disconnected. The idea is that, typing "quit" is presumably deliberate. However if "quit" is sent from an alias, or a script, then this feature does not apply. Presumably if you disconnect from a script, you can manage the "reconnect on disconnect" flag for yourself.

4. Added script function "SendImmediate" and new "send to" type which does the same thing. This is to send message to the MUD which "jump the queue" if you have speedwalks queued. The idea of this is that you can keep chatting with people, while a speedwalk is being executed using a speedwalk delay. Thus, you might have a one-second delay between speedwalks, and be walking 20 rooms, which means if you type "tell Nick Hi" that would not be sent for 20 seconds. Now, you can make "tell *" an alias, which sends to "World (immediate)" which will send it immediately, even if there are speedwalks queued. [#472]

5. Auto-copy-to-clipboard now has an option to be in HTML format. [#486]

6. On the ANSI colours configuration page there is now an option to copy all 16 colours to the custom colours page. This is so you can base your custom colours from the ANSI colours with a minimum of work. [#355]

7. Added "line spacing" option so you can adjust the spacing between lines in the output window. [#476]

8. Added button to ANSI and custom colour pages to "invert" the colours. What this effectively does is make black into white, white into black, and each colour into its "opposite". Mathematically, for each colour the Red, Green and Blue components are subtracted from 255 to give their inverse.

ie. NewRed = 255 - OldRed

What this lets you do - with the click of a button - is turn a sombre colour scheme into a bright one.

9. Added script routine AdjustColour. This lets you play with colours in a script. You pass to it a colour and an adjustment method. The methods are:

1: invert
2: lighter
3: darker
4: less colour
5: more colour

This lets you do in a script what can be done on the ANSI colour page - fiddle with colour values.

eg. mycolour = world.AdjustColour ("red", 1) ' get inverse of red

10. Added "close" to the list of commands that can be done by world.DoCommand. This lets you script closing the current world. Also, various other commands added to the list. [#479]

11. The script function world.DoCommand now posts the message rather than sending it. This delays the execution until the next time around the Windows message loop. This stops a crash, for instance, when doing a DoCommand "close", because if the close is done immediately the world is closed while the script is still executing.

12. New script routine SendNoEcho. This lets you send to the MUD without echo in the output window (and without logging). [#407]

13. When editing variables, you can now change their names. [#340]

14. You can now remove/copy multiple variables in the variable configuration screen.

15. Added chat option "user". This lets chat scripters set flags (or store a number) for their own purpose (eg. for setting their own flags for chat users). This is initially zero for a new chat session.

eg. x = world.GetChatOption (5, "user") ' find current value
world.SetChatOption 5, "user", 22 ' set new value

16. New script routine ExportXML - this lets you export one trigger, timer, alias, macro, keypad item or variable in XML format. This is symmetrical with the ImportXML function - a trigger exported with ExportXML will be syntactically correct for importing with ImportXML. However, it may not actually import if, say, there is a clash where two triggers both have the same label.

This would let you send triggers etc. from one world to another in an automated way, or from one client to another if you built some chat scripting around these functions.

The various types of things are numbered:

0 = trigger
1 = alias
2 = timer
3 = macro
4 = variable
5 = keypad

Assuming you had a trigger called "mytrigger" you could export it like this:

/world.Note world.ExportXML (0, "mytrigger")


17. Added new user option fields "user" to triggers, timers and aliases. These fields are initially zero for new items. They let you add your own flags or data to internal triggers in a script. You can get them with GetTriggerOption/GetAliasOption/GetTImerOption and set them with SetTriggerOption/SetAliasOption/SetTImerOption.

The new "user" fields are a 32-bit signed "long" number. It could be used to hold 32 independent flags, or a number in the range -2,147,483,648 to 2,147,483,647.

If non-zero, these user fields will be saved to the world file when such items are saved, and loaded back in when they are read back in.

eg.

/world.SetTriggerOption "mytrigger", "user", 12345678


18. Made new plugin - PerlScript_Version - shows the current version of PerlScript you have installed.

19. Added the plugins for showing the VBscript, Jscript, Perlscript and Python versions into the installer.

20. Fixed problem where an IAC (xFF) in a world.Note would trigger off IAC processing, and thus not be displayed. Now an IAC only has significance if it arrives from the MUD.

21. Added alias option "omit from command history" - if checked a command with that alias in it will be omitted from the command history. Note that if *any* alias in a particular command line has that checked, the whole line will be omitted (this is relevant if you use command stacking). This lets you have commands that might not be important enough to store in the command history (eg. multiple attack commands during a fight).
[#447]

22. Fixed bug where, when using SetTriggerOption, SetAliasOption, SetTimerOption, SetChatOption, you could not enter a negative number.

23. Fixed bug where if the focus was in the output window, the numeric keypad key "0" did not do anything.

24. Added extra keys to keypad-navigation - if you hold down Ctrl you get an extra batch of 14 keys (Ctrl+0, Ctrl+1 and so on). You can configure these from the Keypad configuration screen. [#239]

25. Added script function world.Hyperlink. This lets you add a hyperlink to your output window (like a world.ColourTell). [#478]

You can specify:

* an action (what is done)
* link text (what the player sees, underlined)
* a hint (what appears if the mouse hovers over the hyperlink)
* a foreground colour
* a background colour
* whether it is a URL or not - if not, the action is executed like a command, otherwise it is sent to your web browser.

eg.

world.Hyperlink "#chats", "Chat sessions", "Active chat sessions", "blue", "green", 0

26. You can now colour trigger match text in any RGB colour (not just one of the 16 custom colours). To do this, select "Other..." from the "change colour to" combo-box, and then click on the colour swatches to select the desired foreground and background colours. They will initially be black-on-black to save space in world files where that option has not been used. You can also use world.SetTriggerOption to set "other_text_colour" or "other_background_colour" to change those options in a script. The "custom_colour" for the "other" colours is 17 (0 is no change, 1 to 16 is the custom colour, and 17 is the "other" colour).

27. If a trigger/alias/timer (etc.) does a "send to script" and the script engine is not enabled, you will now see a warning message, rather than just sit there wondering why nothing is happening.

28. Fixed bug in MXP parsing where an entity inside an atomic element would not be recognised. eg. <send "say fish &amp; chips">test</send>

29. In the trigger, alias, timer, macro and variable configuration screens, in the list section (ie. the main screen), if the "contents" contain line breaks, they are no longer shown as little black boxes, but "\n". This makes them easier to read.

30. Fixed bug where if you did a ColourNote (or ColourTell) and the world's "note" colour was set to "no change" MUSHclient would crash.

31. Revamped the meaning of "note colour: (no change)" to be more meaningful. Since notes are on their own lines anyway, no change from what? Now, "no change" has been reworded to "default" and it means the default white-on-black that you get as the standard for a world before any colours arrive for it.

View all MUSHclient release notes

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