|
juki919 Newbie
Joined: 08 Oct 2011 Posts: 6
|
Posted: Thu Aug 02, 2012 2:22 pm
Automapper went crazy |
Hi, after half year i started to play my favourite MUD again. I realized my mapper went mad.
Problem is when automapping and after moving to another room only room name and exits are captured. Room description is skipped. Same thing happen with reload room info.
I tried to run recofigure. Just after reconfigure and correctly setting exists string first room is captured correctly. All other rooms are just room name and exits. Room description is not saved.
Room Name
Some room description than can
have multiple lines. Some more room
description. Even more description.
Obvious exits:
east - Room name to east
south - Room name to south
123/123H some prompt >
Another weird thing is Show Actual Position shows random room in mapper. Nothing matches to actual room (nor name, desc, exists).
When speedwalking using map, client does not parse room descriptions correctly resulting in faulty movement.
I tried to create whole new session, without triggers, completely new map but these problems remain.
Later i can provide my automapper config, but this config worked for years without problem, something just wend mad.
I also tried my backups, problem remains.
I asked MUD admins for recent changes, text output was not changed for few years, all they added recently is MCP support. Is it possible that its screwed because of that?
Maybe if i can force automapper to use mine trigger to parse room text myself and pass parsed parts to automapper, is it even possible? |
|
|
|
juki919 Newbie
Joined: 08 Oct 2011 Posts: 6
|
Posted: Tue Aug 07, 2012 8:08 pm Issue |
All that happened is our admins implemented GMCP (sorry no MCP) - as automapper used GCMP data instead of text data it causes problems. All was fixed when i disabled GCMP protocol support.
But one question remains: How can you retrieve room description using GMCP? i checked few package specifications and there were no such thing. Also is it possible to change automapper to use different gcmp object for room description? |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Tue Aug 07, 2012 8:34 pm |
You need to use a trigger to capture your room desc. From there, you would then call %roomdesc() to fill in the mapper.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
juki919 Newbie
Joined: 08 Oct 2011 Posts: 6
|
Posted: Thu Aug 09, 2012 10:39 am |
Hi, i tried capture description by pattern triggers and use %roomdesc(). But automapper is still ignoring it in mapping mode.
(and im sure i captured it correctly). It looks like automapper uses gmcp or ascii input, but cannot use both.
What i did is:
1. create GMCP trigger for ROOM.INFO
setting roomName and roomVnum custom variables,
turned on flag for room description capture
2. create ^(.*)$ regular expression pattern trigger that checks if flag for room description capture is enabled
after it reads lines and saves them to custom variable roomDesc
when receiving "Obvious exits:" line, stop capturing roomDesc and use %roomdesc()
Automapper uses Room.Info.Desc variable, but this is not in specification and thats why its empty.
Maybe i can try inject Room.Info.Desc data, but when ROOM.INFO gmcp is fired, ascii input is not yet sent. If i can capture it before automapper,
wait for description and refire it. I wish i can override all automapper capturing and let automapper only do user interface |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Thu Aug 09, 2012 1:07 pm |
Perhaps you are executing the %roomdesc() function before Cmud has actually created the room. In normal mapping, it won't create the room until the prompt, but I don't know when it creates the room under GMCP input.
|
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Thu Aug 09, 2012 10:38 pm |
The GMCP string sent to the user is used as the prompt, so I imagine that would be when the room creation event is triggered.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
juki919 Newbie
Joined: 08 Oct 2011 Posts: 6
|
Posted: Thu Aug 09, 2012 11:06 pm |
Sorry guys, i found bug in my script, i used $a = %roomdesc(@roomDescVariable) but i should use $a = %roomdesc(,@roomDescVariable) So its working now. - i can capture room desc properly and its saved to room. I call romdesc on trigger on line before prompt and its still working. Ty for help
|
|
|
|
|
|