From Tapestries MUCK
gen-obv-exits(#9FWL) is designed to display all the exits in a room. This is the same as that used in the 'editroom' function, but is somewhat faster when creating large quantities of rooms as you merely need to have the @succ message of a room access this program.
It is considered good building practice to use this program, or one that produces output like it, in every room.
Outside of editroom you can install this program with:
[ Obvious Exits: Private Alcove [PA], Dead Name Room [DNR], Vacation [V], The [MUF] Realm, Storage [S], Out [O] ]
The program takes the first name of an exit to display. It's common to name the exit with a verbose display name first, and then the actual commands people are expected to type. Such as:
@name south=Storage [S];storage;south;s
You can also force the program to give an exit a name that is not in it's actual name with the property _exit_name. For example:
@set storage=_exit_name:Storage [S]
Normally the display name is in the format of "name [abbreviation]", where the name describes where the exit goes, and the abbreviation is a short form for going that direction enclosed either in square brackets  or parens () (the difference is a matter of style.) Quite often abbreviation is a direction in the form of: N (north), S (south), ne (North East), D (down), etc., which helps make it more obvious what direction you are headed.
Sometimes you want exits not to be listed for one reason or another. It's staff only, or part of a maze, or one of a number of other things. To accomplish this, you can set the property _visible?:no on the exit with the command:
The text surrounding the exit list can be customized to suit local taste. This property is searched from the environment, so it can be set in a Parent Room for an entire establishment. The properties are:
- _exitlist_start defaulting to "[Obvious exits: "
- _exitlist_end defaulting to "]"