There are a number of commands available to players for building new parts of the MOO. The primary means for players to extend the MOO is for them to create new objects with interesting behavior. There are convenient commands for creating and recycling objects and for keeping track of the objects you've created. The following commands are used in the creation of objects:
@dig
@create
@recycle
@quota
@count
@audit
@classes
@move
They are described in detail in the following paragraphs.
As time goes on, more standard classes may be added. If the parent you have in mind for your new object isn't one of these, you may use the parent's name (if it's in the same room as you) or else its object number (e.g., #1234). The names are given in the same format as in the `@rename' command, as follows:
name:alias,...,alias
or alternatively
name-and-alias,alias,...,alias
@describe me as "A very fine fellow, if a bit on the short side."
People who type `look blip' now see this:
A very fine fellow, if a bit on the short side.
The description of an object is kept in its .description
property. For multi-line descriptions, .description
can be a
list of strings.
@rename #4237 to "Rover the Wonder Dog":Rover,dog
Now we'll see `Rover the Wonder Dog' if we're in the same room as him and we can refer to him as either `Rover' or just `dog' in our commands, like `pet dog'. The third form of the @rename command is for use by programmers, to change the name of a verb they own. If the new-verb-name contains spaces, the verb will have multiple names, one for each space-separated word.
#-1
or
$nothing
. Unlike `@move', `@eject' does not
check to see if the object wants to be moved, and with the destination
being what it is, there is no question of the destination refusing the
move, either. Generally, you should only resort to `@eject' if
`@move' doesn't work.
The first form of the command removes the object from the current room.
The second form removes the object from the specified place (which, in
most cases, you'll have to specify as an object number). In either
case, this command only works if you own the room/entity from which the
object is being ejected.
The form of the command
@eject ... from me
suffices to get rid of some unwanted object in your inventory.
Rooms and exits are the stuff from which the landscape of the virtual
world is created. A room is generally an instance of the generic
room class, also referred to as $room
. An exit is an instance of
the generic exit class, $exit
. An exit can be thought of as a
one way tunnel leading from one room to another. If you wish to have a
two way exit, you have to use two exits: one going from the source
to the destination
and one going from the destination
to
the source
.
The following commands are used for creating and managing rooms and
exits:
names names|names
where the first form is used when you only want to create one exit, from your current room to the new room, and the second form when you also want an exit back, from the new room to your current room. In any case, the names piece is just a list of names for the exit, separated by commas; these are the names of the commands players can type to use the exit. It is usually a good idea to include explicitly the standard abbreviations for direction names (e.g., `n' for `north', `se' for `southeast', etc.). DO NOT put spaces in the names of exits; they are useless in MOO. The third form of the command is just like the second form except that no new room is created; you instead specify by object number the other room to/from which the new exits will connect. NOTE: You must own the room at one end or the other of the exits you create. If you own both, everything is hunky-dorey. If you own only one end, then after creating the exits you should write down their object numbers. You must then get the owner of the other room to use `@add-exit' and `@add-entrance' to link your new exits to their room. For example,
@dig "The Conservatory"
creates a new room named "The Conservatory" and prints out its object number.
@dig north,n to "The North Pole"
creates a new room and also an exit linking the player's current location to the new room; players would say either `north' or `n' to get from here to the new room. No way to get back from that room is created.
@dig west,w|east,e,out to "The Department of Auto-Musicology"
creates a new room and two exits, one taking players from here to the new room (via the commands `west' or `w') and one taking them from the new room to here (via `east', `e', or `out').
@dig up,u to #7164
creates an exit leading from the player's current room to #7164, which must be an existing room.
Go to the first, previous, next, last section, table of contents.