|
Talahaski Enchanter
Joined: 10 Oct 2000 Posts: 656 Location: USA
|
Posted: Thu May 01, 2008 10:45 pm
mapper - follow mode, highlight changes |
Is there any way when walking in follow mode and entering a room, to compare the room to the information the map database has stored and display any differences.
For example if a new exit gets added to a room or the description gets changed slightly (some object was added to the room description). It would be awesome to echo what is different to another window, then I can decide if I want to explore whatever is new. After exploring the new stuff, I would then want to update the room information in the mapper. But If I decide not to explore the new stuff today, I would NOT want to update the map information yet. Instead perhaps just change the room color or do something to flag the room as having changed. that way I can investigate another time. |
|
_________________ Talahaski
dartmud.com 2525 |
|
|
|
chris-74269 Magician
Joined: 23 Nov 2004 Posts: 364
|
Posted: Fri May 02, 2008 1:43 am |
Quote: |
roomload
Syntax: %roomload(vNum,value)
Return or set the Reload flag of the room to value. Three different values can be reloaded: Name, Description, Exitinfo. Use a value with bit 1 assigned to name, bit 2 assigned to description, and bit 3 assigned to exit. So, a value of 7 (all three bits set) will set all three flags. If vNum is omitted, the current room is used.
roomload Example:
#CALL %roomload(,2)
tells the mapper to reload the description text from the MUD the next time you enter the current room.
|
|
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Fri May 02, 2008 1:14 pm |
Chris-74269's solution would actually update the new map information rather than point out discrepancies.
I have a partial solution, but it requires the ability to recognize and trigger on all room descriptions. I have a trigger that grabs room descriptions for certain types of rooms so that I can remove variable parts of the description (illumination and similar things) and #TAG the result for the mapper. As an afterthought, I store the modified description in a variable @description. I also have an event onRoomEnter:
Code: |
#if (@description != %roomdesc) {#say Room Description Has Changed~!}
|
Something similar would work for you, but you'd have to somehow grab and store all of the room elements you want to check. Talahaski, I suggest triggering on the illumination phrase in the description, if you can. You should be able to grab the exit list easily enough, too, but comparing it to %roomexit will be tricky, due to non-compass exit names. You'll also have the problem of exits marked in the map which don't show in the exit list from the mud, such as exits implied in the description. But at least that is not a case of new things which aren't on the map yet. |
|
|
|
Anaristos Sorcerer
Joined: 17 Jul 2007 Posts: 821 Location: California
|
Posted: Fri May 02, 2008 11:47 pm |
You can check and/or manipulate the non-standard exits as follows:
Code: |
....
#FORALL %roomexit( $vnum) {
$room = %roomlink( $vnum, %i)
#IF (%null( $room)) {$room = %item( %roomportal( $vnum, %i), 2)}
....
}
....
|
Or something like it. |
|
_________________ Sic itur ad astra. |
|
|
|
Talahaski Enchanter
Joined: 10 Oct 2000 Posts: 656 Location: USA
|
Posted: Sun May 04, 2008 3:48 pm |
Perhaps this would be better suited as a enhancements to the mapper by adding a new mode of travel.
Maping with update as exists today
Mapping without updating, highlight differences for existing rooms, map new rooms
Follow mode - as exists today
I'm not sure I can grab the descriptions myself, that would take some amount of work. When your mapping, are you always using follow mode then, and manually adding rooms? how are you sending the description information to the mapper for a new room. |
|
_________________ Talahaski
dartmud.com 2525 |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Sun May 04, 2008 5:10 pm |
Perhaps it'd be simpler to remove the three modes altogether and change them into three toggleable options: Following, Updating and Creating. With following off, the mapper won't parse any text and won't move, create or update. With following on but the other two off, it'll follow but not update, like the current follow mode. With update mode on, it'll update rooms that already exist if they're different. With creation on, it'll create new rooms but won't overwrite them.
Also quite nice would be if, when you have update and create on, instead of creating a new room when the room you enter is different (which is the current behaviour), it'd update the old room instead. With both on, it'd only create new rooms when you followed an unlinked exit. |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Mon May 05, 2008 1:54 pm |
That's an interesting idea.
As for mapping, Talahaski, I do have mapping mode turned on when I map. I trigger on the illumination phrase (which is in every room description in Dartmud), massage the description to pull out the variable parts, and use #TAG to send the description to the mapper. So far I've only done this for a limited set of variable phrases which appear in certain rooms, so I can't use auto mapping for the entire world yet. This discussion has inspired me to work on it some more (though I seem to be having some trouble with psub now). |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Mon May 05, 2008 2:59 pm |
Eh, a much easier solution to variable descriptions is to just not use the description. There're very few instances on most muds where knowing the description of a room is useful.
|
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Mon May 05, 2008 3:13 pm |
In the case of Dartmud, it is actually useful. For instance, there is a maze area, where the room names are all similar, but the descriptions are more useful. In addition, you can scry for people, but you only get a room description, not a room name.
|
|
|
|
|
|