TinTin++ Mud Client Manual
Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads
Map
space
Syntax: #map {option} {argument}
space
TinTin++ has a powerful automapper that uses a room system similar to Diku MUDs which means that odd map layouts and weird exit configurations aren't a significant problem. The mapper provides tools to improve the visual map display. For basic path tracking see path.
space
#map create {size}
space
This command creates the initial map. The size is 50,000 by default and can be changed at any time with the #map resize command. If you play a MUD that uses MSDP or GMCP to provide room numbers you'll have to increase it to the highest reported room number. Increasing the size of the map doesn't decrease performance.
space
#map goto {location}
space
When you create the map you are not automatically inside the map. By default room number (vnum) 1 is created, so you can go to it using #map goto 1. Once you are inside the map new rooms are automatically created as you move around. Movement commands are defined with the pathdir command. By default n, ne, e, se, s, sw, w, nw, u, d are defined.
space
#map map {radius} {filename} {a|v}
space
To see the map you can use #map map. It's annoying to have to constantly type #map map however. Instead it's possible to use #split to display a vt100 map. To do so execute: #split 16 1 and #map flag vtmap. The first command sets the top split lines to 16 and the bottom split line to 1. If you want a smaller or larger map display you can use 10, 13, 19, 22, etc, though the change needs to be a multiple of 3 for the default display setting.
space
If you don't need to display diagonal exits and prefer a more compact look you can use #map flag AsciiGraphics off. This will enable the standard display which uses UTF-8 box drawing characters, results may vary depending on the font used.
space
If you want to display the map in a different terminal open a new terminal, launch tt++, and enter: #port init mapper 4051. In your MUD terminal enter: #ses mapper localhost 4051. This will connect the mapper session to the port you initilized in the other terminal window. Next define the following event in your MUD session: #EVENT {MAP ENTER ROOM} {#map map 80x24 mapvar v;#mapper #line sub {secure;var} #send {$mapvar}}.
space
#map undo
space
If you accidentally walk into the wall on your MUD the mapper will create a new room. You can easily fix this mistake by using #map undo. If you want to move around on the map without moving around on the MUD you can use: #map move {direction}. To delete a room manually you can use: #map delete {direction}.
space
#map write {filename}
space
You can save your map using #map write, to load a map you can use #map read.
space
#map leave
space
You can leave the map using #map leave, the map will still be there, but your movement commands won't be tracked anymore. You can use #map return to return to the room you were in when you left the map. If you use #map read the return point will be set to the room you were in when you saved the map.
space
#map set {option} {value}
space
You can set the room name using #map set roomname {name}. You either have to do this manually or create triggers to set the room name manually. Once the room name is set you can use #map goto with the room name as the argument to visit it. If there are two rooms with the same name #map goto will go to the most nearby room. If you want to always go to the same room you should memorize the room number. You can further narrow down the matches by providing additional arguments, for example: #map goto {dark alley} {roomexits} {n;e} {roomarea} {Haddock Ville}.
space
You can set the room weight using #map set roomweight {value}. The weight by default is set to 1.0 and it represents the difficulty of traversing the room. If you have a lake as an alternative route, and traversing water rooms is 4 times slower than regular rooms, then you could set the weight of the lake rooms to 4.0. If the lake is 3 rooms wide the total weight is 12. If walking around the lake has a weight less than 12 the mapper will go around the lake, if the weight is greater than 12 the mapper will take a route through the lake.
space
You can set the room symbol using #map set roomsymbol {value}. The symbol should be a single character, which can be colorized. You can mark shops with an 'S' and colorize the 'S' depending on what type of shop it is.
space
#map run {location} {delay}
space
The run command will have tintin find the shortest path to the given location and execute the movement commands to get there. You can provide a delay in seconds with floating point precision, for example: #map run {dark alley} {0.5}
space
#map insert {direction} {flag}
space
The insert command is useful for adding spacer rooms called void rooms. Often rooms overlap, and by adding void rooms you can stretch out exits. For example: #map insert north void. You cannot enter void rooms once they've been created, so you'll have to use #map info in an adjacent room to find the room vnum, then use #map goto {vnum} to visit.
space
It's also possible to hide an entire area until you enter it, to do this you want to set the hide flag as well. For example: #map insert north {void;hide}.
space
#map exit {exit} {COMMAND|DIRECTION|FLAG|GET|NAME|SAVE|SET|VNUM} {argument}
space
By default the exit command is set to the exit name. If you want to automatically open a door you would use something like: #map exit {e} {command} {open door;e}. When using #map run it'll execute {open door;e} instead of {e}.
space
If you have an unusual exit you can give it a direction. For example: #map exit {enter portal} direction {s}. A numerical direction similar to the one provided by #pathdir is accepted as well. This allows the mapper to display the rooms that lie beyond the portal, though you'll have to be mindful that there is no actual exit leading south.
space
#map at {location} {command}
space
Executes the command at the given location. If the location is non existent the command is not executed. Useful if you want to loop through all vnums and visit all rooms to perform some kind of action.
space
#map color {BACKGROUND|EXIT|HERE|PATH|ROOM} {COLOR CODE}
space
Set the color. To set the background to blue you would use #map color background <884>. To set the room color to dark red you would use #map color room <218>.
space
#map delete {exit|vnum}
space
Deletes the room for the given exit or room vnum.
space
#map destroy
space
Deletes the map.
space
#map dig {exit|vnum} {new|vnum}
space
#map dig {vnum} will create a new room with the given vnum unless a room with that vnum already exists.
space
#map dig {exit} will create a new exit in the given direction. If a room occupies that space the exit will be linked to that room, otherwise a new room will be created.
space
#map dig {exit} {new} will create a new exit in the given direction, a new room will always be created.
space
#map dig {exit} {vnum} will create a new exit in the given direction leading to the room with the given vnum. If this room does not exist a new room with this vnum will be created.
space
#map exit {exit} {COMMAND|DIRECTION|FLAG|GET|NAME|SAVE|SET|VNUM} {argument}
space
#map exit {exit} {NAME} {argument} will set the movement command. If the name is set to 'n' and you type 'n' this will make you follow the exit. The movement command that is actually executed can be set with #map exit {exit} {COMMAND}. The NAME and COMMAND are typically one and the same.
space
#map exit {exit} {COMMAND} {argument} will set the movement command that is send to the server. For example {open gate;n}
space
#map exit {exit} {DIRECTION} {argument} will set the direction of the exit. This can be a numeric argument identical to the one used by the PATHDIR command.
space
#map exit {exit} {FLAG} {argument} will set the exit flag. This must be a number. It's easier to use #map exitflag to set exit flags.
space
#map exit {exit} {GET} {variable} will save the exit data to the given variable.
space
#map exit {exit} {SET} {argument} will set the exit data to the given argument. The argument can be a table.
space
#map exit {exit} {SAVE} {variable} will save the exit info (command/direction/flags/name/vnum) to the given variable.
space
#map exit {exit} {VNUM} {argument} will set the exit vnum to the given argument. This is the index number of the room the exit leads to.
space
#map exitflag {exit} {HIDE|AVOID} {ON|OFF}
space
#map exitflag {exit} will show the status of the exit flags.
space
#map exitflag {exit} {HIDE} when enabled the rooms beyond this exit will not be displayed on the map. Useful for hiding overlapping areas.
space
#map exitflag {exit} {AVOID} when enabled the mapper will not use the exit when searching for paths to a given destion.
space
#map explore {exit}
space
The mapper will explore the given exit until an intersection or dead end is reached. The route is stored in #path and can subsequently be used with #walk. Particularly useful for walking down long roads without having to memorize any destinations.
space
#map find {location} {...}
space
The mapper will find the location. The route is stored in #path. The location can exist of multiple arguments, the first of which should either be the room name or the room vnum.
space
If you want to narrow things down further you can use the following key/value pairs:
space
#map find {location} {roomname} {argument} the room's name must match argument.
space
#map find {location} {roomexits} {argument} the room's exit must match argument, for example {n;e;u}.
space
#map find {location} {roomdesc} {argument} the room's description must match argument.
space
#map find {location} {roomarea} {argument} the room's area must match argument.
space
#map find {location} {roomnote} {argument} the room's note must match argument.
space
#map find {location} {roomterrain} {argument} the room's terrain must match argument.
space
#map find {location} {roomflag} {number} the room's flag must match number.
space
It's possible to use several key/value pairs to find a room, for example:
space
Example: #map find {A small clearing} {roomexits} {n;e;s;w} {roomarea} {The holy grove} {roomterrain} {Forest}
space
These search options are also available to the goto, link, list, run, delete, at, and link commands. The delete and dig commands only accept a vnum
space
#map flag {ASCIIGRAPHICS|ASCIIVNUMS|NOFOLLOW|STATIC|VTMAP} {ON|OFF}
space
ASCIIGRAPHICS: This flag is enabled by default and draws a somewhat spacious map that displays NE SE SW NW exits, one-way exits, up/down exits, and the room symbol. When disabled it will default to the map legend, which uses compact UTF-8 box drawing characters to display n e s w exits.
space
ASCIIVNUMS: When enabled the ASCIIGRAPHICS mode is changed to no longer display one-way exits and the room symbol, instead the room vnum is displaced. Useful for editing or debugging the map.
space
MUDFONT: This is an experimental displaying mode that is not well supported. It requires a special font and the proper configuration of #map legend.
space
NOFOLLOW: When enabled the map won't try to follow along when you enter movement commands. Movement commands are defined with #PATHDIR. Useful for MSDP and GMCP automapping scripts.
space
STATIC: When enabled new rooms are no longer automatically created when walking into an unmapped direction. Useful when you're done mapping and regularly bump into walls accidentally.
space
SYMBOLGRAPHICS: When enabled the ASCIIGRAPHICS mode is disabled and the compact map mode is enabled, with the ability to overwrite UTF-8 exit drawing by setting the room symbol. Useful to display a wilderness map.
space
VTMAP: When enabled the map is shown in your top prompt bar. This requires a VT100 capable terminal and using #split. For example: #split 16 1.
space
#map goto {location}
space
This command will move your position in the map to the given destination room.
space
#map get {option} {variable}
space
This command allows you to store world and room information into a variable.
space
Options are: WORLDFLAGS, WORLDSIZE, ROOMVNUM, ROOMAREA, ROOMCOLOR, ROOMDATA, ROOMDESC, ROOMEXITS, ROOMFLAGS, ROOMNAME, ROOMNOTE, ROOMSYMBOL, ROOMTERRAIN, and ROOMWEIGHT.
space
#map info
space
This will show you some world data and room data for the room you are currently in.
space