Register forum user name Search FAQ

Release notes for MUSHclient version 3.68


Version 3.68

Released on 05 Nov 2005

1. You can now add duplicate aliases (ones that match on the same thing). The check that was previously there has been disabled, because some people wanted to have aliases that matched the same things in groups, where you would enable one group and disable the other one.

2. Added script routine TraceOut.

This lets scripters add their own trace items to the Trace facility.

For example:

TraceOut ("reached debug point 3")

The string you supply will be output to the current trace output (by world Note unless changed by a plugin using OnPluginTrace). However this will only happen if world tracing is turned on.

This will let scripters add debugging messages to scripts that can be easily turned off by simply turning tracing off.

3. Improved the supplied exampscript.lua to enhance the serialization routines.

4. Fixed a problem where if you did one of the following in a plugin, the main world "document has changed" flag would be set, prompting you to save your world, even if you made no other changes.

AddAlias
AddTrigger
AddTriggerEx
EnableTrigger

5. Added script routine ErrorDesc. This converts a supplied script return code to an alpha equivalent.

eg.

Note (ErrorDesc (30008)) --> The name of this object is invalid

If the code is not in its internal list of codes the supplied argument is returned.

eg.

Note (ErrorDesc (1234)) --> 1234

In Lua, the exact same descriptions can be obtained from the error_desc table (as was the case in earlier versions).

eg.

Note (error_desc [30008]) --> The name of this object is invalid

Thus, this function is really intended for use in scripting languages other than Lua.


6. Added plugin callback OnPluginScreendraw.

This has been added specifically for people with screen readers, who want the contents of the main window read out, however don't want gagged text to be read. The current way MUSHclient works is to draw text as it arrives, and then "undraw it" if it is gagged. This approach doesn't really work with screen readers, as they can't "unread" something.

The arguments to OnPluginScreendraw are:

Type: type of line, where 0 = output line, 1 = note, 2 = command

Log: are we planning to log it?

Line: the text of the line itself

An example plugin function, which simply copies the text to a notepad window, is as follows:

function OnPluginScreendraw (type, log, line)
AppendToNotepad ("mylog", type, " ", log, " ", line, "\r\n")
end -- function

If you didn't want to have read to you the things you had typed, simply omit lines of type 2.


7. Changed a slight inconsistency in the way Lua function calls handled optional boolean values.

Previously, for something like this you could take a default:

EnableTrigger ("mytrigger", true)
EnableTrigger ("mytrigger", false)
EnableTrigger ("mytrigger") --> defaults to true

However if you explicitly supply nil as the default you got an error message:

EnableTrigger ("mytrigger", nil) --> error bad argument #2 to `EnableTrigger' (number expected, got nil)

Now, the following functions will take nil as the default value, and use the documented default instead of nil:

Base64Encode
ChatEverybody
ChatGroup
ChatID
ChatPersonal
CloseNotepad
SetEchoInput
EnableAlias
EnableAliasGroup
EnableGroup
EnableMapping
EnablePlugin
EnableTimer
EnableTimerGroup
EnableTrigger
EnableTriggerGroup
Hyperlink
SetLogInput
SetLogNotes
SetLogOutput
SetMapping
OpenLog
Pause
Queue
Replace
SaveNotepad
SetChanged
ShowInfoBar
SetTrace

It is a bit hard to imagine why you would explicitly type "nil" as an argument, however if you have a helper function that passes down its arguments, then the nil that the helper function got might get passed down the one of the above functions.


8. Changed the way the mouse wheel works - now if the mouse is hovering over the output window, then the output window will scroll, even if the command window has the focus. Previously the command window would scroll, even if the mouse was over the output window.

And, vice-versa. If the focus is in the output window (eg. because you are clicking and dragging to make a selection), but you move the mouse over the command window and move the mouse wheel, then the command window will scroll.

[bug 524]


9. The Info bar has been made slightly smaller vertically, so that text in it now looks more centered. [bug 481].

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.