Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Tue Sep 28, 2010 12:34 am   

GMCP sending commands to the server?
 
Now, I've been messing with gmcp, and must say I freaking love it for getting stuff set up for my system to know what skills I have and other things that are normally hidden, but I have a question.

http://www.ironrealms.com/gmcp-doc

^^^^ on this site, there are 'Sent by Server' stuff which is what I use for capture, but my question is the 'Sent by Client' stuff, how does Cmud call this? Like if I want to do gmcp.char.skills.get and then give the skill name, so I don't have to do AB skillname, then capture the skill information each time, how is this doable if it even is?
Reply with quote
dbosst
Apprentice


Joined: 15 Jun 2010
Posts: 121

PostPosted: Tue Sep 28, 2010 1:00 am   
 
You have to first enable the receiving end of it in settings of gmcp to get the response, and then use #sendgmcp TYPE MESSAGE for the client end of it

so for this:
Code:
Char.Skills 1

add that to the gmcp settings for names of supported packages

DO NOT add Char.Skills.List 1 I don't know why but it doesn't work like that (dunno if its an Achaea or CMUD bug)

an example script, replace "Venom" with the skillset group and "Secrete" with the skill
Code:

$message = %null
#addkey $message "group" "Venom"
#addkey $message "name" "Secrete"
#sendgmcp Char.Skills.Get $message


make sure you turn on script debugger to test this stuff:
Code:

i  Achaea32 ><IAC><SB><201>Char.Skills.Get {"group":"Venom","name":"Secrete"}<IAC><SE>
d  Achaea32 |  [1] Achaea32 Comline : stopped
i  Achaea32 <<IAC><SB><201>Char.Skills.Info { "group": "venom", "skill": "secrete", "info": "Syntax: SECRETE <venom>\n\nThe ancient ability of producing venom.\n" }<IAC><SE>
a  Achaea32 #Telnet 201: Char.Skills.Info { "group": "venom", "skill": "secrete", "info": "Syntax: SECRETE <venom>\n\nThe ancient ability of producing venom.\n" }


like the doc says you can remove the name to get a list of skills in the skillset group, or remove the group and name to get a list of all the skillsets
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Tue Sep 28, 2010 1:12 am   
 
Quote:
DO NOT add Char.Skills.List 1 I don't know why but it doesn't work like that

It's because "Char.Skills" is the name of the GMCP Package. The "List" is the specific message/function for that package. You negotiate support for a package, not an individual message. So "Char.Skills 1" is correct.
Reply with quote
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Tue Sep 28, 2010 1:16 am   
 
Just copy/pasted exactly what you had above and I get

c TalonnbS | [2] TalonnbSilverain Comline : start :
d TalonnbS | [2] TalonnbSilverain Comline : stopped

No send, no response.....I used a skill I actually had, but still no response.

$message = %null
#addkey $message "group" "Vision"
#addkey $message "name" "Looking"
#sendgmcp Char.Skills.Get $message

is the alias I made
Reply with quote
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Tue Sep 28, 2010 1:19 am   
 
I don't know if it matters or not, but what I'm trying to do is capture the AB list which you can do with #var whatever %gmcp.char.skills.list.list but only after you do AB skillname, which is annoying spam. I was 'hoping' by doing #sendgmcp Char.Skills.Get $message would let me switch between skill groupings without doing the AB part
Reply with quote
dbosst
Apprentice


Joined: 15 Jun 2010
Posts: 121

PostPosted: Tue Sep 28, 2010 1:24 am   
 
talonnb wrote:
I don't know if it matters or not, but what I'm trying to do is capture the AB list which you can do with #var whatever %gmcp.char.skills.list.list but only after you do AB skillname, which is annoying spam. I was 'hoping' by doing #sendgmcp Char.Skills.Get $message would let me switch between skill groupings without doing the AB part


make sure you have clicked apply on the gmcp settings (reconnect if you are not sure)
if you want a list of all skillsets just leave the name and group empty ie just make the message empty using
Code:
#sendgmcp Char.Skills.Get ""


