Released on 24 Apr 2003
1. Fixed bug in auto-say where:
* If auto-say is on
* You have an auto-say override prefix
* You type the override to enter a command (instead of saying something)
* then the auto-say prefix is not saved in the command history, so when you recall the command it is "said" the second time
2. Chat snooping now attempts to send the colours seen at the snooped end to the snooper. This won't always work if end being snooped uses MXP which allows for colours which are not in the ANSI range (eg. not just black, blue, red etc.), however for "normal" MUDs should work OK.
3. In the chat system most chat messages were previously prefixed with "<CHAT>" - now this is an option for the world, "chat_message_prefix" - which defaults to empty. To set it, do this:
/world.setalphaoption "chat_message_prefix", "<CHAT> " ' or whatever
(or, you can use the world's Chat configuration screen)
This will then appear in front of all messages generated by the chat system. This lets you customise the chat messages to make them stand out better, or alternatively, by omitting it, let them blend into your general mudding.
4. When you change a chat option for a chat user (eg. can_snoop flag) a message is sent to them informing them of the change. This is so, if they are waiting for you to do it, they can then proceed (eg. start snooping).
5. Fixed bug where if you change an alpha world option with world.SetAlphaOption, the world file would not be marked as "modified" and you would not be prompted to save it. However if the option had *not* changed, you would be prompted to save it. In other words, the test was backwards.
6. Undocumented feature (also in version 3.38) "auto_allow_snooping":
This will allow someone (who you gave permission to snoop) to start snooping without answering any further dialogs. e.g.
/world.setoption "auto_allow_snooping", 1
(or, you can use the world's Chat configuration screen)
7. After a file transfer in the chat system, both sender and receiver are informed of the file sumchecks, so they can both check it went OK.
8. New chat features to cut down on spam - accidental or otherwise:
/world.setoption "chat_max_lines_per_message", 100 ' or whatever number
/world.setoption "chat_max_bytes_per_message", 5000
(or, you can use the world's Chat configuration screen)
These options limit the length of an individual chat message that can be displayed on the screen in both bytes and lines. The bytes provision is there because an extremely long message might not contain newline characters, and therefore might not trigger the line test. Although MUSHclient chat messages are usually single lines, using the "paste" feature with a large clipboard, you might conceivably get thousands of lines in one message. The default is zero in both cases, which represents unlimited message lengths.
9. New script routines:
GetWorldIdList - gets list of world IDs (unique identifiers)
GetWorldById - gets a world dispatch pointer from a world ID
These two routines are similar in intention to GetWorldList, and GetWorld, however since they use the internal unique identifiers they will be more reliable in cases where you have multiple worlds with the same world name.
10. Changed "multiple_send" plugin to use above script routines so it will still work if worlds have the same name as each other.
11. New chat options:
/world.setoption "auto_allow_files", 1 ' allow files to be received without asking
/world.setalphaoption "chat_file_save_directory", "c:\temp" ' directory to save in
(or, you can use the world's Chat configuration screen)
The first option "auto_allow_files" lets you receive a file without being prompted "X wishes to send you the file Y, size Z bytes. Accept it?".
The second option "chat_file_save_directory" is used to define the default "save" directory, and if both options are set, files will be received without query, and saved into the "file save" directory, without user intervention.
12. Fixed problem in command evaluation, where if you transmitted a multi-line command (eg. with command stacking) and the connection was not open, you would be asked multiple times if you wanted to open it. If you answered "no", then you would (annoyingly) be asked again for every line. This would have been particularly annoying if you had a thousand line command in the command buffer.
13. On a chat "accept" (eg. #accept) or using script routine ChatAcceptCalls, if the port is zero in the script argument, and is zero in the world file, then it defaults to 4050, rather than trying to accept calls on port 0.
14. Fixed bug where when you did a chat "#call" and your world's IP address was specified as a dotted-decimal number (eg. 123.56.67.89) then the chat call would call the MUD and not the address you specified. What was happening was that if domain-name resolution was not necessary it was using the world's IP address (ie. the MUD address), not the chat server's address.
15. Fixed bug where calling DeleteTemporaryTriggers or DeleteTemporaryAliases would probably cause a crash.
16. Added two new script routines:
GetHostName (ipaddress)
GetHostAddress (name)
These can be used to do DNS (Domain Name Server) lookups from within a script.
17. Fixed a couple of script routines that would have set the "world is modified" flag even when the change was only done in a plugin.
18. Fixed bug where the "Edit Script" button would always be active on the scripting configuration page, even if the script file name was empty.
19. When you are asked to validate a new chat user, or accept a chat file, the world for which it is destined is first activated, so you can see which world the call, or file, is for.
20. Fixed some problems where opening a file for read-only might deny another process (or another world) access to the same file.
21. Added chat configuration to the world configuration screens. You can now configure the chat options (your name, chat prefix, whether you accept calls and so on) from the world configuration.
22. Added "chat list" dialog box. This lets you see a list of currently-connected chat sessions, and by selecting one or more of them you can do things like send them messages, ping them, request connections, change options, and so on.
23. In the chat system, emotes are now in cyan as well as says.
24. Fixed problem in chat system (#chatdetails and GetChatInfo) where a port number > 32767 would be reported as a negative number.
25. Fixed problem where the plugin callback OnPluginChatUserDisconnect was only called when outgoing calls disconnected, not incoming ones.
26. Added script function GetClipboard - this lets you get the clipboard contents (TEXT format only).
27. Added script function ImportXML - this lets you add triggers/timers etc. directly from XML format. For example:
ImportXML _
"<timers>" & _
"<timer name=""mylabel"" script=""timerscript"" enabled=""y"" hour=""16"" at_time=""y"" >" & _
"</timer>" &_
"</timers>"
In the above example the double quotes are used inside the string because we are using quotes inside quotes.
The advantage of this is that you can use, in one command, flags and options that might not be supported by other script commands. For example, you can change keyboard macros:
ImportXML "<macros><macro name=""F10"" type=""send_now"" >" & _
<send>sing</send> </macro></macros>"
28. Added script functions DoCommand and GetInternalCommandList. These let you execute any MUSHclient menu command as if you had done it from the menu (or keyboard equivalent). This lets you script actions that might not be otherwise supported in the scripting language. eg.
DoCommand "PluginWizard"
DoCommand "TipOfTheDay"
DoCommand "WindowsSocketInformation"
You can use GetInternalCommandList to find the names of all supported commands - they should be reasonably self-explanatory.
These commands simply are a scriptable way of invoking the internal routines - if they display dialog boxes these will still need to be filled in, etc.
They will be useful to do things like turn on packet debug, go to full-screen mode, connect to worlds in startup list and other things that previously could only be done by using the program menus.
There are currently 182 functions that you can invoke in this way.
29. Added support for the zChat protocol in the chat system. This means that MUSHclient should accept incoming chat messages from zChat, without needing to have the "MudMaster compatible" flag set in zChat. Note that the encryption part of zChat is not supported. MUSHclient will automatically work out whether to treat an incoming call as MudMaster or zChat protocol from the initial chat negotiation.
30. Added script routine "ChatCallzChat" - this behaves the same as ChatCall, except it uses the zChat protocol (ie. it sends "ZCHAT:" as the initial negotiation string). This is to allow for connecting to zChat users, where the MudMaster protocol may not be recognised. There is no particular advantage in using either protocol, they are basically very similar. Internally the correct protocol will be used when you use script routines like ChatMessage, so you don't need to worry which protocol is in use.
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.