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

Release notes for MUSHclient version 3.37


Version 3.37

Released on 16 Apr 2003

1. Bug fixed where under certain circumstances, the "translate German characters" option was not working.

2. When "translate German characters" is active the S-zet (ß) is now a double "s" ("ss") not "sz".

3. Fixed bug where world.getinfo (107) returned the wrong information (the flag "is the world currently connecting"). This is used by the reconnector plugin.

4. Fixed problem where if a plugin added a timer, trigger, etc. (or did something similar like modify a trigger option) the world file was marked "changed" (and thus you were prompted to save it) when really nothing had changed in the world file.

5. Changed the "send to URL" code to allow for a 512 byte URL (up from 128 bytes) and to allow for other protocols (eg. https://, file://, ftp://, etc.). Now instead of checking for http:// it looks for "://" in the first 15 characters of the URL. If it is found, it uses the supplied URL literally, otherwise it prepends http://

6. Fixed problem where "send to URL" would not work properly if the URL had an imbedded quote, like this:

http://www.example.com/foo.cgi?a1="test

7. Tightened up the check for "world is not connected - do you want to reconnect" - which is currently sent when you type things into the command window. Now the check is done only for commands that actually need to send to the MUD (eg. an alias that sends to the world, or does a speedwalk, but not one that sends to the script engine or a notepad). Thus, for example, you can use scripts without being prompted to reconnect.

8. When a trigger or alias sends matching text to a script, it automatically "escapes" quotes and backslashes in any wildcards, so the script will still work.

eg. wildcard 1 = John says, "hello"

Send text = world.note ("%1")
Send to = script

Depending on the script language in use the quotes will be turned into double-quotes or escaped quotes, like this:

world.note ("John says, ""hello""")

9. Fixed bug where if a trigger, alias or timer in a plugin had the send text as "send to script" it was sent to the main world's script, and not the plugin script. Now, the "send to" text is sent to the plugin's script parser.

10. Changed the command parser to warn you if you have scripting active, but a script cannot execute because of a parse error in the script file. Otherwise you might sit there typing:

/world.Note "test"

... and wonder why nothing was happening.

11. Fixed bug where if you typed a command that was an alias, it would not be echoed on the output window, regardless of the "echo my input" settings.


12. Added chat capability. A detailed description is in:

http://www.gammon.com.au/mushclient/chat.htm

In brief, the chat features lets you do peer-to-peer chatting. That is, talk to other players without going through the MUD server. This could be useful for:

* privacy (your conversation cannot be listened to or logged by the MUD)
* if the MUD is down you can still chat
* talking when you normally can't (eg. in a silent room, if stunned, etc.)
* automating interaction between people in a group (eg. PK groups)

The chat features has detailed support in the MUSHclient scripting language. The follow new script routines have been added:

ChatAcceptCalls(short Port);
ChatCall(BSTR Server, long Port);
ChatDisconnect(long ID);
ChatDisconnectAll();
ChatEverybody(BSTR Message, BOOL Emote);
ChatGetID(BSTR Who);
ChatGroup(BSTR Group, BSTR Message, BOOL Emote);
ChatID(long ID, BSTR Message, BOOL Emote);
ChatMessage(long ID, short Message, BSTR Text);
ChatNameChange(BSTR NewName);
ChatNote(short NoteType, BSTR Message);
ChatPasteEverybody();
ChatPasteText(long ID);
ChatPeekConnections(long ID);
ChatPersonal(BSTR Who, BSTR Message, BOOL Emote);
ChatPing(long ID);
ChatRequestConnections(long ID);
ChatSendFile(long ID, BSTR FileName);
ChatStopAcceptingCalls();
ChatStopFileTransfer(long ID);

The following routine retrieves a list of the current chat sessions:

GetChatList();

You can use the chat "ID"s (identifiers) returned from the above to find out more about a particular chat session, or set chat options:

GetChatInfo(long ChatID, short InfoType);
GetChatOption(long ID, BSTR OptionName);
SetChatOption(long ID, BSTR OptionName, BSTR Value);

The following routines have been added to improve handling of ANSI codes, because incoming and outgoing chat messages are supposed to be coloured using standard ANSI sequences:

ANSI(short Code); // make an ANSI sequence
AnsiNote(BSTR Text); // do a "note" using ANSI codes
StripANSI(BSTR Message); // remove ANSI codes from a string


There is a new plugin supplied with this version "Chat.xml" - this provides an interface between the chat routines and the player. Install that plugin and then type "chat:help" to see the various commands you can use.

New plugin callback routines have been added to let plugins interface with the chat system:

Function OnPluginChatAccept (sText)
Function OnPluginChatMessage (id, message, sText)
Function OnPluginChatDisplay (message, sText)
Sub OnPluginChatNewUser (id, name)
Sub OnPluginChatUserDisconnect (id, name)

These routines let you automate things like whether callers are accepted, process or disgregard certain chat message types, display incoming messages in the default way, or customise it. You are also notified of new players joining the chat system, and ones that leave it.

Quick start guide ....

1. Install the chat plugin
2. To receive calls from other players, type: #accept
3. To call another player, type: #call ip

eg. #call myfriend.hisdomain.com

(both of the above can have an optional port number - the default is 4050).

4. To see who is connected, type: #chats
5. To talk to everyone, type: #chatall hello
6. To talk to one person (eg. Nick), type: #chat Nick Hello

You can also #emote or #emoteall to do emotes rather than says. eg.

#emoteall laughs

7. To drop a call (eg. the call to Jane), type: #hangup Jane
8. To drop all calls, type: #hangupall
9. To stop accepting calls, type: #nocalls

You can do other things, like snoop their connection, send files, send commands, see who else is connected, but the above will get you started. See the detailed web page for more information.

Despite this considerable extra functionality, the size of the MUSHclient installer has only increased from 1.17 Mb to 1.19 Mb, making it one of the most compact clients for the number of features built-in. :)

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.

[Home]


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]