[not a bug] GMCP tables

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: [not a bug] GMCP tables

Post by Heiko »

I've changed Mudlet's GMCP code in such a way that Achaea should work properly now. This basically means that we have to run table merge scripts on most GMCP messages. This is clearly not as efficient from our perspective, but I can see benefits for MUD servers and I guess that these need to be respected.

The nex Mudlet update will be available in a few days.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: [not a bug] GMCP tables

Post by Heiko »

update on automatic GMCP table merging: Due to obvious inconsistencies with IRE servers (=some tables must be replaced whereas only a single table, namely Char.Status must be merged) I've decided to use user customizable GMCP table merge policies i.e. by default only Char.Status is now being merged while all other tables are replaced. The user can determine which tables are to be merged by adding GMCP keys to a list of tables that need merging. Tables that are not on this list will be replaced.

User avatar
Rakon
Posts: 350
Joined: Tue Feb 16, 2010 7:41 pm
Contact:

Re: [not a bug] GMCP tables

Post by Rakon »

As far as I am aware, that is the only table (Char.Status) that needs merging, the others are given the entire table already. Thank you for working on that change Heiko.

Sanaki
Posts: 110
Joined: Wed Mar 09, 2011 1:30 am

Re: [not a bug] GMCP tables

Post by Sanaki »

As of 2.0-rc3, the gmcp.Char.Status table now refuses to update at all. I've built a personal workaround in by setting gmcp.Char.Status to nil after all my scripts that use it have checked it, but the problem remains.

User avatar
Vadi
Posts: 5042
Joined: Sat Mar 14, 2009 3:13 pm

Re: [not a bug] GMCP tables

Post by Vadi »

I don't have this problem... has anyone else ran into this?

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: [not a bug] GMCP tables

Post by Heiko »

Sanaki wrote:As of 2.0-rc3, the gmcp.Char.Status table now refuses to update at all. I've built a personal workaround in by setting gmcp.Char.Status to nil after all my scripts that use it have checked it, but the problem remains.
What's your OS? Have you messed with the shipped mudlet-lua files? If you are on Linux, make sure to start mudlet from the mudlet/src directory, so that Mudlet can use the shipped mudlet-lua libs.

Sanaki
Posts: 110
Joined: Wed Mar 09, 2011 1:30 am

Re: [not a bug] GMCP tables

Post by Sanaki »

Haven't messed with them at all, on Kubuntu 11.04, compiled with the QT SDK, running from the src directory. Have seen a near bug-free existence with Mudlet so far from 1.1.0 and on, but so far as I can tell, there's nothing awry on my end here. Feel free to nudge with any ideas, I'm happy to help sort it out if possible.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: [not a bug] GMCP tables

Post by Heiko »

Can you please try to reproduce your problem on a clean profile without your scripts? Maybe they've changed something on your server.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: [not a bug] GMCP tables

Post by Heiko »

Might also be a JIT related issue JIT is being used by default on Linux if available. If you can please also verify your problem on Windows or provide a demo script that shows the problem so we can test it on Windows.

Sanaki
Posts: 110
Joined: Wed Mar 09, 2011 1:30 am

Re: [not a bug] GMCP tables

Post by Sanaki »

Just reproduced it on a clean profile with no preexisting scripts. Added this script to monitor it:
Code: [show] | [select all] lua
script name: test
registered event handler: gmcp.Char.Status
function test()
display(gmcp.Char.Status)
end
On each kill, the event was raised and the table was properly displayed. However, once my xp crossed from 26.7% to 26.8%, the table still displayed it as 26.7%. Killing another hunt produced no change. Trying SCORE (which sends a full fresh table) produced no change. Upon setting gmcp.Char.Status to nil, the next kill sent me my proper xp.

As of right now I have no way to test this on Windows, unfortunately.

Post Reply