By Thalen
Commands covered: rstat, brset, rset, rcreate, rpurge, tunnel, dset, rdoor, rrandom, rfind, sarea, conarea
First, to do rooms, you should have a printout of the help file for the room-type commands (brset at the least, the others are pretty simple).
Second, before you can do anything about changing room descriptions, or any other part of a room, you will need 'perms' or permission to edit in the area you want to edit. For most people, the first area you get to play with will be Godland, in your own personal room. Talk to a high-ranking imm to get perms.
Generally, the examples I'll give will be from my own room in Godland, in case they look familiar :)
Read through this all before starting, and keep it as a handy reference whenever you build, it will come in handy. Plus, the most important part (how to save your work) is listed at the end :-)
RSTAT
Typing rstat (or rst for short) will give you a listing of most of the information that is contained in the room. This includes the majority of the settings that you will be entering here. On occasion, you will need to verify what you entered, or check some variable in the room, and this is the command to use for that. Typing 'rstat' will give you the statistics for the room you are standing in, and 'rstat <location>' will give you the stats on the location you specify (which is usually a vnum, or it could be the name of a player or mob or even some specific room names).
<prompt> rstat
Name: 'A Warrior's Training Hall.'
Area: '{ Imm } God Land-Imms'.
Area flags: 7 Vnum: 86. Sector: 0. Light: 0.
Room flags: 0.
Description:
You have found yourself inside an ancient, wooden structure of immense
proportions. There are racks of armor and weapons as far as you can see
...<snipped for brevity>...
3 letters carved there... Then a huge shadow envelops you... He is here...
Extra description keywords: 'chair clanbanners spell case'.
Characters: thalen.
Objects: .
Door: 0. To: 45600. Key: -1. Exit flags: 0. Keyword: ''.
Door: 1. To: 39450. Key: -1. Exit flags: 0. Keyword: ''.
Door: 2. To: 78. Key: -1. Exit flags: 0. Keyword: ''.
Door: 4. To: 53. Key: -1. Exit flags: 1. Keyword: 'skylight'.
As you can see, it's pretty complete except for any extra descriptions, which are just listed, not spelled out. The room name is shown, followed by the area name, and the flags and sector and light info (these values are shown in the flist command, also listed on the Flists page, detailed below).
Door directions are 0-5, for NESWUD in that order. To: ##### is the vnum of the room the exit leads to, key is the key for the door if any (-1 means no key), exit flags detail the door state to some extent, and last the keywords on the doors if any (see the doors section below.)
BRSET
When you want to edit the basic room you're in, you will use the 'brset' command.
brset <location> <command> <arguments>
Generally speaking, you should be standing in the room you intend to edit, although you can edit rooms from other places. When standing in the correct room, you will type 'brset here <commands>' – but <location> can be the vnum of the room as well. NOTE: <location> can be touchy if you're not careful...if you don't use 'here' or the vnum of the room, it may be hard to predict where you will end up editing. brset bob <etc> will edit the first room something with the keyword 'bob' has in it...or a keyword with 'bob' in it (like bobcat, etc). To be safe, only edit the room you're in , and use 'here'.
The <commands> available are:
'name'
Changes the title of the room you are in.
brset here name A Warrior's Training Hall.
'desc'
Used to edit the description of the room. This command can be used in two forms – one as a single line command, which will add a line to the description of the room. In other words, to add the line 'The only exit from here is south.' to the room's description, type:
brset here desc The only exit from here is to the south.
If you want to edit or create a room description all at once, you can use the editor (like the one used for writing notes). To invoke the editor, type the command:
brset here desc edit
This will load the existing room description into the editor, or provide you with a blank description to create in. You use the note editing commands to insert, delete, or replace, etc., or type in new text.
PLEASE NOTE: When you are editing room descriptions, make sure your terminal is set to 80 columns, or use the auto-format feature of the editor, or else the room descriptions will not format correctly for all players.
To erase the description in a room completely, type the command:
brset here desc clear
'edesc'
These are extra descriptions. Sometimes, the description in a room will hint that there is something in the room. With edescs, you can add additional descriptions to things that would seem to be in the room. For instance, if your room mentions a chair, you can add an edesc that will allow the person in the room to 'look chair' and see a description of it. To add a chair description to the room, type:
brset here edesc <keyword> <edit or short description>
For example:
brset here edesc chair This is a big brown chair.
This can be done for any number of descriptions in a room. If you want to use two keywords for the same description, you should type both in as separate keywords or someone will have a rough time removing it (see the note below).
To remove an edesc from a room:
brset here edesc <keyword> clear
Occasionally, you will come across a keyword that doesn't seem to want to be deleted. If the area was created offline, or someone put in more than one keyword in the same command, you may have to duplicate the exact syntax of the way it was entered – the keyword might be "chair brown" or "chair big brown" or some combination (in double quotes as shown). Use rstat to see the edescs in the room, and go from there, or ask for help.
'flags'
These are the individual effects that can be present in a room. These include such diverse things as methane, no_mob, and donation rooms. All the effects that fit into this category can be present in any room, in pretty much any combination. The list can be found by using the 'flist' command. (typing flist will give you a list of lists, and 'flist <#>' will give you the particular list you are looking for...room flags are under 'flist 9').
To add a flag to a room, the command syntax is:
brset here flags <#>
In the flist 9 listing, each effect has a number associated with it. Add the numbers of all the flags you want to use in the room, and enter that in the command. The number can get quite large, so always double-check your math, and verify that the number you want is the one the room ended up with by using the rstat command. If the room doesn't seem to want to put the right number in (which can happen when changing flags in a room that already had them), set the flags to zero, and try again.
For a single effect, you can substitute the name of the flag for the number, but you must use one of the spellings listed in the flist 9 command.
A listing of flist 9, with a short description of some:
dark 1 (always dark even in the day hours) no_portal 2 no_mob 4 (mobs can't wander into the room) indoors inside 8 (effects lighting, and some spells) wyvern 16 (evil align can't enter the room) ice 32 (can't walk away without fly or another means) methane 64 (burns you when you walk in) no_steed 128 private 512 (max. of 2 players/mobs in the room) safe 1024 (aggro mobs can't wander in) solitary 2048 (max of 1 mob/player in the room) pet_shop pet 4096 (allows selling of pets) no_recall norecall 8192 hospital 16384 (allows sale of doctoring) bank 32768 donation 131072 no_save 524288 (no-quit, no-save, no memorize/return...) no_channel 4194304 (can't chat, etc. from there) light 16777216 (always lighted even after sundown)So, if you wanted a dark, private room, that's 1 (dark) + 512 (private), so you'd enter
brset here flags 513
Note: Apparently, the code allows you to add and remove individual flags or flag numbers with:
brset here flags -512 brset here flags -private
We're not yet sure how many things this works with, so start testing! (and report back what you find)
'sector'
This is the terrain of the room. This will affect both the number of moves the room requires to go through, as well as the effectiveness of a number of spells, and even your ability to breathe (in the case of underwater terrain). This is often overlooked, so try to remember to set this in every room. The sector choices can be found in flist 10, and are set as follows:
brset here sector <#>
As you can only set one terrain type per room, the number is a small one. You can use the exact terrain word instead of the number. Those are listed below, along with a short explanation for some:
inside 0 (in rooms, buildings...) city 1 field 2 forest 3 hills 4 mountain 5 water_swim ws 6 (no boat required) water_no_swim wns 7 (needing a boat) air 9 (requires fly) desert 10 swamp 11 underwater 12 (requiring water-breathing spell) underground 13 (caves, etc.) road 14Sectors 2-5 will allow fires to be built, others won't (we're still checking some of that, if you find that this isn't right, let me know).
'area'
If you end up with an odd room that is assigned to the wrong area, this command can be used to change the area for that one room to the correct one. WARNING: See the restrictions on creating new rooms in the 'rcreate' section to keep this from being needed. Also, to prevent problems, please see a high-level imm for this if you don't know exactly what you're doing, there is the potential to cause serious damage under the right circumstances with this command.
The syntax for the command is:
brset here area <desc>
where <desc> is a string of text from the name description of the area you want the room to be in. That information can be found in from the list you get in the 'sarea list' command. An example:
{60 90} Thalen The Golem Master's Lair [250 - 299]
Typing 'brset here area Golem Master' SHOULD change the area of the room you're standing in to that area...but it is a little bit tricky sometimes, and doesn't always work...hence, get help first.
RSET
There is also a command at higher levels called rset that you can use to set the flags and sector settings in a room. It's redundant as far as I can tell, so just use brset.
RCREATE
This is the command to make a brand new room in the area you're standing in.
rcreate
rcreate <new_vnum>
Note: The new room will be created in the area you're standing in when you enter the command. ALWAYS be standing in the area you're working on when you're editing.
rcreate alone will create a room with the next highest vnum that isn't already in use. If you're standing in room 2, the next vnum might be 54, or 110, or something else, so be careful. I don't know if the command checks to see if you're in the range of vnums assigned to the area, so if you're not sure, put in a vnum value. You CAN NOT overwrite an existing room, so if you type 'rcreate 86', it won't let you ('cause that's MY room :P )
rcreate <vnum> will create the room you specify. Either method will also transport you to the new room. You'll be standing in the new vnum location you created.
RPURGE
The opposite of rcreate, this deletes a room from the mud
rpurge here
You need to use here as a precaution. Also, MAKE SURE you're in the room you want removed, as this is not a reversible command. You will be transferred out to a safe room in godland once you have entered the command.
TUNNEL
Creates an open exit from the room you're in to another room.
tunnel <direction> <vnum>
tunnel <direction> <close>
These commands are one way, keep this in mind.
To tunnel from the room you're north into room vnum 86, type:
tunnel n 86
This will make an open (no door) path from the room you're in to room 86. This will be one way only...if you want to tunnel back, go to room 86 and tunnel back to the room vnum you were in before.
To close the passage to room 86 to the north, type:
tunnel n close
This will remove the passage in that direction (remember to close the path back as well if you need to), and it will also remove any door resets in that direction.
DOORS: DSET, RDOOR, etc.
Sets up doors, and the door states (closed, locked, magic, etc).
These are rough to get right, but if you follow the exact steps below, they will usually get the job done.
Lets say you're setting up a door from where you are to the room north. The tunnel must already be there for this to work reliably. Do the following steps in the order listed:
1- dset <dir> keyword <keyword>
IE: dset n keyword gate
This sets the keyword for the door, which you see in scan
(you'd see 'There is a gate to the north')
2- dset <dir> isdoor
IE: dset n isdoor
This makes the door a door (don't ask, I don't know either)
3- dset <dir> <state>
IE: dset n closed
possible states areopened (will reset to open when the area repops)
closed (will reset to closed when the area repops)
locked (will reset to closed and locked when the area repops)
pickproof (can't be picked by a thief-type)
passproof (passdoor won't work)
magic (need dispel door before you can try to open)
hidden (need the detect hidden doors skill to see)Note that some of these can be stacked, closed magic passproof, etc.
You will need to enter each of those as a separate command however, they can't be combined on one line.Note: The above states are now a toggle...if pickproof is set already, adding it again will UNSET the pickproof state...still need to play with this to verify how exactly it works, so if you notice something, let me know.
4- dset <dir> key <object_vnum>
IE dset n key 34234
Would make object 34234 the key to open unlock the door. The item doesn't have to be type_key, anything can be used here. This does NOT have to be entered if the door isn't locked, or even if it IS locked, assuming you don’t want a key to unlock the door at all.
There is a dset <dir> to <vnum> that can be used to open a tunnel to the room you want, but I don't recommend using this as it's been flaky in the past, and I'll usually put in all the tunnels before I put in any doors (which I personally find easier).
THEN....
5- rdoor <dir> <state>
IE: rdoor n lock
The choices here are ONLY open, close, lock, magicclose, and magiclock. At this time I'm not aware of how hidden doors are being handled, so...magicclose is closed and magical, and magiclock is closed and magical and locked. Again, locked means closed too. This command does a permanent reset of the door state, and sets the state in stone. Using just dset or rdoor hasn't proved yet to be very trustworthy.
There is also a 'rdoor <dir> remove' if you want to remove just the door settings and leave the tunnel opening behind.
You can also play with randon exits...if you really must. They're a pain to put in, and a pain to get through. Sometimes they're needed or called for though, so...
RRANDOM
This command randomizes the exits out of a room.
rrandom <1-6|"remove">
The number you enter is the number of exits it will randomize, but you don't get to choose which ones...exactly. RRANDOM 1 randomized the north exit (which makes no sense), 2 does N and E, 3 does N, E, and S...etc. The order is NESWUD. To get a random W exit, you need to choose 4 or higher...they go in that order only.
If a (R) reset already exists for this room, it will be replaced with the new reset.
To remove it completely, type RRANDOM remove. HOWEVER...the exits will stay in the order they are when you remove the random reset, so you might wanna ask for help if you need to do that...you need to repop the area a few times. Best way to do it...repop until the last door on the list is right, then re-randomize with one less exit, locking the last one in place. Lets say you randomized 4 (NESW)...repop until the W exit was right, then rrandom 3...W will be locked in now, and you repop until S is right...etc.
Two-dimensional mazes are accomplished by randomizing the first 4 exits (NSEW), three-dimemsional ones are possible if you enter 6 as number.
Please notice that using (R) resets with (D) exits may have unpredictable results.
RFIND
Searches the mud for rooms containing specific keywords
rfind <keyword>
As far as I can tell, the word you're looking for has to be in the name of the room. Only 1 keyword can be used, so if you really want to narrow the search down to something useful, don't pick a keyword like 'road' or 'room'. The list resulting from this command will give you the vnum of the room, it's name, and the area the room is in.
<prompt> rfind thalen
[ 7571] Thalen's tomb { 5 20} Immortal Graveyard 1-Kethry
SAREA
Saving the area, and other administration functions.
sarea <command> [name]
The possible commands you can use are:
'remove' Don't use, not implemented. 'save' Saves the area, and forces a repop. 'update' Forces area to repopulate (repop). 'create' Creates a new area – don't use this, ask an immortal. 'name' Renames the areaAsk for help before using this the first few times, you need to ge the name formatted just right or it looks wrong on listings.
'list' Shows all areas and some extra info. 'fname' Sets the area's file name, again, ask an immortal. 'security' Lets only certain level players into the area'sarea security 10001 10015' would set the area to imm only, use 1 10015 for all players, 10000 10015 for hero or higher, etc (imms can always enter an area, so upper limit isn't exact in that way.) We generally don't limit areas to certain levels, so this is usually used to keep players out of unopened areas.
'flags' Sets flags on the whole area(Used to prevent teleport, steed, summon, or portal...see flist 12). If you wanted no portal (value=2) and no steed (value=4) set on the whole area, type 'sarea flags 6' This can be checked with the rstat command, listed under 'Area Flags'.
CONAREA
Lists all the exits into and out of an area.
<prompt> conarea From: 655 to 5561 at 1 From: 5561 to 655 at 3 From: 5564 to 3700 at 4
The room vnums list show which way the exits go (from-->to). If the exits go both ways, you'll get the same vnums in opposite directions like the last two above. One way exits (like the one shown going only TO 3700, which is the mud school entrance) will only show the one set.
OK, I think that is about it...start out by practicing in a new area, or if you're a new immortal, on your own room in godland. It's hard to crash the mud with these commands, and although you CAN do some damage by removing rooms that you weren't supposed to or changing around exits, it's a relatively harmless way to start your building career.
As with all things, talk to any of the immortals that have been around a little while if you have any questions, or leave a note on the mud. Feel free to ask, there is a lot to learn and to get straight before this all becomes easy.