A Guide to Room Building


First of all, a simple Table of Contents, because organization is our friend.
Rooms first?
The pointers for the truely new builder.
The basics, for those who know where to start, but not how
A simple list of what to do to get started.
The various commands for use. There, you will find further links to more stuff.
Normal room stuff
Exit stuff
Other stuff

Starting with rooms

Rooms are generally a good place to start off for several reasons. First, they're relatively simple. Second, they set the tone for everything else. Third, they give you a place to work on everything else. There are probably other reasons, but I'll let you think of your own. Or, if you can't think of any, and hate mine, feel free to learn something else first. Of course, the other reason to start with rooms, on Midnight Sanctuary, at least, is because if you're a new, incoming builder, you won't have enough levels to do anything but rooms until we (in this case, probably meaning Silrathi, head of Area Council) gets the impression that you have them down and can go on. Anyway, moving on.

Back to the top

Pointers


Okay, if you think you'd like to build but you have not the slightest idea where to start, here's a few ideas. First of all, think of what kind of area you'd like. City, town, village, forest, mountain, cave, ruin, desert, plains, the list goes on and on and on. Any kind of landscape you can imagine can be made into an area. Next, build a map, just a basic sketch, of what would be around, and how it would fit together. Divided into separate rooms helps, simply because that's how the building works.

Once you've got a map, come up with what you're going to call those rooms, what's going to be in them. If you're working on a forest, every room is Deep in the Dark Forest, and every desc basically says, you're standing in the forest, surrounded by trees, chances are its not going to be too much fun. What else is there? Maybe a specifically large tree there, a huge fallen tree that is partly in this room, partly in that, a brook moving around through it. If you put some thought into it, each room can be individual and interesting.

Back to the top

Basics


To start off, of course, you need to be assigned rooms. Once these are assigned to you, type score. You should see a list of room vnums down at the very bottom of your sheet, down in Immortal Information. This, of course, is useful in that whenever you forget your vnums, you can just type score to see it again. It will also have something that says whether or not the area is loaded. Basically, they'll look like:
Vnums: Room (07600 - 08899) Object (07600 - 08899) Mob (07600 - 08899)
Area Loaded [yes|no]
Of course the numbers will change depending on what numbers you were assigned, and on the second line it will be yes or not, not yes|no, but either way. If it says no, before doing any building, you must loadarea. This command loads up your area. Every time the mud reboots or crashes, your area will unload, and you will have to reload it. If you log on, and go to the first area on your list, and see nothing, don't panic. Try loada first.

Also, the goto command is extremely useful, and, indeed, quite necessary, until you get your exits in. You can use goto with the name of any mob or player, or the vnum of any room. (Keep in mind that when going to other players, it's polite to send a tell first and make sure it's all right, be they immortal or mortal). Rlist will give you a list of all rooms in your loaded area, the name and the room number, so you can use that to find the number of the room you want to goto to. goto 21000 would take you to Darkhaven Square, for example.

Back to the top

How To Start

In the beginning of your building career, you're going to be promoted to level 53 on the build port, and somebody (most likely Silrathi, will assig you some vnums, which, as explained before, will show up at the bottom of your score sheet.

Once you have these vnums and know what you're going to do with it, as you ought to before you ever get the vnums, you are ready to get started. The first thing you want to do at that point is go to the first and last vnums within that area, to hardset the zone, and type savearea. Not sure that's official terminology, but it will do. Now you can start building in it.

Use goto to go to each room as you are prepared to begin work on it, and then the various redit commands to do the actual work. Remember to always savearea at regular intervals, and especially immediately before leaving for any length of time, even five minutes. You never know when the mud will crash or be rebooted. Whenever you come back to find there is no area there, don't panic. Just type loadarea to call it back up.

