Discworld MUD Speedwalking with Zmud / Cmud
What is it?
The Automapper part of Cmud supports speedwalking. This allows you to double click anywhere on the map and the automapper will calculate the fastest way to get you there and send the directions to the MUD. Speedwalking operates in three different modes.
- With Fast speedwalking selected, the movement commands to get to the destination room are sent all at once to the MUD.
- When using Safe mode the mapper sends the all direction commands, then watches for the appropriate match before updating your displayed position.
- Slow speedwalking is very similar to Safe speedwalking, except that movement commands are sent one at a time. This is the most useful and most recommended way to speedwalk because the Slow Walk timeout can be used to abort a speedwalk in the middle, as can the #PAUSE and #STOP commands You can also send other commands in the middle of the walk. For example, if you encounter a monster and start fighting it, you would use #PAUSE, and then continue when done fighting using the #STEP command.
How to configure it.
Easy: If you simply set it to Fast speedwalking, Cmud / Zmud will send all the direction commands in a rapid stream queuing up a long list. This works, but there is a better way.
Better: Finally Slow speedwalking is possible. The current discworld.mdb has all roomnames tagged (with something at least). The configuration I will describe will send one direction at a time and pause until the room is fully loaded. A room mismatch will abort the speedwalk.
First set "options output shortinlong=on" in your discworld options. We will be using the "shortinlong" descriptions as room names.
Find a quiet spot outside (for the weather description) with a south direction and do a "Mapper/Reconfigure". NB: Cmud/Zmud is really flakey about this part, you might have to play it it a bit here (and options output) to detect rooms properly.
Mapper/Config/Configuration Settings/Config
- Room Name: All options Off.
- Room Description: Room Description Off, Multiline Description and Room Description changes On. The "discworld.mdb" file contains no room description information.
- Room Exits: Room Exits On, Use entire exit paragraph On, Exit line contains the key On, Exit line keyword "obvious", All other options Off. The MXP room exits should work, but this nails it down.
Mapper/Config/Configuration Settings/Speedwalking
- Speedwalking mode: SLOW
- Automatic step configuration: Disable automatic confirmation (The triggers will do this for us).
- Center map after every movement On, Update map on each step On, All other options here are your preferances.
Main Menu/Options/General/Scripting/Slow walking
- Timeout aborts walk On.
- Timeout value 15000. (atuin can be a real sloth at times)
Triggers
- Make a new class called "mapper"
- Make a new variable called "TrigRoomName"
- Make a new trigger:
This gets the room name from the MUD and pauses slow walking while the room loads.
Updated May 2007 cmud has been fixed.
Trigger pattern: ^~[&{TrigRoomName}~] #TAG name @TrigRoomName - Make a new trigger:
This trigger will match room names to map names and resume the slow walk. If it encounters a mismatch it will stop the speedwalk, reset to fast speedwalking mode and stop the mapper following any more.
MXP Trigger pattern: RoomExits #IF ((%inwalk()) AND (%walkmode()=2)) { #STEP #IF (%roomname() <> @TrigRoomName) { #STOP #NOOP {%walkmode(0)} #MENU {Mapper|Off} #SA Room mismatch. Slow Walk stopped. } }It is using the %walkmode() to detect if you are slowalking or not, a bit clunky I'll admit but it works ok. The "Mapper|Off" is optional. #NOOP {%walkmode(0)} is optional as well if you dont want the mapper to stop room matching.
Good luck.
This is a Cmud configuration, I haven't confirmed it for Zmud sorry. If you have any problems or suggestions you can always email me at Discworld@Wideopen.Biz