|
|
World OverviewThe world file describes the room and links it to other rooms. It shapes what the players see of the world itself. Customarily at Elite, zones are parceled into 100 room blocks starting from 00 and running to 99. If a zone needs more than 100 rooms, the zone number will remain the same, but the first part of the room number will not reflect the zone number. For example, Tynstri is 200 rooms, starting with 6600 and ending with 6799. It is all still in zone 66. This means there is just one zone file, and the zone number in every room in the zone is 66, even for those rooms whose room number begins with 67. If this doesn't make a lot of sense yet, don't worry. There are very few zones over 100 rooms, and if you are writing one it will become clear long before you get to your 101st room! A room # <Room Number> <Room Name>~ <Room Description> ~ <zone #> <room flags> <terrain> [<Exits>]{0-6 possible} [<Extra descriptions>] {0+ possible} >room proc (if any)~ Each of these fields have their own formats as described below: Room Number (VNUM) Format: #<number><cr > This is the room's unique identifying number. The first room in a zone normally ends in "00". For example in zone 3, the first room would be 300. The rooms must appear in the file in numeric order, but there may be gaps. If you are missing room number 310, for example, the zone will still load and function normally.
Format: <name>~ This is the name of the room and should be descriptive! It is all that is seen when:
It should begin with a capital letter and end with a tilde (~) . You may choose to capitalize all the important words ... or not!
Format: <3 space indentation><3 lines of description><cr>~ (Note: <cr> stands for "carriage return" and just means you hit the enter key right there.) When you walk into a room or type "look" when you are in a room, this is what you see. It should give you a feeling that you are actually IN the room, and shouldn't assume that you came into the room from any particular direction. You should descrbe obvious exits to the room.
This is the 2 or 3 digit number that the mud will use to refer to all the rooms in your zone. If your zone is 100 rooms or less, this is the number you were given when you began writing. If your zone is more than 100 rooms, this is the lowest number you were given. These are a series of letters give the room special characteristics. This, for example, is the way we create a death trap. Not all of the flags listed below have been implemented. As with other tables you will find in the guide, options which do not work or should not be chosen for some other reason have been marked with pale yellow.
The terrain, or sector type, tells the mud how many moves it should cost the player to move in the room. It is much more difficult to climb up a mountain than it is to walk across your room, and this is the mud's way to reflect that effort. Some types of terrain require special skills, for example climbing, swimming, or under water breathing. Remember, though, that a player who is flying does not need to be able to climb or swim.
This exit has an unlocked gate leading west into Rome.
The exit description is what is shown when the the player looks that direction, i.e., look <direction>, like, look north. This is another "alias list". You will see many of these throughout the file. It is a short list of words that the player can use to interact with something (a door, in this case). The player will use one of these words to open, close, lock, bash, pick , and unlock a door. The first alias is the one the mud will use when responding to a player. In the example below, if a player enters: Open oak the mud will respond with You open the door. Alias lists always end with a tilde (~ ). door oak~ If more than one door leads off from a room, give each a different alias. If you have exits leading north and east, each with a door and each using the alias "door", the mud will always assume you are referring to the door to the north, and the player will have to use door+direction to open/close/unlock the door to the east.
The door flag is coded as a bitvector. This means that there are many possible values, and you choose the number(s) associated with the value(s) you want, and add them up. There are several examples below.
Please see the example .wld file for examples of these codes in use. The initial state of all doors is open, but doors can be opened, closed, and locked automatically when zones reset (see the zone file documentation for details). The virtual number of the key required to lock and unlock the door in the direction given. A value of -1 means that there is no keyhole; i.e., no key will open this door. If the Door Flag for this door is 0, the Key Number is ignored. The key virtual number (VNUM) is the same as the key's virtual number that unlocks this door. If there is no door, use -1 for this value. The vnum of the room that this exit leads you to. If this number is -1, the exit will not actually lead anywhere. This is a sneaky way to get the exit to show up on 'exits', or to add a description for 'look <direction>' without actually adding an exit in that direction. The mud will not check for how " logical" your exit is, so you can also code the room to exit back into itself. are used to make rooms more interesting, and make them more interactive. Extra descriptions are accessed by players when they type " look < thing>", where <thing> is any word you choose. For example, you might write a room description which includes the tantalizing sentence, "The wall looks strangely soft." Using extra descriptions, players could then see additional detail by typing "look wall". There can be a large number of Extra Descriptions in each room.
Keyword list This is the same concept that you will see used throughout the mud to provide a word for players to use to interact with a mob, an object or a room. It is an alias list. It should be fairly obvious from the room description, or the player will never discover it. Extra descriptions are wonderful for describing things seen in the room's description which don't need an actual object in the room. Examples are for pictures, signs, notes, special furniture pieces, and people who are there (if you don't want the people to be killed by players) . This is a good way to hint at hidden exits, such as a fireplace that opens. Description The text that will be displayed when a player types "look <keyword>". We now have special procedures that you can attach to rooms to added some extra versatility. Currently, we have only three available - %trans, %echo and %push, however, helm has coded these in such a way that we can add more procedures as and when we need them. They are added to the .wld file -after- the room Extra descriptions, before the end of record mark ("S"). The exact syntax varies for each one: %trans This allows you to have a certain percentage chance that instead of leaving a room by the normal exits, a player will be transferred to another location of your choice. You can specify a message to display on the players screen in order to explain the sudden change in location. For example, in a maze, you could have a 5% chance that the player will find a shortcut to the centre, or discover a hidden treasure room, or a sudden death trap!. There are two different trans_procs, which trigger in slightly different circumstances. These are coded as follows:- >trans The MUD will check the trans proc whenever a person attempts to -leave- the room in the given direction (0 - north, 1 - east etc as for doors). Putting -1 for the direction tells the mud to check when a person attempts to leave by -any- exit. >ttrans The mud will check the % chance on a zone pulse (about 10 seconds). %echo The %echo_proc allows you to add atmosphere to a room, by sending descriptive messages to players. The mud checks approximately six times per tick (every zone pulse) whether the %echo_proc triggers, you can add as many as you like to each room, but be wary of adding too many! >echo %push The %push_proc is checked on a zone pulse, like %echo. When triggered, it pushes all players within the room in a specified direction. This can be used to make rooms 'flow' The direction is entered as a value in the same way as exits are written. ie. O for north, 1 for east etc. Just make sure there is a exit that way or else the push-proc will fail. >push >pushall <percent chance> The pushall proc will push players -and- mobs in the specified direction. Glob : Special notes on room progs.
#2300 First Room~ Snazzy descriptions are all well and good, but it is so much nicer to just have the room say what is needed. This doesn't mean your rooms should be poorly written, however. ~ 23 cd 1 D2 You see the exit. It is a locked, pickproof, bashproof door. ~ door~ 295 -1 2302 E exit~ This is the way out! ~ S #2301 Second Room~ Snazzier descriptions have a tendency to become oversnazzy, so be restrictive and do not use superlatives all the time. ~ 23 eg 8 D2 You see the exit. ~ ~ 0 -1 2302 E exit~ This is the way in! ~ >trans 80 2303 2~ There is a 40% chance each time you move south that you get transferred to room 2303! ~ >trans 50 2304 2~ There is a 50% chance each time you move south that you get transferred to room 2304! ~ >echo 5~ Every 10 seconds(a zone pulse) there is a 5% chance that this message will appear in room 2301! ~ S
Confusing subareas can be done several ways.
To make an area appear larger then it is, wrap the west most exit to the east most room and the east most exit to the west most room. This makes a circular set of rooms that repeat as you continually go east or west, (Like summer reruns) making the path appear longer then it really is. Hidden doors can be disguised as many different types of things, bookshelves, fireplaces, trap doors, rugs, and other common objects, like walls. Some are noticeable in the description, but players don't always think to try them. Intermediary rooms can be used to show a time related event.
Now, X05 and X07 are the same "room", but at different times, like a ferry crossing a river. X05 is the ferry going eastward across the river, while X07 is the ferry moving west. They can have different mob or slightly different descriptions or special procedures. It can give the illusion of something changed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||