Released on 16 Dec 2006
1. Fixed bug where, if you had a scripting error, it reported the name of your character as the world name, instead of the name of the world.
2. Added a button to the Find and Recall dialog boxes to allow you to easily view the help for Regular Expressions.
3. When editing a regular expression using the "edit single line" dialog box, a new option appears at the bottom of the menu which appears when you click on the "->" button. This invokes the regular expression help.
4. Changed the File -> Import to not permit plugins to be imported. There is a message now that you must use File -> Plugins to load them. Also, this message appears if you attempt to paste a plugin into (say) the triggers list.
If you really want to import triggers from a plugin you would now need to edit the plugin in a text editor, and extract out the triggers part, before pasting it into the triggers list.
5. There is now an option for tab-completion to add a space after the inserted word. For example, if you wanted to say "give potion432423 to Nick" and you wanted to tab-complete the word "potion432423", then it is handy to have the space inserted after the word automatically.
6. Fixed problem with the "edit multi-line" dialog box (eg. when editing the trigger "send to" box). The button "Go To Line" - if you clicked on it with the mouse - had previously kept the focus, so you could not see which line it had gone to. Now, the focus is switched to the edit box.
7. Fixed a similar problem with the "Complete" button, that if you clicked on it would not return focus to the text box.
8. In the Script configuration dialog box, the "Register DLL" button is now inactive unless the script language is VBscript, JScript, or PHPscript, which are the only languages for which the button actually does anything.
9. Changed Lua sandbox slightly to make it clear that, for untrusted plugins, that loading of DLLs by that plugin is disabled (that is, not for everything).
10. Removed test for minimum size of the input window, so you can now use "dummy" worlds as coloured "extra" windows, with no command window visible.
11. If you set your world IP address to exactly "0.0.0.0" then MUSHclient does not attempt to connect to the world, and attempts to send commands to it are ignored. This is intended to facilitate setting up "dummy" worlds that are only used for sending scripted messages to.
12. Added new script function Transparency. This allows you to make the MUSHclient window transparent.
13. The Lua scripting sandbox has been changed so that instead of setting "dangerous" functions (like io.open) to nil, it instead replaces them with a function that raises an error with a helpful error message, like this:
Function 'io.open' disabled in Lua sandbox - see MUSHclient global preferences
14. Changed the way world XML files are loaded slightly, so that an error message that occured when upgrading from version 3.81 to 3.82 should no longer occur, namely:
Value '0' too small in numeric attribute named 'tab_completion_lines'
This change would affect other attributes that have been added to recent versions (eg. spam_line_count) where the newly-added attribute cannot have a value of 0.
15. Added new selector to GetInfo function - 114. This returns the status of the "paused" flag for the current output window. If paused (ie. "MORE" is shown on the status bar) then this will be true.
16. Added new selector to GetInfo function - 239. This returns the "source" of the current scripted action. It is intended for scripters who want to know if a particular script is running because of user (player) action, or some sort of automated response. Effectively this can be used to determine if the player is AFK or not.
The returned value will be a number in the range 0 to 10, with these meanings:
UnknownActionSource = 0 --> no particular reason, could be plugin saving
UserTyping = 1 --> user typed something in the command area and pressed <Enter>
UserMacro = 2 --> user typed a macro (eg. F2)
UserKeypad = 3 --> user used the numeric keypad
UserAccelerator = 4 --> user used an accelerator key
UserMenuAction = 5 --> item chosen from pop-up menu
TriggerFired = 6 --> trigger fired
TimerFired = 7 --> timer fired
InputFromServer = 8 --> input arrived (eg. packet received)
WorldAction = 9 --> some sort of world action (eg. world open, connect, got focus)
LuaSandbox = 10 --> executing Lua sandbox
Effectively, if GetInfo (239) returns a number in the range 1 to 5 inclusive, then the script is running in response to direct player input. Other numbers would indicate automated processing like a trigger or timer firing, input from the MUD, a plugin callback being called, and so on.
There is no entry in the list above for an alias being called, because aliases can be triggered by user input, "send to script (Execute function)", macros and so on. Thus, the number above would indicate the "real" reason an alias was called.
17. Changed the order of items on the status bar, so that - after the generic status information - the "MORE" item is first rather than last. This is to help people who resize their main windows smaller, so that they can still see if they have the window paused.
18. New "send to" option for triggers, namely "send to script (after omit)".
This defers executing the script until after the triggered lines have been omitted (if that option is set), which allows you to do a Note (or ColourNote etc.) without the noted lines also being omitted. For more details see this forum posting:
19. When opening a file inside the built-in notepad, there is now a provision for Lua files (in addition to .txt, .xml) when selecting a file-type filter.
Gammon Software support
Forum RSS feed ( https://gammon.com.au/rss/forum.xml )