this is what you should see in script debugger:
Code:
i  Achaea32 ><IAC><SB><201>Char.Skills.Get ""<IAC><SE>
d  Achaea32 |  [1] Achaea32 Comline : stopped
i  Achaea32 <<IAC><SB><201>Char.Skills.Groups [ "Vision<9>Inept", "Avoidance<9>Inept", "Tattoos<9>Inept", "Survival<9>Novice", "Weaponry<9>Inept", "Riding<9>Inept", "Venom<9>Inept", "Subterfuge<9>Inept", "Constitution<9>Inept", "Thermology<9>Inept", "Frost<9>Inept", "Antidotes<9>Inept", "Fitness<9>Inept", "Galvanism<9>Inept", "Philosophy<9>Inept" ]<IAC><SE>
a  Achaea32 #Telnet 201: Char.Skills.Groups [ "Vision<9>Inept", "Avoidance<9>Inept", "Tattoos<9>Inept", "Survival<9>Novice", "Weaponry<9>Inept", "Riding<9>Inept", "Venom<9>Inept", "Subterfuge<9>Inept", "Constitution<9>Inept", "Thermology<9>Inept", "Frost<9>Inept", "Antidotes<9>Inept", "Fitness<9>Inept", "Galvanism<9>Inept", "Philosophy<9>Inept" ]
Reply with quote
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Tue Sep 28, 2010 1:27 am   
 
no no, I want to see the skills I get within the skillset. Like, when I do AB VISION, then do %gmcp.char.skills.list.list I get:

Looking|Glancing|Information|Secrets|Squinting|Flyers|Letterlist|Stargaze|Observe|Evaluate|Farsight|Syringelist|Pipelist|Vigilance|Treewatch|Deathsight|Bandagelist|Elixlist|Search|Recognition|Skywatch|Aura|TunnelVision|MagicList|Keylist|Alertness|Rites|Vibes|Traps|Marks|Nightsight|Hypersight|Thirdeye|Gauge|Tattoos|Wormholes|Wounds|Contemplation|Telesense|Appraise|Angels|Entities|Allysense|Discernment
Reply with quote
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Tue Sep 28, 2010 1:35 am   
 
Wait, it doesn't seem to fire right away, it's like it waits for the next command from the Mud before it sends me the response....weird, but it works, thanks!

Edit: Although this apparently doesn't change the skill grouping for the char.skills.list.list for me....any ideas?

Edit2: Found it, I have to leave name blank, that does it. So if I just send group, it does what I wanted.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Tue Sep 28, 2010 10:12 pm   
 
IRE only sends GMCP data with a prompt as far as I can tell. It's very annoying.

Edit: That is to say, you send the message and have to wait for/force a prompt to get a response.
Reply with quote
talonnb
Apprentice


Joined: 30 Oct 2004
Posts: 127

PostPosted: Thu Sep 30, 2010 6:03 am   
 
Is there no way to ask for a response? There must be a way to ask for a response.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Thu Sep 30, 2010 6:52 pm   
 
In theory the server is supposed to respond to a GMCP message immediately. If IRE is waiting to send it with other data, then that might be a bug on their end.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Oct 01, 2010 12:54 am   
 
It's definitely an IRE thing, at least on aetolia, but their code is, of course, IRE-wide. It's been tested with multiple clients, so for sure it's not a cmud issue.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Fri Oct 01, 2010 1:08 am   
 
Code:
1.6820 | i    Lanira ><IAC><SB><201>Char.Skills.Get {"group":"Lycanthropy","name":"Berserk"}<IAC><SE>
3.0778 | ---
0.0027 |      Lanira |Message sent, no response, sending blank line to mud to force prompt.
1.2556 | i    Lanira ><CR><LF>
0.9471 | i    Lanira *<IAC><SB><201>Char.Skills.Info { "group": "lycanthropy", "skill": "berserk", "info": "Usage: BERSERK\n\nFly into a rage so great you'll find yourself incapable of slipping into\nunconsciousness or being stunned, as well as immune to paralysis, at the\ncost of knowledge of yourself.                                          \n" }<IAC><SE><IAC><SB><201>Char.Vitals { "hp": "4515", "maxhp": "4515", "mp": "4940", "maxmp": "4940", "ep": "20400", "maxep": "20400", "wp": "24900", "maxwp": "24900", "nl": "33", "xp": "1576790", "maxxp": "4643429", "blood": "100", "bleeding": "0", "blind": "0", "deaf": "0", "prone": "0", "cloak": "0", "fangbarrier": "0", "flying": "0", "status": "living", "balance": "1", "equilibrium": "1", "left_arm": "1", "right_arm": "1", "string": "H:4515/4515 M:4940/4940 E:20400/20400 W:24900/24900 NL:33/100 " }<IAC><SE><<ESC>[32m4515<ESC>[37m/<ESC>[32m4515<ESC>[37mh <ESC>[32m4940<ESC>[37m/<ESC>[32m4940<ESC>[37mm <ESC>[32m20400<ESC>[37me <ESC>[32m24900<ESC>[37mw <<ESC>[32meb lr<ESC>[37m> <<ESC>[33m<ESC>[37m>><IAC><EOR>
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net