rlist will give you a list of all the rooms currently in your area, and you can use that as a guide to help you use goto to get to the appropriate rooms. It's generally best if you start at the first room of your area and then continue in order through it, simply because that way you don't end up searching through rlist for empty vnums here and there. Orderliness makes it much simpler.

A caution, don't ever have two sets of vnums assigned to you at the same time. If you do, one will overwrite the other, which means one of them will be destroyed. Which is a bad thing.

I think that's all the starting stuff that comes to mind just now, but if I've left anything out, ask me about it, and I'll see if I can't find a way to add it in.

There are a couple methods of building. Personally, I completely do one room, then go on to the next, then link the two. Other people I know like to first get the name on each room and link them into a map, then fill in everything else. It's completely a matter of personal preference. Just keep in mind that you can't link an exit to any room you have not yet visited. If it doesn't show up on rlist, you can't make an exit to it. Just use goto to go to the vnum of the room, and you'll then be able to make an exit to or from it, even if you don't do anything else there yet.

Back to the top.

Anyway, I think that's the real basics, that will let you move on to the commands for the actual building, so here they be.

CommandFieldsWhat it does
RstatShows all the things you've set so far on the room you're in
RlistLists the rooms in your area
redit
OnLocks you into Redit mode.
Namesets the room name
DescPuts you in a buffer to write the description.
EdPuts you in a buffer to write an extra description for the given keyword
RmedRemoves a description written with ed
ExitAdds in a one way exit to a given room
BexitAdds a two way exit to a given room
ExdescPuts a brief description on the exit.
ExflagsAdds extra flags to the exit.
ExnameAdds a specific name to an exit.
ExkeyAssigns a key to an exit.
FlagsAdds or removes special flags from the room.
SectorChanges the sectortype of the room
TelevnumAutomatic teleportation to a room
TeledelayHow long it waits before this teleportation
TunnelSets the room to hold only a given number of people
RlistHas to do with resets. Ignore at this time.
ExdistanceAdds a number of boring rooms before you reach the next real room.


Back to the top.

Rstat


Syntax: rstat
rstat [location]
Rstat shows you all the statistics of the room you're in, or another room of your choice. The location may be specified only as a vnum (21000 for Darkhaven Square, for example) or the name of a mob or object, to get the room they are situated in (rstat executioner, for example; or rstat desk). If you have no argument, it will just do whatever room you happen to be in.

Rlist


Syntax: Rlist
rlist [firstroom]
rlist [first room] [last room]
This will list all of the rooms in your area when it is used with no argument. When used with a single number, it will list all the rooms including and following that number. When used with two numbers, it will give all the rooms including and between those two.

Back to the top.

Redit


Syntax: redit [field] {value}
redit on

Redit can be used in two different ways. The first is simply to type redit [field] {value}, where field is the field mentioned on the table above, and the value is an appropriate value for the given field, as described in the various field descriptions below. The other is to first type Redit On. This will lock you into editing the room you are currently in, with the Sanctuary assuming that everything you type is preceded by the redit command. Personally, I prefer the former- I like being able to do other things as well. If you decide to go with the latter, however, simply type off when you are finished to get out.

Back to the top.

Building Rooms


In the building of rooms there's quite a few different things you must do. The most obvious of those, of course, being name and description. Exits, too, are pretty obvious, but I'll wait until the exits section to talk about them *grin* So anyway, here I'm tossing in all the stuff specifically effecting the actual rooms.

Name

redit name [name] is the basic method of naming a room. Redit name Darkhaven Square, for example, named Darkhaven Square. Watch your capitals, and try to make your rooms somewhat separate from one another. Try to find something special about that room for the name. Which isn't to say no two rooms can have the same name, but it's best to be a little different.

Back to the top.

Description

redit description is how you write your description. After typing that, you will find yourself in a writing buffer, pretty much like the current note board buffer. If you're not sure of the commands, /? within the buffer will give you a list of all your other commands you can use for various purposes within the buffer. Color is done just like all other color in the Sanctuary. { codes, basically. Help color for the details.

