Basics

For all examples, the area under creation will be known as 'Handbook' or 'example area'. It is assumed that the builder has access to some standard type of text editor and knows how to use it. (We recommend emacs for Unix platforms, and WordPerfect for Dos platforms. Note that all files created in WordPerfect MUST be exported into ascii format before they can be used).


Files

For each area, five files must be created for inclusion into the dikumud's db:

Handbook.wld
-- The file that contains all the information on the rooms of an area.
Handbook.mob
-- This file contains all mob information.
Handbook.obj
-- This file contains all obj information.
Handbook.shp
-- Information on shops.
Handbook.zon
-- A 'meta-file' that tells the mud which mob/obj goes where, who gets what, how often the area resets, etc.

Flags

Simply put, a flag tells the mud that there is something 'special' about a mob, room, or object. In the sections below, lists of flags will be given with a number, a bitvector, next to it. For example, here is the list of room flags that will appear below in the .wld section:

        1   Dark
        2   Death
        4   No_mob
        8   Indoors
        16  * Lawful     - not implemented in standard diku
        32  * Neutral    - not implemented in standard diku
        64  * Chaotic    - not implemented in standard diku
        128 * No_magic   - not implemented in standard diku
        256 * Tunnel     - not implemented in standard diku
        512 Private

Now, for example, you are building a room. Deciding that this room is a small section of tunnel, you would choose the flags 'Dark' (1), and 'Indoors' (8) (Tunnel is not implemented in standard diku). These numbers are the important part. When the mud looks at the .wld file, it looks for _one_ number in a certain particular spot for each room's flags. Therefore, to give one room _two_ flags, you ADD the bitvectors together and place that number in the flags spot of that room's data. Thus for this example, Indoors + Dark = 9.

How does this work, though?

The bitvectors are in binary... the number you arrived at when you added can only be reached by one combination of adding those numbers together (you're not allowed to use a flag or number more than once). Thus, if your number was 522, you would know that it was 'Private' (the highest number that will go into 522) 'Indoors' (522-512=10. Indoors (8) is the next highest number that will go into that), and 'Death' (10-8=2, 2-2=0 -- no more flags).


Zone Number

Each area must have its own unique number. Usually, the imp of your particular mud will assign this to you. This number is used the .zon file and appears as part of all your area's virtual numbers.


Virtual Numbers

Every Mob, Obj, Room, and Shop must have its own Virtual Number for the mud to identify it with. Each number must be unique among its own type.

For example, If I made the Sword of Cheezy Destruction, I may decide to make it item number 2200 of my zone. The first two digits are the zone number (above) of my area, the second two identify which item it is in that area.

However, I can have a mobile with number 2200 as well. A room #2200 too. The number must be unique among all others of its type (rooms, obj's, mobs), but does not need to be unique in regards to other types of db's.

Note that the mud doesn't really care if your objects start with your zone number; this is a convention to keep builders from stepping on each other's toes and is highly recommended, if not mandatory at most muds.


[Next] On to the next section
[Back] Back to the previous section
Back to the Builders' Handbook contents

[C.A.W.] Back to the C.A.W. Homepage

Alex Fletcher
Last modified: June 24th, 1996