Posted by
| Nick Gammon
Australia (22,973 posts) bio
Forum Administrator |
Message
| Sigh.
Please read this thread:
http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=6247
Let's be clear about this - this is not a MUSHclient bug. The spec for MXP says that when in MXP mode:
- < should be rendered as <
- > should be rendered as >
- & should be rendered as &
Your packet dump shows the server is not doing this, thus the server has the bug.
Unfortunately, zMUD has tried hard to be helpful to MUD developers, and thus you will find zMUD will render things like "<-----" literally without complaining about the fact that it is an unknown tag. However MUSHclient follows the spec (that the zMUD developer, Zugg, wrote), and does not accept it.
Because of zMUD's behaviour, MUD developers who test their servers with zMUD get acceptable displays (eg. with that map) and think their job is done, whereas they should be translating the <, > and & characters.
If you ask nicely the developers of afkmud (Samson I think) to fix up the way they draw their map, the problem may be solved.
I know it is tempting to suggest that MUSHclient do "what everyone else does", but that does not handle situations like this:
Exits: <I>nn, <B>ank
In this case the <I> and <B> look like valid tags, and MUSHclient will render them in italic and bold. In this case you simply have to use the <I> method.
Meanwhile, to try to work around this problem, you can try this plugin. Copy between the lines, save to disk as MXP_Tag_Fixer.xml, and install into MUSHclient as a plugin (File menu -> Plugins).
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>
<!-- Saved on Tuesday, July 25, 2006, 7:31 AM -->
<!-- MuClient version 3.75 -->
<!-- Plugin "MXP_Tag_Fixer" generated by Plugin Wizard -->
<muclient>
<plugin
name="MXP_Tag_Fixer"
author="Nick Gammon"
id="2cad9c303fac53bb0a186ef4"
language="Lua"
purpose="Attempts to display incorrect MXP tags"
date_written="2006-07-25 07:24:35"
requires="3.67"
version="1.0"
>
</plugin>
<!-- Script -->
<script>
<![CDATA[
-- conversion table
t = {
["<"] = "<",
[">"] = ">",
["&"] = "&",
}
-- find 1st character in table, append 2nd character
function converter (what)
return (t [string.sub (what, 1, 1)] .. string.sub (what, 2)) or what
end -- converter
-- convert < > & to: < > &
function OnPluginPacketReceived (s)
if GetInfo (104) or GetInfo (105) then -- MXP or Pueblo active
return (string.gsub (s, "[<>&]%A", converter))
else
return s
end -- if
end -- OnPluginPacketReceived
]]>
</script>
</muclient>
What this will do is convert <x where x is not an alphabetic character into <x, which (in my test) made your map come out alright. This will catch *some* of the problems with MXP where the server does not convert the < symbols correctly.
Your other problem is with the strange line wrapping near the bottom of your original post. Can you please post a packet dump of that so we can see what is going on? Thanks. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|