Configuring zMUD to automap Arm

Started by Cuttlefish, November 06, 2003, 01:27:27 AM

(Edit: A more readable html-ized version is available at https://www.blacktron.com/arm/zmud.html)
(Edit: Actually, go to the link above, don't read this.  Repeat: GO TO THE LINK.  I'm getting tired of editing both and will just edit the text at the link from now on.)

Okay, second try at this.  I broke it out into a separate topic so those interested are more likely to see it.  Caveat: I'm writing this while my char is dead, so I can't exactly test everything.  My own setup kind of grew one piece at a time.  I'd like to be able to clear all my settings and try my own instructions but I can't right now.  Please IM or message me and let me know if you have any problems.


Getting zMUD to automap Arm takes some doing, but once you get through it all it works really well.  First, you need to configure the mapper.  I've found that the best way to do this is use the "Offline Setup" mode.  Otherwise, unexpected events can screw things up.

Open zMUD and open the automapper.  Switch to Map Creation Mode.  If it doesn't ask you to Configure, go to Config->Reconfigure.  If you get any kind of error about a closed DataSet, you may need to try creating a new map and/or double-clicking on the "untitled" zone.

Anyway, once you get the Automapper Setup Wizard up, click on Offline Setup in the top right.

Now paste the following in the box:

A Shadowy Alleyway [EW]
 A narrow, small alley twines its way between small crumbling buildings
made of mudbrick, their aging bulk casting long shadows across the
hard-packed, sandy dirt which surfaces it.  Thick with shadows, it smells of
decay and urine.  A multitude of noises from the bustling outside filter
into its confines, resounding against the ancient, timeworn bricks.  


Hit Next, leave all the boxes you want checked and click Next again.  It should now color the room name blue, the exits red (don't worry about it coloring the final square bracket) and the description green.

If it isn't coloring things right, try exiting zMUD and starting over.  I've noticed that sometimes the auto-configure gets in a bad state.  If you still can't get it to auto-configure, send me an IM or drop me a private message and I'll see if I can help.

Sometimes, zMUD sees exits like [NW] and thinks it's a northwest exit instead of an exit north and one west.  If you get this problem, go into the mapper to Config->Configuration Settings->Configuration->Room Exits and check "Single character exits".  This will let it know there is no such thing as diagonal exits.  As mentioned before, zMUD get's a little funky in the automapper when you change settings and stuff.  You may need to restart zMUD and/or run Reconfigure again.

There's a setting you'll want to change if you're going to use zMUD with Arm.  By default, zMUD uses ~ as the escape character.  As you might imagine, this causes some problems and makes you have to use ~~ in your emotes.  Ditch that by changing your settings in View->Preferences->Special Characters.  Change Quote char to \ (that's a backslash).

Okay, next major thing is your prompt.  If you want auto-mapping to work reliably, you're going to need to add a carriage return to the end of your prompt.  Otherwise, the mud can wind up sending your prompt on the same line as the room name, which royally screws things up.  This does mean you'll have an extra blank line after your prompt, but that's the tradeoff you have to make.  To set your prompt right, do this:

prompt (stuff you normally put in your prompt)\\n

The \n is the carriage return, the extra \ (now that you've changed the Special Character as per the above instructions) is necessary because otherwise zMUD intereprets "\n" to mean "n".  If you don't get this, don't worry, it's not that important.

A big problem that zMUD has (and I don't fully understand why) is that when you type a command, it puts it into its command queue.  Unfortunately, if this isn't a direction command it then "sticks" and won't the maps stops tracking you.  To fix this, you'll need a trigger that fires each time your prompt shows up.  This trigger will clear out the last command if it's a non-directional command.

#TRIGGER {>} {#IF (%ismember(%item(%lastdir,1),"n|e|s|w|u|d")=0) {#NODIR}}

The exact matching text (the part that shows > above) will depend on your prompt.  If your prompt looks like "110/120:" then you would have it trigger on {:$}.  Note that there is a "Test" tab in the settings window where you can test your patterns for a certain trigger.  If you put a > in your trigger, the above will work fine for you.

The only thing it lacks on is if you use "enter" or "leave".  I'm still checking on this.  I hope to include some notes on mapping enter and leave combos.

Now, onto the other main thing that can cause the auto-mapper problem.  You know how sometimes you walk into a room and it says "Stinging sand swirls around you." before it shows the room name and description?  But then sometimes it says "Stinging sand swirls around you."  And then sometimes it doesn't say anything?  I call these "incidentals" and they're a big problem.  Unchecked, the mapper thinks these lines are the room name.

To avoid this problem, use the #NOMAP command tied to trigger on these incidentals.  #NOMAP tells the mapper that the previous line should be ignored for mapping purposes.  Here's an example:

#TRIGGER {^Sparse sands blow across your path.} #NOMAP incidentals

The ^ means this comes at the beginning of the line.  It's not absolutely necessary, but it does reduce the amount of searching on mud output.  The "incidentals" at the end is a zMUD "class".  Basically, this is just a folder.  I like to group all these incidentals into a single folder so

Here are some more examples:
#TRIGGER {^Stinging sand swirls around you.} #NOMAP incidentals
#TRIGGER {^Terrible, biting sand whips around you.} #NOMAP incidentals
#TRIGGER {^The area is filled with a yellow light.} #NOMAP incidentals
#TRIGGER {^Your concentration falters...} #NOMAP incidentals
#TRIGGER {^You are getting hungry.} #NOMAP incidentals
#TRIGGER {^The sun} #NOMAP incidentals

The last one is a little broad, but there's not much harm in marking stuff as #NOMAP so don't worry about false positives.  The only time it will mess things up is if yo uput something in that catches a room name.

And a trickier one:
#TRIGGER {^The %w sun} #NOMAP incidentals

This one catches the various states of the sun.  You could also make ones for the mmons, etc.

There are a LOT of these incidentals, so you'll just need to keep adding them as you go along.  I'll try to get something together and keep a list of the ones I've found (that aren't too IC-specific to certain areas) on my website.

Here are a couple of other handy triggers.

#TRIGGER {^(%w) seems to be closed} {#door %lastdir( ) %1; #NODIR} mapping

This automatically detects you bumping up against a closed door and prevents the the automapper from thinking you successfully went in the direction you typed.

#TRIGGER {^You follow * and * ({east|west|north|south})} {#MAP %1} mapping

This will make the automapper follow you when you're following someone else.  Again it has the enter/leave shortcoming, but I'll try to address that later, too.

#TRIGGER {^Alas, you cannot go that way.} #NODIR mapping
#TRIGGER {^Maybe you should get on your feet first.} #NODIR mapping

Lets the mapper know you typed a bad direction.




Okay, this is everything I have for now.  Hopefully I haven't left anything out but it's after midnight and I'm coming down with something and I just took a knock-you-the-hell-out cold pill a couple of hours ago.  I'll probably come back and edit this a few times.

Wow.  Cuttlefish.  Thank you very much.  I feel really lazy now having been one of (if not the only) person to ask you how you did it.

Thanks a ton.

I personally think thats it's easier just to turn off the special characters if you aren't going to be using that function, but then I don't use zMUD anymore and don't know if those special characters are needed for anything, so you don't have to fiddle with all that. Just turn them off.

Mostly though... They aren't. As you need to turn them off anyways for the emote system.


Creeper has nothing else to add.
21sters Unite!

Nifty.  One problem I had was with some rooms that had a certain combination of exits, I think it was [NW] rooms but I'm not sure, instead of putting in the two exits it would put in one diagonal exit.  I couldn't get it to understand that I could go north or west, not northwest.  If I actually walked around I could show it the exits that were really there, but it still left an annoying false diagonal exit on the map.

AC
Treat the other man's faith gently; it is all he has to believe with."     Henry S. Haskins

You're welcome CRW.  Now you see why I cried when Mozilla crashed on me last time.  This time I did it in notepad.

creeper: Well, the escape character is pretty necessary.  If you have a trigger like I do that colors the room name:

#TRIGGER {^(*) (\[)(%w)(\])} {#PCOL $FF0033 %x1; #PCOL $0033FF %x2;#PCOL $0099FF %x3;#PCOL $0033FF %x4}

Note that if you don't have an escape character, you can't use \[ in your pattern to tell it "really match a [".  Normally, in a pattern [] is used to surround a range of characters, like [a-z].  So if I didn't have an escape character, I'd have no way to create the pattern above.

Then again, I'm not zMUD expert at all.  You should always trust your own experience over my ramblings. ;)

FYI: The trigger above colors you room name prompt.  It colors the name one color, the brackets another, and the exits a third.

Thanks. You are a darling.
Varak:You tell the mangy, pointy-eared gortok, in sirihish: "What, girl? You say the sorceror-king has fallen down the well?"
Ghardoan:A pitiful voice rises from the well below, "I've fallen and I can't get up..."

AC: Good point.  Again, since my char is dead I can't start from scratch.  This was one of the things I did that I forgot about.  If you get this problem, go into the mapper to Config->Configuration Settings->Configuration->Room Exits and check "Single character exits".  This will let it know there is no such thing as diagonal exits.  As mentioned before, zMUD get's a little funky in the automapper when you change settings and stuff.  You may need to restart zMUD and/or run Reconfigure again.

I'll edit the first post to include this info.

Can someone help me figure out how to create the following trigger in Zmud?

#TRIGGER {>} {#IF (%ismember(%item(%lastdir,1),"n|e|s|w|u|d")=0) {#NODIR}}

When I create triggers, there is a Pattern field and a Value field. I'm not seeing where I can enter the whole line like above. Thanks.

Just paste that whole line into it and hit enter. #TRIGGER means it will create a trigger from that for you.

When I do that and check the Value field, it says there is a syntax error immediately following "(%ismember".

This is an excellent post and has helped me quite a bit, the problem?  

 His website is down and there needs to be an update now that "quit" shows up in the direction cue.

 
 I will gladly host a website with his hold info on it, CONTACT ME!

                                                 Pantadon

Pantadon: "brief novice" will turn off 'save' and 'quit' showing up in the direction box.
Quote from: MalifaxisWe need to listen to spawnloser.
Quote from: Reiterationspawnloser knows all

Quote from: SpoonA magicker is kind of like a mousetrap, the fear is the cheese. But this cheese has an AK47.

Maps?

*pfft*











But seriously, good work. Some people find maps very helpful.

Mapping the cities as a (complete) noob helped me feel much more comfortable with the game. I used zMUD for it, following the above directions, with some handwork too. (The weather in Allanak really screws with automapping.) For someone who will -still- always turn east when she means to turn west, mapping was essential. Without it, my first character would have probably just stood in the Gaj until she starved to death...or wandered off to someplace and died from being lost or in the wrong place. I will probably always refer to my maps, because in a text-based world, I really need a visual reference.
Quote from: Vanth on February 13, 2008, 05:27:50 PM
I'm gonna go all Gimfalisette on you guys and lay down some numbers.

I have maps in my head. I find when I'm exploring a new place, I get disorientated, much like IRL. But there just comes a point when an area clicks, and I can see it in my head, remember where everything is quite easily, even when I come across new parts of that area.

Quote from: "Beux"I have maps in my head. I find when I'm exploring a new place, I get disorientated, much like IRL. But there just comes a point when an area clicks, and I can see it in my head, remember where everything is quite easily, even when I come across new parts of that area.

Pretty much the same thing I try to do, visualize what the area looks like based on the description and surroundings, and piece together some kind of graphical puzzle in my head.
So far, it works pretty well.

First time in the game, I started to draw a map of Allanak on a Post-It note. Approx 37 brightly-coloured self-adhesive pieces of paper later, I had a huge multi-coloured mess of biro scribbles stuck together with sticky tape. It looks like someone has had an aneurysm in a stationer's.
quote="Dakkon Black"]Found salty oasis. Actually mek pee.[/quote]

*necro*

I can't manage to find a copy of the original page that the OP said he was updating exclusively... does anyone have a copy? Archive.org didn't archive the page. :(

Thanks so much for this; I've tried to do the same, but I've run into all of the problems that your trigger fixes.
Quote from: Gimfalisette
(10:00:49 PM) Gimf: Yes, you sentence? I sentence often.