Back to the top.

Extra Descriptions

redit ed [keywords] will put you in a buffer like that for the room descriptions. This one, though, has specific keywords. Say, for example, in your room description there was some mention of an old tapestry. You might write redit ed tapestry weaving faded old and then, in the buffer you are then put into, type up a description of the tapestry. Then if somebody types l tapestray or l old or looks at any of the other keywords, it will show them that extra description. This is wonderful for adding details to everything.

Back to the top.

Removing Descriptions

redit rmed [keyword] will remove an ed written with redit ed. You can use any one of the keywords used in the ed, and it will remove all of them. Using the previous example, redit rmed old would delete the entire extra description.

Back to the top.

Flags

There are several different flags that can be used to mark rooms for various things. The following list is, I believe, fairly complete.
Flag
Description
Basic Room Flags
PrototypeThe room is under construction. All changes made here will be saved. Remember to savea after changing. (Is automatically on all new areas.
DarkThe room is always dark, day or night.
NomobMobs cannot enter this room.
IndoorsMust be used in conjunction with sectortype 0. Room is indoors.
PetshopPets are sold here. The next vnum must be the storeroom for the store.
LogspeechAll speech in this room is logged. Do not use this one.
Effect Player Upon Entry
DeathRoom causes instant death- that is, it's a death trap. Use this very carefully. A lot of things that might instantly kill you would not destroy all of your equipment. In these cases, don't use this flag. Just write a prog to kill it without purging.
TeleportPeople in this room will automatically be teleported out. Use with televnum and teledelay
TeleshowdescMakes the person see the description of the room they are teleported to. Used with teleport.
NofloorThe room has no floor. If the player is not flying, they automatically fall to the room below.
Effects Players Actions Within Room
NorecallA character cannot recall from this room.
NomagicNo magic works within this room.
SilenceNo channels but emote can be seen or heard in this room.
NosummonCannot be summoned from this room.
NoastralCannot use any type of teleportation from this room.
Effects Number of Players Within
Tunnel(redit tunnel [#]) to set a specific number of people allowed within the room.
PrivateTis room allows only two people into it at any given time.
SolitaryThis room allows only one person into it at any given time.
Effects Items Within Room
DonationDonation room, get all does not work here.
NodropallDrop all does not work in this room.
NodropNothing can be dropped within this room.
ClanstoreroomStoreroom for a clan or order. All items within this room are automatically saved.
PerstoreroomPersonal storeroom, all items within are saved.
Those below this point, I know of no real use for.
LawfulRoom is oriented towards those of lawful alignment.
NeutralRoom is oriented towards those of neutral alignment.
ChaoticRoom is oriented towards those of chaotic alignemnt

Sector

The following are the sectortypes currently available, including the name, sector, and any specific results using it has.
NameSectorComments
Inside0Weather doesn't show.
City1
Field2
Forest3
Hills4
Mountain5
Water_swim6PC needs aqua breath, boat, fly, float, or swim to survive the room.
Water_noswim7PC needs aqua breath, boat, fly or float to survive the room.
Underwater8PC needs aqua_breath to survive the room.
Air9May need to fly- not sure.
Desert10
Unknown11
Oceanfloor12PC needs aqua-breath. Can dig here.
Underground13Can dig here.

Anyway, that's about it for sectors.

Back to the top.

Tunnels

Setting a room to tunnel basically limits the number of people who can go into it at any given time. redit tunnel 4, for example, would allow 4 people to go in, but no more can until one of them leaves. This counts both mobs and player characters. It's best to have the flag as well as simply setting it with redit.

Anyway, that's most of the basics of the building of the actual rooms, I think, so onwards, to Exits.

Back to the top.

Exits


In order to build an exit, both rooms must have been made. This doesn't mean you had to do everything with them- you don't even have to have written the name. But you must at least have used goto to reach each of them. Once they appear on rlist, as at least Floating in the Void, you are able to link them with exits, using the vnums listed on rlist- also you can have the vnum in your prompt, which works nicely as it means you don't have to look everywhere for the number all the time.
I think the easiest way to make an exit is to:
1.) set it, 1-way or 2-way, direction and room it's going to. Also the exittype.
2.) set any flags appropriate.
3.) Set the exit description.
4.) Set the exit name (if required).
5.) Set the exit keyvnum (again, if required).
My own personal preference is to do as much as possible in one command, which includes, all told, steps 1, 3, 4, & 5, and then add on the appropriate flags.

