|
talonnb Apprentice
Joined: 30 Oct 2004 Posts: 127
|
Posted: 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? |
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: 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:
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 |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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. |
|
|
|
talonnb Apprentice
Joined: 30 Oct 2004 Posts: 127
|
Posted: 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 |
|
|
|
talonnb Apprentice
Joined: 30 Oct 2004 Posts: 127
|
Posted: 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
|
|
|
|
dbosst Apprentice
Joined: 15 Jun 2010 Posts: 121
|
Posted: 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" ]
|
|
|
|
|
talonnb Apprentice
Joined: 30 Oct 2004 Posts: 127
|
Posted: 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 |
|
|
|
talonnb Apprentice
Joined: 30 Oct 2004 Posts: 127
|
Posted: 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. |
|
|
|
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: 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. |
|
|
|
talonnb Apprentice
Joined: 30 Oct 2004 Posts: 127
|
Posted: 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.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
|
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: 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.
|
|
|
|
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: 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> |
|
|
|
|
|
|
|
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
|
|