RECIPE
Used for the herbalism system, the recipe command allows a detail to
list and create various item combinations to yield poisons and
potions. Currently, only food, herb, and component items can be
combined to make a useful potion or poison.
Type "recipe ?" for a complete list of commands and usage.
#
HERB HERBALISM PLANT HERBS PLANTS
The herbalism system is based on in-game plants, which are placed by
builders in various parts of the game world. All plants have the "take"
flag removed. The plant item must have the oval0 flag set to correspond
to which herb it yields when it is gathered.
The plant description should be somewhat ambiguous. The description of
an herb should include the actual name of the herb.
For example:
A low-lying plant grows in the shade of a large oak tree.
some alanal leaves
#
BOARD BOARDS
A board consists of an "board" object and a board definition. Here is
how to create a board definition:
> board create 1 staff_news 'News about staff events.'
The example above created the a board named "staff_news" that only players
at trust level 1 or above can read or write to.
The syntax is:
board create level board-name board-title
board save (Save board definitions to disk)
board delete board-name (Naturally, delete isn't implemented yet)
board ("board" by itself lists existing boards)
After a board is created, it must be saved using the "board save" syntax.
The instructions above simply define the board. For a player to be able
to use a board, a board object must be created and assigned to an existing
board.
> oset board name "staff_news board"
is the building command to define an object as a board. The object must
be of type board, and its first name element must be the name of the
board it represents.
There are a few special predefined boards:
lesser_oracle - Messages sent here are from the "lesser oracle" dream
request.
lesser_answers - Answers to lesser_oracle requests by staff appear on
this board for review of others.
greater_oracle - Messages sent by "greater oracle" dream request.
greater_answers - Staff answers to greater oracle.
prescience - Questions posed by players using the psionic
prescience skill.
prescience_answers- Staff answers to prescience.
Staff members may answer lesser/greater oracle questions by using the
reply command:
> reply board 10
If your reply were to a message on the lesser_oracle board, then message
with the same number would be posted to the lesser_answers board, AND a
dream answer would be attached to the player-requestors pfile.
And, just by the way, once the player receives his/her dream, the player
can type "dreams" to figure out how many dreams he/she has had, and
"dreams <nn>" to review a specific dream.
Unix files
==========
... lib/boards - directory containing all board information
... lib/boards/board_list - definition of all boards
... lib/boards/<board>.nnnnnn - A specific message on a board.
Messages are stored as individual unix files in the boards directory. It
will not hurt the mud to wholesale delete messages from this directory as
long as the board_list file is left in-tact.
#
RCRET
Usage: rcret <direction> <difficulty>
RCRET creates a secret description which can only be found
through a succesful use of the SEARCH skill. The difficulty
is a number from 0 to 100. Note: a difficulty of 50 or greater
will be impossible to find. A good range is 0-20, with a
preference to lower numbers.
Once the command is typed, you will go to the editor for the
actual description.
#
REPLACE
Usage: replace <"object"/"mobile"> <vnum> with <vnum>
Replace exchanges one equipped item for another across all zones.
It is a powerful command, and should be used carefully. Changes
become permanent after a save and reboot.
Example:
>replace object 10023 with 2501
>replace mobile 17901 with 5023
#
OUTFIT
Usage: outfit <mob/char name>
Outfit forces the named mobile or character to pick up and attempt to
wear and wield all items on the ground in that room. It is useful for
quickly equiping a newly loaded mob.
Example:
>outfit guard
#
OBJECT
Usage: object | object <vnum/name>
This is the base object editing command. Used with an object name or
vnumber it allows the builder to start editing that particular
prototype. When using a name to edit, that object must be in the
builders inventory, or in the room.Once editing a prototype, the current
statistics can be displayed by typing "object" alone, without any other
fields.
Newly OINITED objects are automatically in edit mode.
Examples:
>object 10002
>object sword
>object
See Also: OSET OINIT
#
OSET
Usage: oset <field> (value)
Oset is the object editing command whilch actually changes the
aspects of a prototype object. Start editing objects using the OBJECT
command. To get a list of all possible fields, type "oset ?"
Examples:
>oset name 'sword long sharp'
>oset oval1 5
See Also: OBJECT OINIT
#
VIS INVIS
These commands alternately make your immortal visible or invisible
to mortal eyes.
#
WEAPON
This is a list for weapon oval0-6. See bhelp OVAL for its
usage.
oval0 - corresponds to wielding position;
0 - primary hand
1 - secondary hand
2 - can be used in either hand
3 - two-handed weapon
oval1 - corresponds to number of 'dice' rolled, ex: oval1 2
oval2 - corresponds to size of 'dice' rolled, ex: oval2 4
with the two previous examples, 2d4.
oval3 - corresponds to type of skill weapon requires;
1 - club 5 - axe
2 - spear 6 - whip
3 - sword 7 - polearm
4 - dagger
oval4 - hit theme of the weapon
0 - stab 3 - bludgeon
1 - pierce 4 - slash
2 - chop
oval5 - delay of hand caused by using weapon
#
RUNUSED OUNUSED MUNUSED
Usage: RUNUSED <zone #>
Gives a list of unused, uninitialzed rooms, objects, or mobiles
for the given zone.
#
RNAME
Usage: RNAME <New room name>
Changes the name of the room you are currently in.
#
RXCHANGE
Usage: RXCHANGE <old word> [new word | new words]
Can be used to correct typos, change words, insert words
or delete words from a room description. Find an experienced
builder for hints or try it out in a test room.
#
MCLONE
Usage: MCLONE <from vnum> <to vnum>
Clones one mob to another. This also works across
zones, and so is useful for making similar mobs in
different zones.
#
RPADD
Usage: RPADD <new prog #>
Adds a room program to the room. The newly added program
will be designated as program 1.
#
RPSTAT
Usage: RPSTAT
Shows the commands, keywords and programs of all programs in
the room.
#
RPCMD
Usage: RPCMD <Program Number> <word(s)>
Adds a command word to the room program. A Command word is
the first word of a two word trigger for the room. Usually
the action verb of a two word phrase. Multiple words can be
added using RPCMD
Example:
> rpcmd 1 press push depress
#
RPPROG
Usage: RPPROG <Program Number>
This is used to actually set the program for the room. You
will enter the editor after typing this command, and type '@'
as usual to exit. The room program is sequential; the first
line of the program being the first thing which will occur.
Basic commands available so far are:
atecho trans link exit ostr vstr atlook unlock
give take load force delete put unlink unexit
pain
There are also a series of if/else combinations:
if mexist if haso if link if exit
Writing room programs can be difficult at first, but sig-
nificantly increase the "reality" of the game. A good way
to learn how to write effective rpprogs is to use existing
programs. Use the RPSTAT command to examine other rooms'
programs.
#
RPAPP
Usage: RPAPP <Program Number>
This command is identical to RAPP except that it allows you
to append additional lines of code to an existing room prog.
#
RPKEY
Usage: RPKEY <Program Number> <Keyword(s)>
Sets the second word of a two word "trigger phrase" for a
room program. This is usually a word located in the room
description, and is paired with a RPCMD word(s).
Example:
> rpkey 1 button stone rock
#
OCLONE
Usage: OCLONE <from vnum> <to vnum>
Clones one object to another. This also works across
zones, and so is useful for making similar objects in
different zones.
#
SHOPS
The following describes the procedure to build a shop:
1) You must first have, at the very least, a mob MINIT'd. If
you plan on having your shop within a room, i.e stationary,
you should also have that room number RINIT'd with your mob
You should also know what sort of items your shop will buy
and sell; food, weapons, etc...
2) Use the MKEEPER command to initialize the shop, syntax is
MKEEPER <mob vnum>. If the shop is a room, the MFLAG of the
keeper should include Sentinel. Leave this flag out if you
want to make a wandering merchant. For the sake of simplicity
you might want to consider making a mob with the same v-number
as the room his shop is located. For example, a shopkeeper
whose shop is room 6123 would be minited as mob 6123.
3) Next, RINIT the store room. A shop keeper does not keep his
goods in his inventory, the items are placed in the store
room. All store rooms are located in Zone-2, and room 2000
contains a list of the numbering structure for your store
room based on what type of items the keeper will buy/sell.
For example; a weapons shop would have a store room number
in the range of 2500-2599, armor would be 2200-2299. Hint:
do a "show r 2 2500 2600" to find to find available rooms
for your store room within the proper range.
4) Now use the "LOAD obj <obj vnum>" inside your store room to
place the sell-able items in your shopkeepers listing. A
shop should not really contain more than 6-7 items, this
should allow a wide enough variety without providing a player
with access to too many items in one location. Now, when you
type "list" in the same room as your shop keeper, you should
see all the items you just loaded into your store room.
5) A shop can "reproduce" an unlimited supply of up to five
items. This adds a bit of "reality" to the game. If you
were in a tavern, you should be able to purchase more than
one tankard of ale. The KPIT command allows you to specify
which items you want your shop to reproduce. Note: Some
discretion should be used in
specifying which items will be reproduced. For example, it
would be common for a keeper to produce an unlimited supply
of ale, but not for a weapons-maker to reproduce the finest
chain mail, or the best broad-sword without limit. There-
fore, do not set "quality", "complex", or "unique" items
with KPIT.
6) To set the types of items a shop will purchase from players,
use the KTYPE command. Note: Some items should not be set
with KTYPE; Trash, Food, Other, and Note.
7) Another thing to set when making a shop is its buy and sell
profit values. The KBPROF command sets the percent value
that the keeper will try to purchase the item for. Example:
"KBPROF <shop-vnum> .75", would mean that the shop keeper
would try to buy an item off the player at 75% of its real
cost. Similarly, with "KSPROF <vnum> 1.1", the keeper will
try to sell the item 10% more than its cost.
8) You can also make your shop original by having your keeper
whisper unique sayings to players. These can be set with
the KMBUY, KMSELL, KNOBUY, KKNOCAS, KKNOIT, and the KPNOIT
commands.
#
FREEZE
Usage: FREEZE <zone>
Stops all mobile activity updates for the specified zone. Use
this to prevent mobiles from wandering during build/save periods.
Use THAW to reverse the affects of this command.
#
RDFLAG
Usage: RDFLAG <direction> <door flag>
Toggles the flags for the door in the given direction.
Currently you can set only set the PICKPROOF flag. If
you want to make a door "secret", use the RCRET command.
#
MINIT
Usage: MINIT <vnum>
Creates a new mobile in the current room. You might consider
using the FREEZE command to keep the mobiles from wandering
while you edit. You may use the MUNUSED command to get a list
of available vnums for the particular zone number.
#
OINIT
Usage: OINIT <vnum> <type | ?>
If a valid type is given, a new object of that type is created
and placed in your inventory. If '?' is given as the only
argument, then the possible types are listed. The OUNUSED
command can provide a list of available vnums within the
specific zone.
#
RAPPEND
Usage: RAPP
Allows the addition of text to the end of an existing room
description. No arguments are used, you will enter the editor
to append your additions. Use the "@" sign to terminate
for input.
#
RCLONE
Usage: RCLONE <source vnum> <target vnum>
Copies the name, description, sector type, and room flags of
the source room to the target room. Both rooms must already
exist and must be in the same zone.
#
RDDESC
Usage: RDDESC <direction>
Adds a description for exit (a door door not have to be present)
in specified direction. You will be prompted for the description
after entering the command.
#
RDOOR
Usage: RDOOR <direction> [keyword(s)]
Creates a door in the specified direction provided an exit or
link exists for that direction. A keyword may be specified if
desired, the default is "door". direction is one of the
following: n,s,e,w,u,d.
#
REDESC
Usage: REDESC <keyword(s)>
Adds a keyword and extra description for something in the
current room. Ater the command with the keyword is given, you
will be prompted for a description. This is useful for describ-
ing signs and anything else that need not be an object or will
not be taken from the room.
#
REXIT
Usage: REXIT <direction> <target room>
Creates a one way passage in the specified direction to the
target room. Both rooms must exist. The exit is removed with
the REXITRM command.
#
REXITRM
Usage: REXITRM <direction>
Removes a one way link to the room in the direction specified,
See Also: REXIT
#
RDESC
Usage: RDESC
Allows entry of a new description for the room you are currently
in. Rdesc takes no arguments, you will enter the editor to
enter the description, terminate the editor with the "@" sign.
Keep in mind that there is no word-wrap, so be sure to enter a
newline when close to 80 characters. For adding to the end of
an existing description, use RAPPEND.
Format:
1) Please place three blank spaces at the start of a new
paragraph.
2) Room descriptions should avoid excessive references to
"you" and "your".
3) Room descriptions should be at least 4 lines in length,try
to be descriptive; use references to smells and sounds as
well as visual perceptions when appropriate.
#
RFLAGS
Usage: RFLAGS [flag/?]
Toggles the flags for the current room. If no argument is
given, the cureent room flags are shown. If a '?' is given
as the argument, all possible flags are shown.
#
RINIT
Usage: RINIT <Vnum>
Creates a new room with the supplied virtual number <Vnum>.
The number must be an unused vnum. Use the goto, rexit or
rlink commands to get to the new room. You may use the
RUNUSED command to get a list of available vnums of rooms for
a specific zone.
#
RKEY
Usage: RKEY <direction> <key number> <pick penalty>
Allows the door in the direction given to be locked an unlocked
using a key with the specified key number. Creation and placement
of the key is the responsibility of the builder as automation of
this process would take away from the flexibility of the olc
system.
#
RLINK
Usage: RLINK <direction> <target room>
Creates a two way passage in the specified direction between
the room you are currently in to target room. Both rooms must
exist. The link is removed by using the RLINKRM command.
#
RLINKRM
Usage: RLINKRM <direction>
Removes a two way link between two rooms in the direction
specified.
See Also: RLINK
#
RSECTOR
Usage: RSECTOR [sectortype | ?]
Sets the sector type for the room. If no arguments are given,
this command returns the current sector type. If the arguemnt
'?' is given then all possible sector types are listed.
#
SHOW
show m <zone> [name] - Show mobiles in zone, optional name to match.
show o <zone> [name] - Show objects in zone, optional name to match.
show a - Show object, mobile, player, room totals for
all non-empty zones.
show z - Show all zones by name.
show s - Show grand-totals for rooms, objects and mobiles.
show r <zone>[low][high] - Show names and exit information for all rooms
in zone.
show p - Show a list of the "real" names of all players.
**NOTE: information given by show o and show m is based on the master
for that obj/mob.
#
THAW
Usage: THAW <zone>
Re-enables mobile activity updates in the specified zone.
Mobiles will wander and perform special functions as in
normal game play. This command is used in conjunction with
the FREEZE command.
#
WSAVE
No arguments. This saves the entire world, from zone 0-99.
Use of this command is restricted to trust level 5 users and
should not be used by the normal builder. Use ZSAVE to save
your zone. This will use as much CPU time as it can as it is
meant as an emergency save tool for use in time constrained
situation. Be prepared to endure very heavy lag until the
entire world is saved.
#
ZLIFE
Usage: ZLIFE <minutes>
Sets the time between resets in minutes.
#
ZMODE
Usage: ZMODE <mode>
Sets the reset mode for zone you are currently in.
Mode is one of the following:
0 - Never reset
1 - Reset if no players in zone
2 - Reset always
#
ZNAME
Usage: ZNAME <name>
Sets the name for zone you are currently in.
#
ZREBOOT
*** NOT YET IMPLEMENTED ***
Usage: ZREBOOT <zone>
Full purge and reset of all rooms as determined by the last
saved configuration.
#
ZRELOAD
Usage: ZRELOAD <zone>
Purges all objects and mobiles from zone specified and reloads
them in the same manner as the last reboot.
#
ZRESET
*** NOT YET IMPLEMENTED ***
Usage: ZRESET <zone>
Resets the specified zone, no purging is done.
#
ZSAVE
Usage: ZSAVE <zone>
Saves the rooms, mobiles and objects in the specified zone. Only
mobiles and objects that belong to that zone will be saved (SEE
ZONE LAYOUT for info on what belongs to what). Currently only
one level of recursion is saved for containers, therefore a bag
inside a box inside a chest will not save properly, but a steak
inside a bag carried by a dwarf saves a expected.
#~