Ok, I have been messing about with the code to enable MXP.
Have had some success although formatiing of links seems wrong at the moment and still have some MXP features to include and I think probably a couple of bugs.
It has been fun to do and have found a couple of bugs in the existing code as well.
But is anyone actively working on this and if so what progress is there ? I don't really want to duplicate work that someone else is doing.
Ben
MXP
Re: MXP
Nothing for server-side there right now. Used to use libmxp, but that had to be disabled because there were too many bugs. You'll find that a lot of muds go by different variations of the MXP syntax - so getting it working for all of them would be complicated.
Re: MXP
MXP has the "<SUPPORT>" tag to indicate which tags it supports, so there's no pressing need to implement them all.
Personally there are only three MXP features I consider worth using - the <VERSION> tag, clickable links, and 24-bit colour. And even the colour isn't necessary if the client supports 256 colours (which Mudlet does).
The clickable links are a really nice feature though, and my players love them. I've had some success at faking it in Mudlet with triggers, but I never did get it working 100%. It'd be really nice to see them supported through MXP.
Personally there are only three MXP features I consider worth using - the <VERSION> tag, clickable links, and 24-bit colour. And even the colour isn't necessary if the client supports 256 colours (which Mudlet does).
The clickable links are a really nice feature though, and my players love them. I've had some success at faking it in Mudlet with triggers, but I never did get it working 100%. It'd be really nice to see them supported through MXP.
Re: MXP
Some muds also use mxp to send HP/EP clients (like using gmcp, no need to use a trigger to update status bars. just an mxp event)
I would love to see even a limited implementation of mxp.
I would love to see even a limited implementation of mxp.
Re: MXP
Yeah but it's in-band, so you need to send it with other text (otherwise you get blank lines scrolling up the screen) - muds typically send it with the prompt. It's easier and cleaner than capturing the data from the prompt, and it means you don't need to have a specific prompt pattern, but it still suffers from the refresh issue - you have to hit enter to get new data. If there's no text scrolling up your screen, the energy bars won't update.Omit wrote:Some muds also use mxp to send HP/EP clients (like using gmcp, no need to use a trigger to update status bars. just an mxp event)
With MSDP/ATCP I can just sit there with a static text window, watching other players walk across the graphical map while my energy bars slowly refill.
Re: MXP
I have got MXP variables mostly working, although think I have a problems integrating them with LUA but probably not to much to work out.
Have links going although I noticed menu type links have a small bug, but probably not hard to fix.
Seem to have problems with colour format of links, at least compared to my current client, so need to look into that.
Clickable links are probably the MXP feature I miss most, although you can get around it I guess with triggers and aliases.
I am testing all of this currently on Discworld, but would be happy to know about other MUDs that use mxp to see how well it works on other MUDs
Have links going although I noticed menu type links have a small bug, but probably not hard to fix.
Seem to have problems with colour format of links, at least compared to my current client, so need to look into that.
Clickable links are probably the MXP feature I miss most, although you can get around it I guess with triggers and aliases.
I am testing all of this currently on Discworld, but would be happy to know about other MUDs that use mxp to see how well it works on other MUDs
Re: MXP
Are you using libmxp or have you written your own MXP parser? If you are using libmxp you'd have to completely rewrite libmxp from the ground up to make it useful and bug free.
Writing a new light weight MXP parser from scratch that only covers links and mxp variables is a better idea and certainly a valuable addition to Mudlet.
Writing a new light weight MXP parser from scratch that only covers links and mxp variables is a better idea and certainly a valuable addition to Mudlet.
Re: MXP
I am using libMXP. I did not realise it was that buggy, although in kmuddy I know there are problems with A links (at least in Discworld), but I do not know if that is down to the server, libMXP or the client or a combination.
I will have a look at the MXP spec and the libMXP source code and see about fixing it or rewriting it.
I will have a look at the MXP spec and the libMXP source code and see about fixing it or rewriting it.
Re: MXP
You can forget about fixing libmxp. You need a complete rewrite because among other bugs libmxp cannot handle entity substitution properly at all and this is one of the most elementary design concepts of mxp. The best MUD to test mxp related things is materiamagica.com 23 because they have the most extensive MXP support I've ever seen. Make sure to turn on the full mxp feature set (i.e. they use reduced features for mush client) You can see that you've actually turned on the full feature sets when you get elements showing a welcom jpg image.
We really don't need a complete MXP parser because nobody uses it anyways. The only relevant feature of MXP is server side links and maybe variables for those MUDs that don't support GMCP/ATCP at this point. Anything else would be nice but not really necessary.
We really don't need a complete MXP parser because nobody uses it anyways. The only relevant feature of MXP is server side links and maybe variables for those MUDs that don't support GMCP/ATCP at this point. Anything else would be nice but not really necessary.