OLC Section 2
From Immwiki
REDIT
"You are in a maze of twisty little passages, all alike..."
- With Redit, you can create and edit your own rooms. To create a room, the
- syntax is: redit create [vnum]
- To edit an existing room, you can either: redit [vnum] or goto
- the room, then just type redit.
- To get a list of all the room names in an area, type: rlist
- OPTIONS: Once you've created a room, the follow options appear when you hit
- [enter], or type: show
Name:
- Syntax: name
- This gives a room a name. In general, every essential word in a room name
- should be capitalized, similar in fashion to the rules governing capitalization
- of books and short story titles.
Area:
- This just shows what area the room is in.
Vnum:
- Reminds you of the room's vnum.
Sector:
- Syntax: [sector name]
- The sector represents the terrain of the room. This has an effect on whether
- certain terrain dependent spells or skills can be used, as well as the movement
- cost to move through the room. The follow is a list of sector types:
inside: Easy movement. Note: Does NOT cause area spells to bounce, not dark at night, can hide. city: Sector flag for cities, towns, etc. Easy movement, not dark at night, can hide. field: Easy movement, use this outside towns, dark at night. forest: Medium movement, use for forests, various plant affects druids can use, dark at night, can camo. hills: Medium movement, use for hills, dark at night. mountain: Heavy moment, dark at night, some terrain affects, can camo here. swim: Use for water rooms that don't require a boat/flying, dark at night, water dependent spells work here. noswim: Use for water rooms that do require a boat/flying, dark at night, water spells work here. unused: Use for virgin rooms, pristine in their nubility. So soft.. sweet... sweet... soft... flesh.... air: Need fly to move in the room, dark at night, some earth spells don't work here, air spells do, etc. desert: Heavy movement, ground, one day (but not right now), increased thirst. underwater: Requires water breathing and fly/boat to move, dark at night, various spell changes. underground: Always dark, certain race regens effected, certains spells affected, can hide here. road: Easy movement, not dark at night, can hide.
Room Flags:
- Room flags determine what you can and can't do in rooms, as well as what sort
- of access spells like summon or gate have to a room. To get a list of the room
- flags while in redit, type ? room
- Here's a list of room flags, and what they do:
dark: Room is always dark, requiring a light source. nogate: No one can gate to or from room. no_mob: Wandering or tracking mobs cannot enter this room. Will stop mpwander, but not other progged movements. indoors: Area spells have a backblast affect , weather not seen. nosum_to: Nothing can be summoned to this room. nosum_from: Nothing can be summoned from this room. noneforyou: People who where in this room will only see "none." vault: Used only for house vaults. noyell: Yells in this room are not heard outside. private: No additional persons can enter this room, assuming the room is not empty. safe: No one can attack/start fights in this room, including mobs. (This should almost never be used). solitary: No more than one person in room. (Should be used seldom, if at all, as it's open to abuse.) pet_shop: Any mobs that reset in the room whose vnum ia immediately AFTER flagged room will be available for sale. Example: You flag room 69000 as pet_shop. Room 69001 has a hen resetting there. If people type 'list' in room 69000, a hen will be available for sale. no_recall: No one can recall from this room AND no one can teleport or spiritrune to/from there. imp_only: Only bastards may enter here. gods_only: Only gods may enter this room. heroes_only: Only heroes may enter this room. newbies_only: Only characters levels 1-5 may enter this room. law: Marks a room as quittable. All rooms in major cities should be this. nowhere: No one else in an area can locate you on ‘where’ if you are in this room. nomagic: No spells work in this room. guild: Used to mark rooms of a guild, to bar entry to outsiders. Note: We don't need this with some of the newer guild progs, such as those featured in Earendam. noweather: The weather is not visible from this room. uberdark: Nothing will illuminate this room, no exits are visible, no one appears on where. laboratory: Alchemists can only concentrate potions/pills in a laboratory, and they get +1 alchemical power.
- To add any of these room flags to a room, use the following syntax: In redit,
- type the name of the room flag.
Health/Mana Recovery:
- You can set the rate at which a player gains and recovers hp/mana in a room.
- The scale is measured in percent points, so a health and mana of 100 means
- "regenerates as normal." Lower values would indicate worse regeneration returns,
higher values would indicate better ones.
- To set the health and mana rates, use the following syntax:
- heal [rate]
- mana [rate]
- move [rate]
- and remember, [rate] should be an appropriate percentage value.
Clan:
- This identifies room's that belong to a particular house or organization.
- Generally, you will only rarely set the house of a room (such as when
- building an area for a particular house).
- To set a room's house, the syntax is: clan [name]
- Acceptable names: Champion, Raider, Conquest, Guardian, Seeker,
- Shunned, Merchant, Wanderer, Knight
Fount:
- Syntax: fount [frequency] [order] [positive]
- Order and positive are from 2 to -2, with higher integers being associated with more ordered and more positive energy. Frequency is as follows:
always (a fount is always present) often occasionally rarely never default (uses the area setting)
Shades:
- Syntax: shades [density] [power]
- This controls the shade generation settings.
DENSITY POWER teeming powerful crowded strong normal average uncrowded weak empty powerless default default (uses the area setting)
Description:
- The description is what people see when they look at the room. There is a
- separate editor just for room descriptions, accessed within redit. To access it,
- type desc while in redit.
- The follow are editor commands, which can be accessed from a blank line within
- the editor:
- @: Leaves the editor
- .f: Format. Formats the current room description.
- .c: Clear. Clears an entire room description, returning it to blank.
- .s: Show: Shows everything currently in the description.
- .r: Replace: Used to replace one string with another.
- Syntax: .r 'old string' 'new string'
- Important note: Old string counts spaces, and you cannot use the '
- character in your string, as it demarcates the strings in the first
- place. (no, \' doesn't work either). If you fuck up something with
- an apostrophe, you have to re-enter the whole description.
- Some notes: A lot of clients (especially zmud) use the . as a special
- character -- make sure you change it so that it isn't.
- Writing your descriptions offline: I recommend you write your descs offline,
- where you can spell/grammar check them, and cut/paste them more easily.
Exits:
- Exits are how rooms are connected with each other. We'll begin with a discussion
- of how you connect rooms, then discuss the exit flags which are permissible
- for these exits.
Dig:
- The dig command lets you dig a new room, and create a two way exit to that room
- at the same time. It's very convenient for creating rooms that connect to one
- another.
- Syntax: [direction] dig [vnum]
- If the vnum does not already exist, the room will be created. If the room does
- exist, it will link to the room with a two-way exit, provided the room
- does not have an opposite direction leading elsewhere.
Link:
- Link makes a two-way exit, just like dig, but will not automatically create a
- new room for you.
- Syntax: [direction] link [vnum]
Room:
- You can use the ROOM command to create a one-way exit to another room. Unlike the
- DIG command, room will not create a room for you to link with. You must use redit
- or dig to independently create the target room, then ROOM to make a one way exit
- there.
- Syntax: [direction] room [vnum]
- Important use for the ROOM command: If your room borders a room in another area,
- and you wish to connect them, you *must* use the ROOM command to do so. Otherwise,
- the exit will sometimes spontaneously disappear.
Delete:
- To remove an exit from a room, do the following.
- Syntax: [direction] delete
Exit Descriptions:
- These are what people see when they "Look [direction]". While in the earlier,
- more hurried portions of our history we've sometimes had to neglet them, exit
- descriptions are in the long run essential, and help players navigate. They are
- especially important when you have traps or noexit rooms. If a person hasn't
- been warned in the description, there should definitely be a hint in the exit.
- Syntax: [direction] desc
- This will call up a desc editor, which operates in an identical fashion to the
- room editor.
Exit Flags:
- Exit flags are placed on exits, and they restrict/affect the travel that passes
- through that exit. To toggle the exit flag on or off, the syntax
- is: [exit direction] [flag] (i.e. "east closed").
- The following are exit flags:
door: This flags an exit as a door. If it is a door, it can be opened and closed by players or mobs. key [object vnum]: This sets an object as a key for a door. closed: If an exit is a door, this causes the default state of that exit to be closed. The door will automatically close whenever the exit resets. WARNING: If you reset an exit as closed, but not door, when we next reboot, the mud will most likely hang, as it has problems dealing with a closed exit without a door. locked: If an exit is a door, this causes the default state of that exit to be locked. The door will automatically lock whenever the exit resets. Note: If you do not have the exit flagged as closed, locked will do little as an initial setting. The same warning applies as to the closed flag above. secret: An exit flagged secret is invisible to the "exits" command. A person must simply walk in the direction to go through the door. pickproof: A door exit flagged pickproof cannot be picked or knocked open. As above, do not add to an exit that is not a door. nopass: A door marked with nopass cannot be entered with pass door while closed. easy: A locked door marked easy is easier to pick than normal. hard: A locked door marked hard is harder to pick than normal. infuriating: A door marked infuriating is extremely hard to pick. noclose: A door marked noclose cannot be closed. nolock: A door marked nolock cannot be locked. illusionary: This flag is used by the spell illusionary exit. It makes the exit lead back to your current room. walled: This flag is used by the earth spell, 'wall of stone' to block off an exit. walloffire: This flag is used by the wall of fire spell. noram: This marks a door as unbreakable by a barbarian's ram. fake: An exit flagged 'fake' appears as a normal exit, but mortals cannot pass through it. (This is very useful for entrances guarded by progged mobs, such as temples or guilds.)
Name:
- To give a name to a door you've made, so people will see things like "You open
- the oaken door", etc., use the NAME command in conjunction with a direction:
- Syntax: [direction] name ['door name']
Extra Description (ED):
- Often, you will want to have more detail in your room than is available in a
- single description. There will often be things in the background that you want
- to show more detail on, such as altars, writing on the wall, and so on. To
- do this, you use the extra description feature. This adds a keyword to a room,
- that everyone will be able to see if they type "look [keyword]". The syntax
- for adding one of these is: ed add [keyword] which will bring up a description
- editor window just like the one for the room's description. Use ed edit
- [keyword] to edit it later on, and ed delete [keyword] to delete a keyword. To
- add multiple keywords for the same exdesc, type ed add 'keyword1 keyword2' etc.
Danger:
- Syntax: danger [number]
- This assigns the EP points that the room will give in addition to the base value
- assigned in aedit.
RESETS: Putting things in a room
- Items and mobs appear in a room via the RESET command. We'll break it up into
- two parts: Resets for mobs, and resets for objects. To get a list of all the
- resets in a room, type reset by itself, with no arguments. You can see the syntax
- for reset commands by typing reset 0.
MOB resets
- This is the place a mob starts when the area resets. The syntax is:
- reset [number of reset] mob [vnum] [Max number of mobs in the area] [Max in room]
- The number of the reset determines its order in being loaded in the room. If you
- just type zero, it will automatically put it in the next place in the list. The
- Max number of mobs in the area determines how many of this mob can be reset in
- total. If you have 17 separate resets in the area, and the max number is 16,
- only 16 mobs will reset. The Max in room determines how many of the mob can be
- reset in the room. If there is already a mob of a given type in a room, and your
- max in room is 1, no more mobs will be reset.
- Important: If you want more than one mob to reset at a given time in a room, you
- need to have a seperate reset for each mob. So, if you wanted to reset two of mob
- 69000 in a room, you would do: ‘reset 0 mob 69000 2 2’ and then ‘reset 0 mob
- 69000 2 2’ again (Once for each mob).
OBJECT Resets
- With object resets, you can put items on the ground, on a mob, or in a container.
- We'll cover them as three seperate cases:
- (A) Resets on the ground:
- This loads the item on the ground when the area resets. Caveat: If there are
- any players in an area, no objects will reset on the ground. The syntax for
- this is: reset [reset number] obj [object vnum] room
- (B) Resets on a mob:
- This loads an item into a mob's worn slots, or into a mob's inventory, or as
- an item in a shopkeeper's inventory. Important note on the way this sort of thing
- works: In the list of resets, the objects must appear after the mob. This makes
- intuitive sense: A mob has to reset before you can reset anything onto it.
- Every item that you reset onto a slot will go on the mob it comes after, until
- another mob is added. Done properly, this looks like:
- 0: Mob 1
- 1: Item 1 (goes on mob 1)
- 2: Item 2 (goes on mob 1)
- 3: Mob 2
- 4: Item 3 (goes on mob 2) etc.
- The syntax for this is: reset [reset number] obj [object vnum] [wear-loc]
- Take care that you set the number of reset right, as you will sometimes not want
- to just use the default '0'. The wear-loc determines what slot the item is loaded
- into. The following are acceptable wear locations: none light lfinger rfinger
- neck1 neck2 body head legs feet hands arms shield about waist lwrist rwrist
- wielded hold floating branded dual. Of these, 'none' and 'float' require
- explanation. Use 'none' to reset an object into a mob's inventory. Items that
- you want a shopkeeper to sell must be reset into the none wear location.
- 'Float' makes an item float beside the wearer, as per the air scholar spell.
- Items that float should be used far more sparingly.
- (C) Resets inside containers: If you have an object resetting inside a room
- that is a container, you can have other objects reset inside it. Note that
- as above, the items you wish to reset IN the container must occur after the
- container itself in the reset list. The syntax is:
- reset [reset number] obj [object vnum] inside [container vnum] [limit][count]
- The 'limit' isn't the limit factor (see the section on object limits), it's
- the total number of items this particular chest can produce before it stops.
- Unless you want only 1 thing to come from your chest per reboot, you'll want
- to put a large number, like 9999. The count is the number that can be in the
- chest at a given time.
- IMPORTANT NOTE: Never reset an object from one area into another. This is
- generally very bad, and can crash us, depending on what order the areas are
- loaded.
Resets to Randomize Exits:
- There's something else you can do with resets: Randomize the exits. You can
- randomize a certain number of exits in the room (unfortunately, not particular
- exits... *hiss*)
- Syntax: reset random [# of exits]
Deleting a Reset:
- To delete a reset (any kind), the syntax is: reset [number] delete