There's a few things I've been looking for in GMCP, and I don't *think* they're in there, can anyone tell me if I'm wrong?
- Max HP/mana reserves
- Max devotion or a percentage value for devotion
- Current bleeding amount
- Current room zone/area
- Value of a current server-side target ("tar" in my case)
Trying to replicate my old statusbar from TF in Mudlet, but those are the missing things. Granted I can use the same scraping from ingame commmands stuff I did in TF rather than GMCP, but it would be nice if I could do it in purely GMCP.
Comments
No, for resources (devotion, kai, essence, fanatism, rage, fire/ice) only the current amount is sent.
Yes, but it is only sent if you are currently bleeding. If your bleed amount is 0, this is not sent. gmcp.Char.Vitals.bleed
gmcp.Room.Info.area
If you opt into the correct message types in your client. See http://nexus.ironrealms.com/GMCP#IRE.Target
1. Is there any particular reason that the maximums for reserves and resources isn't sent? As far as reserves go, I can scrape that from SCORE, but it's a lot of information to filter for one field. Likewise, PERFORM ENLIGHTENMENT tells me: "Your devotion stands at 2000/2000 (100%)."
2. How would I opt into the message types? By sending the target set request by GMCP I guess? Is there a way to request the current target without setting it in such a way? The appeal of the server-side targets to me is they are retained across disconnects or client crashes if something goes wibbly.
1) As a rule, GMCP doesn't send values for things that are unlikely to change fairly regularly. This is to cut down on the amount of out-of-band information flying around.
2) This is going to be client specific, if your client allows for negotiation of additional message. It looks like you're using mudlet. You'll need to look into the sendGMCP function, sending a Core.Supports.Add message to tell the server you want to accept and send those messages.
WTB something similar to GraphQL! It would be amazing to be able to query the server for specific values, but I could see less-responsible people asking for information over and over that isn't needed.
Well to be fair, we end up doing this already because it ISNT in GMCP. Like for instance I ping off PERFORM ENLIGHTENMENT and AFFINITY a lot to update those values because they aren't reflected in the GMCP. If they were, and only sent or updated when they change, I can just get the changes from GMCP as they're sent, rather than having to poll something in band all the time. It seems like this would actually save bandwidth practically speaking.