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
oxseyn
Wanderer


Joined: 26 Nov 2011
Posts: 71
Location: Colorado Springs

PostPosted: Tue Apr 10, 2012 3:46 pm   

Need Help Improving my Automapper Configuration
 
My automapper is working for some rooms, but not all. Here's my current configuration:

Code:
Version: 214
Name Start: 0
Desc Start: 1
Desc End: 5
Exit Start: 6
Exit End: 7
Exit in Prompt: 0
Exit in Name: 0
Exit contains key: 1
Name paragraph: 0
Desc paragraph: 0
Exit paragraph: 0
Bracket prompt: 0
Short exit names: 0
vNum in Name: 0
Exit keyword: exit
Exit after keyword: 0
Match room name mode: 1
Use Descriptions: 0
Entire exit paragraph: 0
Single char exit: 0
Autoprompt detect: 1
Complex prompt: 1
Prompt char:
Name ends in period: 1
Number prompt: 0
No MUD Prompt: 0
Room Name Propercase: 0
Prompt trigger: ^\$\w+ \[\d+\% \d+\% \d+\% \d+\%\] \[\d+ \d+ \d+\] \w+\:\s*
Prompt Regex: 1
Description changes: 0
Use VNum: 1
Ignore room case: 0
Match partial room name: 1
[End]


I'm testing movement detection in safe mode to troubleshoot which are actually working and which are not. Here are some samples:

This works:
Quote:
The village green.
You are in a large open grassy place just south of the village church, which
dominates the scene. The main village lies over to the east and Ingis lane
leads off south. To the west, there is a humpback bridge crossing a wide
river, and beyond that, untamed wilderness.
It is evening and the gloom is spreading.
There are four obvious exits: east, west, north and south.
A comfortable couch.
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good:


This works:
Quote:
The milkbar.
You are in a milk bar. Here you can order refreshing drinks of a different kind.
Type 'menu' to get a list of drinks.
There is one obvious exit: west.
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good:


This does not work, however after moving #find will move me to the correct room:
Quote:
w
The oak door is already open.
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good: A stairway.
You stand at a small landing. Stairs go up, and down. To the east is a wooden
door.
There are three obvious exits: down, up and east.
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good: Slow walking aborted

As you can see from the example - sometimes the mud sends a prompt right before it sends the room name. Normally the room name would be at the start of the line, but in this case it's not. This appears to happen everytime I mark a link as having a door (it tries to open the door before moving to that room).

This does not work either, however #find works here as well:
Quote:
e
The oak door is already open.
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good: The attic of the church.
This is the attic of the village church. The air is hot and stuffy. Also, it
looks like the room hasn't been cleaned up for a long time: dust covers the
floor and walls. There is a window which is closed set in the north wall, and a
door to the west.
There is one obvious exit: west.
Saint Dimitrie's staff of lightning.
Saint Dimitrie's sword.
A white, shimmering robe.
A tube marked 'Instant Slim'.
A war axe.
A tube marked 'Instant Slim'.
A tube marked 'Instant Slim'.
A tube marked 'Instant Slim'.
A wand of healing.
A backpack.
A big sack.
A big sack.
The spiked boots of Yogul (lethal).
The spiked gloves of Yogul (aggressive).
A beautiful key.
A big carrot.
A pot.
A red card.
A black key.
A recipe for apple pie.
An amulet of mistletoe.
An Aes Sedai's ring.
An Aes Sedai's ring.
A protective scalemail.
A compass.
A small pouch.
A pair of dark leather boots.
Metal ring (shimmering).
An Aes Sedai's ring.
A crown of royalty.
Some robes.
A knight's shield.
A small yellow orb.
A thick, dark robe.
A beautifully crafted silver-link circlet.
Metal ring (shimmering).
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good: Slow walking aborted

I'm unsure if the large number of items in the room is affecting the automapper's ability to detect movement?

Most rooms only have a single line of exits. However in rooms with lots of directions, the line wraps and the mud inserts explicit carriage returns like this:
Quote:
The plain near the forest.
You find yourself on the edge of a large plain. The forest track becomes a
road here, that leads straight south to a mighty castle. The clean air and
the healthy green grass makes a contrast to the looming forest. You're happy
to be here, instead of in there.
There are six obvious exits: east, west, north, south, southeast and
southwest.
$Encrypt [0% 0% 0% 0%] [2160023 69 62426] good:

In this case, the automapper doesn't detect the additional directions.

In the following case, the automapper detected the room name "horizon." and the room description "A road leads south into the Tor Androg." It correctly detected the exists:
Quote:
A hillside.
To the east rises the enormous Tor Androg, and carved in its wall is a
tunnel. In the far west is an ocean, you can only see the blue line in the
horizon.
A road leads south into the Tor Androg.
There are three obvious exits: east, west and south.