Syntax redit exit [direction] [vnum] [exittype] [key] [keywords]
redit bexit [direction] [vnum] [exittype] [key] [keywords]
Back to the top.

Simple Exits

One way exits are done with the first of those two methods. redit exit Go to one of the two rooms you wish to link, and make sure you know the vnum of the other. For the sake of explanation, I'm going to say they're rooms 1000 and 1001, with you standing in 1000. Pick which direction you wish to make the link, I'm going to say north, this time through. redit exit n 1001 will make a simple exit going north to 1001. You will not, however, be able to go back throug it. When you use exit, it's one way only.
redit bexit n 1001 Does the exact same thing, only you can go back again.

Back to the top.

Now, it is, of course, possible that you want more than just an opening that you can walk through. A door, for example, is occassionally called for. The following is a list of exittypes, and the bit vector called for to use them. The number is put in the exittype section of the syntax description above.
BitExit Type
0Plain exit. Don't bother using this at all, just leave exittype blank, and this is the automatic default.
1Door exists.
2Door is closed.
4Door is locked.
8Door is Secret- trying to go that way won't reveal it.
16Seems like there ought to be something here, but I dunno what.
32Door is Pickproof. Pick lock and Knock do not work.
64Need to be able to Fly to go that way.
128Need to be able to climb to go that way.
1024Door is passdoor proof.
Keep in mind that to use these, you need to add together all the ones you want. For example,
To have a closed door, the appropriate number is 3.
To have a closed and locked door, you need to use 7.
To have a closed secret door, you'd want to use 11.
Besides these, there are also exit flags that can do some of the same things and a few more.
Make the door bashproof, for example.

Back to the top.

So, the Exit flags are as follows:
IsdoorA door exists in the given direction.
ClosedThe door that exists is closed.
LockedThe door that is closed is also locked.
SecretThe door is a secret one- doesn't show up when you try to use the direction.
SwimCurrently unavailableExit cannot be used unless the player can swim.
PickproofThe locked door cannot be picked with pick lock or knock.
FlyExit cannot be used unless the player can fly.
ClimbExit cannot be used unless the player can climb.
Dig
Exit is blocked and must be dug out.
NopassdoorThe closed door cannot be passed through with passdoor.
HiddenDoor is not 'obvious' It doesn't show up on autoexits.
Can_ClimbCan use the climb command to go this way.
Can_enterCan use the Enter command to go this way.
can_leaveCan use the Leave command to go this way.
AutoKeyword can be typed to go this way.
SearchableSearching in this direction cna remove the SECRET flag
BashedDoor has already been bashed in.
BashproofDoor is immune to Bashdoor.
NomobMobs will not go through this exit. Pets included.
WindowCan look through the exit, and see the next room, even without have scry on, but cannot move through, unless isdoor is added. It's not shown on autoexits.
Can_lookAllows the player to see the destination room with 'look'
Back to the top.

Exit Descriptions

If you want your exit description to have a description, that is to say, if there's an exit to the west, and you want to have it to give some idea what's there when the player types l w then you need to use redit exdesc. In most cases we do not insist that all exits have exdescs, though we do highly recommend them. If there is a death trap, or anything similar, however, you must have an exdesc giving a pretty clear idea of what to expect if you go in that direction. To write an exdesc of a forest path, you might simply say redit exdesc w The path continues to wind its way between trees to the west. It need not be elaborate, but it's nice to have a little something.
Back to the top.

