|
geniusclown Magician
Joined: 23 Apr 2003 Posts: 358 Location: USA
|
Posted: Thu Sep 01, 2011 11:07 pm
Mapper Questions, #LOOK and #FIND |
I've been using the mapper with frustrated success for a while. It works, but I'm constantly having to manually move the active room, change special exits and generally spending much more time keeping the mapper in sync than I think I should. I have several very specific questions that may help me along.
First and foremost, I want the mapper to not send "look" and wait for the matching text. If I use #LOOK or #FIND or whatever to sync the mapper with the game, I want it to use %gsl codes. For example, I simulate #LOOK with the following alias:
Code: |
<alias name="roomcapture" id="752">
<value>#CALL %roomname(,%gsl(p))
#CALL %roomdesc(,%gsl(I))
#CALL %roomexit(,%gsl(j))</value>
</alias>
|
In addition to turning off the name/desc/exits in the mapper's configuration settings, I tried the following, but it doesn't work reliably for normal use and not at all for #FIND (which is why they're disabled):
Code: |
<trigger type="GSL" priority="7420" enabled="false" id="742">
<pattern>j</pattern>
<value>#TAG %gsl(j) exits</value>
</trigger>
<trigger type="GSL" priority="7420" enabled="false" id="743">
<pattern>p</pattern>
<value>#TAG %gsl(p) roomname</value>
</trigger>
<trigger type="GSL" priority="7420" enabled="false" id="744">
<pattern>I</pattern>
<value>#TAG %gsl(I) desc</value>
</trigger> |
I have no idea how to do a similar thing for #FIND or to report success to slow walk.
As a related issue, how can I assign a special command to an existing exit? For example, I may use ">go bridge>w" when creating a room. The bridge itself has exits of east and west. I move west, off the bridge back onto the road, and this room has an obvious exit of west, but I have to type "go bridge" to move east back onto the bridge. However, the mapper created the new room (road) with exits east and west. To make it send "go bridge" instead of "e", I currently open the room properties on the mapper and type it in. Similar issue is when the path back is a special command, and the room is created with an "unknown" direction. Currently, I use the > syntax to return to the room I just came from to establish that link. This means when mapping a building with lots of doors, I move forward, back, forward to create the room. How can I set those special exits via command line or alias? |
|
_________________ .geniusclown |
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Fri Sep 02, 2011 12:21 am |
I don't know anything about %gsl, but for your second question, I believe you're looking for the %roomportal function.
|
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri Sep 02, 2011 6:09 am |
Quote: |
First and foremost, I want the mapper to not send "look" and wait for the matching text. If I use #LOOK or #FIND or whatever to sync the mapper with the game, I want it to use %gsl codes.
|
It already does. The bonus is that you don't have to create any scripts to make this happen, it's all built into the mapper directly. |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
geniusclown Magician
Joined: 23 Apr 2003 Posts: 358 Location: USA
|
Posted: Fri Sep 02, 2011 1:41 pm |
@Daern: %gsl codes are extra behind-the-scenes codes sent from Simutronics games. Thanks for the %roomportal reference. It is exactly what I was looking for.
Something must be broken then. When I type #FIND, CMUD sends "look" to the MUD, and responds to text... or when I'm mapping, sometimes it responds to text that's not the room. For example, I'm in Map mode, and a particular exit gives a message that you climb over the wall to get to the next room:
Quote: |
> >climb creeper>w
You grab hold of the rope and pull yourself up and over the wall.
[Other side of the wall]
You're standing on the other side of the wall.
Obvious Exits: none.
> |
This creates a room to the west titled "You grab hold of the rope and pull yourself up and over the wall." with no description and exits of "up".
Also, when I get moved without using standard exits (such as getting arrested, which portals me directly to jail), the mapper assumes that I am where I was. It doesn't do anything to verify that when I go "out" that I end up where it thinks. In the jail example, I have a script that wanders me through town, stopping at each shop for some shoplifting practice. (Thieves. Go figure.) When I get busted and go to jail, the script will respond appropriately by reporting my fines and getting my gear. It has #FIND in the script, but it NEVER works in said script (I have no idea why not), and the mapper assumes I'm still in the shop where I was arrested. It continues the script with #WALK @nextmark, and the mapper first sends the command "out" to leave the shop, and I leave the courthouse. The mapper moves me to the room outside the shop and continues to use the path from said shop instead of from the jail.
The way it should work (IMHO): when it sends a command to move, not only do I want it to wait for a room name/desc/etc, but I want it to verify that the room I arrive in matches the room that the mapper reports me to be in. The mapper should move me, compare %roomdesc of the new room to %gsl(p), and if they don't match it should #FIND where I am, based on the %gsl codes - not by looking. Basically, since all of the information of the current room is always in a accessible variables (the %gsl codes) that are updated whenever I move in the game, there is no reason that the mapper should ever be out of sync with the game, unless the room doesn't exist in the map, or perhaps when several rooms have the exact same information (as it does in some wooded or swampy areas).
So I ask again, is there a way to make it so #LOOK and #FIND do not use "look", but instead use the %gsl codes? |
|
_________________ .geniusclown |
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Fri Sep 02, 2011 3:34 pm |
#LOOK and #FIND use the look command on the strings and doors tab of the mapper config. Just guessing here, as I said I'm not familiar with gsl, but you might be able to change that look command to an alias which guesses your current room with the gsl codes and %mapquery, then #tele's you to it...
|
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri Sep 02, 2011 5:09 pm |
Check the Script Debugger. I know in the past that there were a few rooms in Dragonrealms that had more than the room name inbetween the GSL tags for the room name.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
geniusclown Magician
Joined: 23 Apr 2003 Posts: 358 Location: USA
|
Posted: Fri Sep 02, 2011 6:31 pm |
When that particular case happens next time, I will check the debugger.
This does not change the fact that I want #FIND to use the %gsl codes directly, without sending "look" to the mud. Can that be done? |
|
_________________ .geniusclown |
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Fri Sep 02, 2011 8:03 pm |
The only reason #FIND is sending look to the mud is because the look command in the strings and doors tab of the mapper config is set to look by default. Change that, perhaps to an alias like I described in my previous post, and it won't send look to the mud anymore. I don't think there's a way to make it look at the current %gsl codes to find your position, though (at least, it doesn't with gmcp). It probably would update your position if the gsl codes were sent again (it does with gmcp), so if there's a way to request the server to send them, you might try making your alias do that.
|
|
|
|
geniusclown Magician
Joined: 23 Apr 2003 Posts: 358 Location: USA
|
Posted: Sat Sep 03, 2011 1:20 pm |
I changed that setting (which I looked at a dozen times without realizing it was what I was looking for) to "MapperLook" and created the following alias:
Code: |
<alias name="MapperLook" id="945">
<value>#TAG name,desc,exit {%gsl(p)} {%gsl(I)} {%gsl(j)}</value>
</alias> |
The effect? When I type #LOOK, nothing happens, until I manually type "look", at which time the mapper updates. From what I understand you're telling me, I shouldn't even need this alias for it to work properly, but it's a no go. What am I missing? |
|
_________________ .geniusclown |
|
|
|
|
|
|
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
|
|