Also, some rooms (specifically in mazes) will not send the obvious exits line and they will prevent a prompt from being sent back to me.

So from this page: http://forums.zuggsoft.com/modules/mx_kb/kb.php?mode=doc&page=3&refpage=3&a=CMUD_Configuration
I know the following - the mapper groups lines into paragraphs - and it does this by looking for blank lines or the prompt. Assuming a blank line is a line that only contains '\r' or '\r\n' then my mud does not typically send any blank lines. So I believe, even though there are explicit newlines in the description and sometimes in the exit line, that everything should be set to paragraph 0.

I didn't find this in the documentation, but I'm assuming that the lines begin counting from the top, immediately after the direction is entered. So then my "Name Start Line" should be set to 0 (which it is). And subsequently, the room description start line should be set to 1 (which it is). Multiline description is checked.

The auto configure feature set my exits paragraph to 0 (seems right to me) and my exists start line to 6. This is confusing - because it changes in every room. Not sure what this should be.
I have checked "multiline exits" since sometimes there are multiline exits. This doesn't seem to break single-line exits, but it doesn't detect the additional exits when a room has multiple lines of exits either.
The auto config feature checked "exit line contains key" and inserted "exit" into the "exit line keyword" field. My guess is that this is adequate for some rooms, but the reason that it is not detecting multiline exits.

I believe my prompt configure is correct, I have checked auto prompt detect, complex prompt, perl regular expression, wait for prompt in slow speedwalking mode and allow blank line to trigger speedewalking as prompt (not sure if i need that last one). The auto configure feature created a bogus regex, but i fixed it with the following:
Code:
^\$\w+ \[\d+\% \d+\% \d+\% \d+\%\] \[\d+ \d+ \d+\] \w+\:\s*


So ... I know that's a huge wall of text. Any suggestions?
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4672
Location: Pensacola, FL, USA

PostPosted: Tue Apr 10, 2012 4:01 pm   
 
If at all possible, try to turn of mud side wordwrapping, not all muds allow this.
Next I would go about making various #TAG #NODIR and #NOMAP triggers to help CMUD understand your map.
Make sure to reconfigure the map after making mapper related triggers.
_________________
Discord: Shalimarwildcat
Reply with quote
oxseyn
Wanderer


Joined: 26 Nov 2011
Posts: 71
Location: Colorado Springs

PostPosted: Tue Apr 10, 2012 4:19 pm   
 
shalimar wrote:
If at all possible, try to turn of mud side wordwrapping, not all muds allow this.

I do not think this is possible, I've tried to do it in the past without any luck :/

Quote:
Next I would go about making various #TAG #NODIR and #NOMAP triggers to help CMUD understand your map.

I've been using #NODIR and #NOMAP, they help with some problems, but I don't think they help with the ones I asked about. I'm reading up on #TAG now to see if it may help.

Quote:
Make sure to reconfigure the map after making mapper related triggers.

The autoconfigure? It scares me. Everytime I use it it seems to completely break everything.
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: Tue Apr 10, 2012 5:02 pm   
 
Autoconfigure may scare you, but it really is the correct way to do it. If you implement #TAG or #NOMAP settings without reconfiguring, the mapper will not correctly anticipate their actions. With enough #TAG, #NOMAP, and #NODIR settings, autoconfigure should work perfectly.

Looking at your mud output, it is obvious that it is impossible to have a single configuration work everywhere in your mud without the aid of #NOMAP and #TAG.
Reply with quote
oxseyn
Wanderer


Joined: 26 Nov 2011
Posts: 71
Location: Colorado Springs

PostPosted: Tue Apr 10, 2012 5:26 pm   
 
Rahab wrote:
Autoconfigure may scare you, but it really is the correct way to do it. If you implement #TAG or #NOMAP settings without reconfiguring, the mapper will not correctly anticipate their actions. With enough #TAG, #NOMAP, and #NODIR settings, autoconfigure should work perfectly.

Looking at your mud output, it is obvious that it is impossible to have a single configuration work everywhere in your mud without the aid of #NOMAP and #TAG.


Interesting. So the autoconfiguration will take into account #TAG, #NOMAP and #NODIR settings? I didn't read that in the documentation anywhere. I assumed (apparently incorrectly) that reconfigure just simply did the basic junk again (moves me one south, attempts to parse the basic information and regenerate the settings in "configuration settings."
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: Tue Apr 10, 2012 7:31 pm   
 
You are correct about what reconfigure does, but the text that autoconfigure works with is modified by #TAG and #NOMAP. #NOMAP will prevent matching lines from being seen by the mapper (and by autoconfigure) and #TAG overrides some or all of the automapper's identification of room name, description, and exits. You need to reconfigure so that the configuration will take account of the text the mapper will actually see as a result of #TAG and #NOMAP. You also have to reconfigure if you use #SUB to modify the format of room output (like, changing the way the exits or prompt is laid out).
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