Released on 12 Dec 2004
1. Plugin callback OnPluginPacketReceived now can optionally return a string. If it does, then the incoming packet is modified to be whatever string is returned.
For example (in VBscript):
Function OnPluginPacketReceived (s)
OnPluginPacketReceived = Replace (s, "east", "EAST")
In that example the word east would become EAST whenever it appeared. Of course, this would include inside the word "beast" etc.
If the plugin does not return a value at all then the original packet is retained. If the plugin wants to discard the packet then it can return an empty string. Be warned that packets do not necessarily start or end on line boundaries. You are advised to buffer up packets in a temporary variable until you have a complete line (ie. until a newline arrives). However a single packet may well have more than one line in it.
For more details, see:
This processing is done before packets are handed to the MUSHclient trigger processing or screen drawing routines, so it is possible to completely change words, colours, ANSI sequences etc. (or inject your own).
The packets are processed after any MCCP decompression that is required. That is, you will not get compressed data.
There is no particular limit on how much you can return. Within reason, you can return as much (eg. multiple lines) or as little (eg. an empty string) as you want.
It is up to you to be aware of processing ANSI sequences (eg. colour codes) and MXP sequences. Incautious replacement of text may make the screen output look strange, or disappear altogether.
2. Added selector 113 to world.GetInfo. This returns true if the world is active (ie. the front window).
3. Added selector 233 to world.GetInfo. This returns the time take executing triggers in the current world or plugin (double).
4. Added selector 234 to world.GetInfo. This returns the time take executing aliases ers in the current world or plugin (double).
Gammon Software support
Forum RSS feed ( https://gammon.com.au/rss/forum.xml )