|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Thu Jul 10, 2008 6:26 pm
[2.30] Rooms with tagged names not matching? |
I have a trigger which catches certain room names and uses #tag name to specify the room name that should be used on the map. This used to work fine, and the map would correctly follow my movement through those rooms. It doesn't work now. I don't know when or how it broke. I haven't touched the map configuration, and I haven't visited the map areas with the renamed rooms for quite some time.
I tested this in another area of the map as follows:
Map 2 or 3 rooms next to each other
Move back and forth between them to verify that the map follows your location correctly
Turn on mapping mode
Pick one of the rooms to tag (in my case, the room name was 'Western Ward'):
#trigger {Western Ward} {#tag name "Test Room"}
In that room, do: #look
#show %roomname
Verify that the map has named that room 'Test Room'
Now move out of the room; see that the map follows your location
Move back into the room--the map does not follow!
It looks like the map is testing the mapped room name against what comes from the mud and ignoring the #tag when matching room names. Can anyone else verify this? Or have I somehow done something to my configuration to mess this up? |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Thu Jul 10, 2008 6:54 pm |
AFAIK, this is true. The mapper creates a trigger with the pattern ^roomname$, where roomname is the name of the room in that direction according to the map database, that sends the #ok command to watch for room names. So your room name has to be in the MUD text somewhere - there're options in the mapper config to remove the ^ and $ from the triggers, so it'll match even if they're not always at the start or end of lines.
This is presumably something that'll be improved in the mapper rewrite. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Jul 10, 2008 7:28 pm |
You need to add an #OK command to your trigger to tell the mapper that you have entered the room:
#trigger {Western Ward} {#tag name "Test Room";#OK}
As Fang mentioned, the mapper creates it's own temporary #OK trigger based upon the name of the room and looks for that name to be displayed by the MUD. Since the MUD never displays "Test Room", it never fires the #OK command to confirm the movement into the room.
This isn't something that I plan to change in the rewrite. In this example, there isn't any way for the mapper to know that you have moved into the "Test Room" once you have change the mapper room name. How could it possibly magically determine that moving into "Western Ward" was the same as "Test Room" without some sort of command like #OK.
Actually, I don't know why you'd ever want to change the room name in the mapper like this. Seems like you should be changing the "Short room ID" name for the room, rather than the name itself. If you assign a short ID name to a room, the ID is shown on the map mouse-over instead of the room name. And you can use the room ID name in various speedwalk commands like #WALK, etc. So it essentially replaces the visual room name with a new name but without removing the original name that is used to detect the room from the MUD itself. |
|
Last edited by Zugg on Thu Jul 10, 2008 7:28 pm; edited 1 time in total |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Thu Jul 10, 2008 7:28 pm |
Hm. But this used to work. The problem is that some of the room names change depending on certain circumstances or characteristics of the character observing the room. So I had to #tag those room names to something less volatile. The mapper used to be able to follow my movement fine through those rooms. I'm trying to remember the last time I actually used the map in those rooms, but it was sometime after v2.0. If it doesn't work, there's little point to using #tag on room names.
I may be able to change the name in all those rooms, but it will be quite a chore. I have over 10,000 rooms like that in my maps. (Yes, it's odd that it's so huge but I haven't been there in a while. It's unfrequented in part because it's big, empty, and hard to map ) |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Jul 10, 2008 7:30 pm |
If it worked before, then you were likely running the mapper in "Fast" mode where it doesn't use the #OK triggers and just automatically confirms each movement. Otherwise there hasn't been any changes made to the mapper, and it's impossible for this to work in Safe or Slow mode, even in the original zMUD mapper. If the MUD doesn't display text that matches the room name, then the mapper cannot confirm the movement in Safe/Slow mode.
|
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Thu Jul 10, 2008 7:30 pm |
I never had an #OK in there before, but that should solve it.
You may be right, I may have had it in Fast Walk mode before. |
|
|
|
|
|