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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: 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?
Reply with quote
Fang Xianfu
GURU


Joined: 26 Jan 2004
Posts: 5155
Location: United Kingdom

PostPosted: 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.
_________________
Rorso's syntax colouriser.

- Happy bunny is happy! (1/25)
Reply with quote
Zugg
MASTER


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

PostPosted: 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
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: 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 Confused )
Reply with quote
Zugg
MASTER


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

PostPosted: 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.
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: 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.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion 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