Exit Name

The name of the exit can be done either by:
redit exname [direction] [keywords] or as part of the first redit exit/bexit command, name being the last check. It's best not to have the same name on multiple doors from a single room, so if you can think of something unique, and somehow add it into the room description, so people can figure it out, it's nice. Gate and door are the obvious ones, but you can also add the material it's made of, something special about it, just about anything.

Back to the top.

Exit Keys

Okay, until you can actually work with objects, you don't want to mention the key vnum, because it will just confuse the poor computer. If you're worried about forgetting to add a key, you can always add a line to the bottom of your room desc reminding yourself, and then take it off later, or something like that. Once you can do objects, and are ready to make your key, first pick on object vnum and build your key (see the objects section), and then, if you're making the door for the first time, you can add that vnum into the redit exit/bexit command, in the [key vnum] section, or you can use redit exkey [direction] [vnum]

Back to the top.

Advanced Exits

There's a couple kinds of advanced exits. The first of these, and, I think, the most commonly used, is a somewhere exit, represented by a ?. It's often a good idea to have such exits be hidden, just so it doesn't make autoexits messy.

If you already have an exit leading in a given direction (let's say north), and would like another one, use a plus sign in front of the direction. redit bexit +n 1002, for example. To modify one of these extra exits, or to remove it, you'll have to refer to it by number. redit exit #2 1003, for example, would change the second exit in the room to go to room 1003. To know what number an exit is, use rstat. For these extra exits to be acutally usable, you need to add an extra flag to them. Can_climb, for example, or can_enter. This will allow a person to use them through that keyword (in this case, climb or enter). The auto flag makes it possibel to go in a direction simply by typing the keyword of the exit.
redit exit ? 3001Create a somewhere exit to 3001.
redit exflags ? auto hiddenSets the proper flags
redit exname ? jump If the player types the word 'jump' they'll pass through the exit.


Back to the top.

Door Directions

For those of you who just prefer numbers to letters, each direction also has a number assigned to it. This is also useful in a couple progs, but we shan't get into that right now, unless you skipped there with that last link, which you might have. Anyway, here's the numbers.

DirectionShortValue
NorthN0
EastE1
SouthS2
WestW3
UpU4
DownD5
NortheastNE6
NorthwestNW7
SouthwestSW8
SoutheastSE9
Somewhere?10

And I do believe that's the last of the door stuff. So on to the last couple little things.

Back to the top.


Miscellaneous


Televnum


On a room teleport, televnum and teledelay are used to show where and when to teleport the character in question.
redit televnum [vnum] says what room the player is to be teleported to.
redit teledelay [#] says how many pulses to wait before that player is actually teleported.

Back to the top.

Exit Distance

Exit Distance is not fully implemented, and not at all recommended as a method of doing things. However, here's what it does. When an exit has an exdistance specified, the mud will generate the number of rooms called for and give each of these 'virtual rooms' a random description based on the sectortyp and roomflags of the originatingroom. Players that quit in these virtual rooms will find themselves in Limbo when they re-enter the game, as the rooms only exist as long as there's an active player in them. Similarly, objects left in these rooms will probably be lost as soon as the player leaves. Not all of the descriptions are written, and unless exdist is specified as being in both directions, it will only function 1-way. As a rule, we'd generally much prefer you write your own rooms than use this. There may be exceptions, but if so, I'm not aware of them at this time.

Back to the top.

Anyway, methinks that's the last of rooms. If you've seen anything I've missed out (or, more precisely, NOT seen anything I've left out) please let me know, and I'll add it to the page as soon as I possibly can. Also, please feel free to comment to me in any way shape or form as to how this page works, if it's worth having, useful, better than the usual text files, all that good stuff.
Luvyas,
Ally

Back to the top.