Editing Your Character:
These
are a bunch of the properties that you can tailor to your character
to make it more fun and interesting! The important command
parts are highlighted in XXX.
These commands you can cut and
paste and then substitute your own wording.
@set
me=species:<species name>
Self explanatory. Can be pretty much whatever you want
@set
me=sex:<gender>
Self explanatory. Can be "male", "female", or "neuter", and possibly others,
but some references that depend on these may come out weird.
@set
me=say_prefix:<what you see
onscreen when you 'speak'>
Self explanatory. Can be pretty much whatever you want.
@set
me=osay_prefix:<what everyone
else sees onscreen when you 'speak'>
Self explanatory. Can be pretty much whatever you want. An example would
be Tiger purrs, "Hello."
The result of @set me=osay_prefix:purrs
and you type "Hello.
@set
me=_scent:<whatever you want
to smell like>
Pretty straight forward. This will literally be the text that is returned
to the fur that sniffs you, so it can be pretty much whatever you want.
@set
me=_smell_notify:%n just sniffed you!
Whereas %n substitutes your character's name, simple notification. Will
tell you when someone sniffs you.
@set
me=_desc_notify_looked:%n just looked at you.
Whereas %n returns your character's name, simple notification to let you
know someone looked at you.
@set
me=_desc_notify_looker:%n knows you looked.
Whereas %n returns your character's name. Will tell the other character
that you know they looked at you.
@desc
me={look-notify:{list:mydesc}}
Sets you character's 'look' description to whatever you want in <mydesc>.
Whereas <mydesc> can be any description you choose, so long as it's
referenced in the 'lsedit' command (below) identically.
wd
s:<something something something>
This
is your "WhatDoing" Sticky Message. It is what's displayed in the 'wd'
listing. When wd is typed a list of all online characters is listed
as well as what they are doing.
lsedit
me=mydesc
Brings up the list editor that you can use to enter your character's description.
Whereas <mydesc> can be any description you choose, so long as it's
referenced in the @desc me={look-notify:{list:mydesc}} command (above)
identically. Lsedit is your friend. Use it to set descriptions longer than
a few lines. Also you can use it to set different descriptions my numbering
them: lsedit me=mydesc1, lsedit me=mydesc2, ect. Remember
to also set a corresponding @desc me={look-notify:{list:mydesc2}} for
each different one when you want to it to be seen. You can then switch
back and forth between different descriptions.
Creating
items
or
toys in the attic.
Now that you look like something, every well dressed character needs some posessions. Whether it is a box of fudge, a golden ring or a fully loaded rail gun, this is a basic walkthrough.
@create<item>
whereas <item> is the literal name of the item. There is no =
here.
@desc
<item>=<description>
whereas <description> is the text returned by the "look <item>" command
@link<item>=here
whereas 'here' assumes you want the item to be placed in the room you're
in. Can also be 'me' or a dbref# of a room if you own that room. You can
only link to rooms or other items that you own already or have been given
permission to from another character.
@lock
<item>=me
locks the item to you so no one can take it or pick it up. 'me' can also
be 'here' or a dbref# of a room if you own that room.
Attaching Actions to items:or .. Build a Better Mousetrap
Now that you have an object. Make it so it can "do" something.
See @create and @desc from
above (if you have attached any actions, you should mention it in your
description text, so other folk can be aware of them)
@act
<action>=<item>
whereas <action> is the literal name of the action that the object can
do
whereas <item> is the literal name of the item you are creating the
action for
@link
<action>=#<dbref#>
whereas <action> is the literal name of the action that the item can
do
whereas <dbref#> is the dbref# of the item the action is associated
with. When you create an action or a door or a room it will be assigned
a dbref#. It is a good practice to write these down because you will need
them later.
@succ
<action>=<text>
whereas <action> is the literal name of the action that the item can
do
whereas <text> is the text returned to the character doing <action>
@osucc
<action>=<text>
whereas <action> is the literal name of the action that the character
can do
whereas <text> is the text returned to everyone else in the room, appended
to the character's name that is doing <action>
@fail
<action>=<text>
whereas
<action> is the literal name of the action that the character tries
to do
whereas <text> is the text returned to you, who is doing <action>.
This will be seen only if the character fails to complete the action. An
example would be a locked door or an item that needs something "extra"
to function. Also an item that locked against use.
@ofail
<action>=<text>
whereas <action> is the literal name of the action that the character
tries to do
whereas <text> is the text returned to everyone else in the room, appended
to the character's name that is trying to do the <action>
Note:
in your text place a %p
in
every spot where the words HIS, HERS or ITs would be. The sentence will
show up as gender correct automatically.
Also:
%a
= Name's, his, hers, its.
%s
= Name, he, she, it.
%o
= Name, him, her, it.
%p
= Name's, his, her, its.
%r
= Name, himself, herself, itself.
%n
= Name of player.
BUILDING YOUR HOME
The first thing you need to give is a sense of realism is a description. The basics for room building having been tried, you need to show people where you live. The descriptions here are examples. You can substitute any type of description your heart desires. Bear in mind that a really long description will spam and bore your guests. All important commands are in XXX
Creating
Rooms:
@dig
<roomname>
whereas 'roomname' is the literal name of the room
@desc
<roomname>=<description>
Thiswill
only work with short descriptions of a room. For long descriptions you
will need to use the lsedit commands below.
@desc
<roomname>={list:roomdesc}
whereas 'roomname' is the literal name of the room (if all else fails,
try "here")
lsedit
<roomname>=roomdesc
whereas 'roomname' is the literal name of the room (if all else fails,
try "here")
(enter text description
of the room. When done, type "enter" then ".end" This will exit the lsedit
editor and save the room description.
Creating Exits:
Now
that you have made a room or two, you need to open doors between them.
This is done in two steps as the doors are two sided.
@open
<name of exit>
This
can be "Wooden door" or even the name of the room on the other side. It
will not be seen and it is reccomended that you include a lot of possibilities
seperated by semi-colons. For example:
@open east;e;kitchen;k Typing any of those
choices will activate the exit. It is a good practice to include at least
one of the exit names for each exit in your description of the room. Of
course, @open just creates an exit leading into nowhere. You'll need to
@link it somewhere before people can go through it!
@link
<name of exit>=#2345
Do
this step standing in your room. The #2345 is the dbref# number of the
room you want the exit to go to.Now, typing any of the exit names will
put you through into the room you linked to. Now, standing in your next
room, you have to make the exit going back the other way.
@open
west;w;livingroom;l;L;out;o
This
now makes an exit that any of those names will open. Out and o is handy
to use if there is only one door to someplace like a closet or bathroom.
Now link this exit back to the room you came from.
@link
west=#1234
Use
the dbref# of the first room and now you will be able to walk back and
forth between them. When making multiple exits in one room beware of using
the same name twice for two different exits.
You can
also attach the following messages to your exits to make them more interesting
@succ
<exitname>=You open the door and
go in.
@osucc <exitname>=opens
the door and goes through it.
@fail <exitname>=You
can't. It's locked.
@ofail <exitname>=rattles
the door and kicks it, but it will not open.
Of
course you can substitute any message you like but this gives you an idea
of how each one works.
@drop
<exitname>=<text>
whereas <exit> is the name of the exit that the character has taken
whereas <text> is the text returned to the character after having gone
through the <exit>
@odrop
<exit>=<text>
whereas <exit> is the name of the exit that the character has taken
whereas <text> is the text returned to everyone in the room that the
character is entering into, appended to the character's name that has used
<exit>
Making
Exits Interesting:
@osucc, @odrop, and
@ofail messages may contain %-substitutions, which evaluate to gender-specific
pronouns if the player's sex is set. Capitalized pronouns are also available
with %A, %S, %O, %P, and %R. If you need a '%', use %%.
%a
(absolute) = Name's, his, hers, its.
%s
(subjective) = Name, he, she, it.
%o
(objective) = Name, him, her, it.
%p
(possessive) = Name's, his, her, its.
%r
(reflexive) = Name, himself, herself, itself.
%n
(player's name) = Name.
Creating "shortcuts" for your character:
@act
<exitname>=me
creates an "exit" and attaches it to you
whereas <exitname> is the literal name of the exit that gets created
@link
<exitname>=#<dbref#>
whereas <exitname> is the literal name of the exit (what you used above)
whereas <dbref#> is the dbref# of the room that you wish the "exit"
to go. This can be used to go to any room that you own from anywhere you
might be. Sort of a portable door you keep with you.
You can also make exits retrieve items for you. Normally, if you want to retrieve an object you have to @tel #1234=me. However, you can @link an exit to the item, and, whenever you typed the name of the exit, the item would jump into your inventory, no matter where it had been before. To make an exit called 'getcoffee' that would always call your Coffee into your inventory, you would type:
@act
getcoffee=me
(creates an exit called 'getcoffee', attached to you)
@link
getcoffee=Coffee
(links 'getcoffee' to the Transporter)
Now, whenever you type 'getcoffee', your Coffee will appear in your possession, as if by magic. To see your inventory, type 'i'.
Checking Exits:
ec
checks/identifies a room's exits
qe
<exitname>
QuickExit checker
whereas <exitname> is the name of the exit to be checked
Fixing Mistakes:
@name
<oldname>=<newname>
whereas <oldname> is the current name of the item
whereas <newname) is the name that you want the item to have
@relink
<exitname>=#<dbref#>
whereas <exitname> is the name of the "exit" from the room
whereas <dbref#> is the dbref# of the new room that you want the "exit"
to go to
ex<roomname>
whereas <roomname> is either the literal name of the room, it dbref#,
or 'here' if all else fails. This will show who the owner is, or if you're
the owner, can be good way to see all the room's/object's attributes.
Recycling Things you Own:
A big database makes for a slow MUCK with lots of lag. You can play a part
in keeping your MUCK lag minimized by getting rid of all those things,
actions, exits, and whatever else you have (zombies too) that you don't
need or use anymore.
@recycle
#<dbref#>
whereas <dbref#> is the dbref# of the thing/exit/action/room that you
own.
you can also reference stuff by name, but this can get tricky so it's always
better to use the dbref# because there's only one of those in the entire
database. To @recycle an exit, you have to be in the room where it is connected.
You can also @recycle here
if you want to get rid of the room you're in, but you'll want to make sure
you do a @link<object>=me for EVERYTHING in the room and that you're
holding that you want to keep, otherwise, things can vanish, never to be
found again! You will go to your home as the room is "destroyed", and everything
you're carrying will be sent to its home unless it's @linked to you.
LOCKS
Locks can be put on exits or actions attached to objects. You can lock a door to a room against any unwanted entry. You can also use it to make interesting objects. An example is a cannon I made that will fire but not unless you have fetched a cannonball and a torch to light it with.
Boolean operations are allowed. Recognized operators are:'&' '|' '!' '(' ')' ':' ';'
For example to
restrict use of an exit to people carrying
a Red Key, type:
@LOCK <exitname>=Red Key
If you want to
create a complex set of criteria for using
an exit, you
can use boolean operators, for example:
@LOCK
<exitname>=Red Key | Invitation | me
Which means only
people with a red key, OR those that
have an invitation,
or yourself can pass through the door.
AND has higher
precedence than OR, but when in doubt, use
parenthesis,
ie: @lock THING=(A|B) & (C|D)
Lock OPERATORS
Operators used
In locks:
&
- means AND, @lock gate = key & passport means BOTH are necessary.
| - means OR, @lock gate = Key | Passport means
one of them is enough.
! - means NOT, @lock gate = !gun means that you
can't pass with a gun.
()-
declare precedence, @lock Gate=(key|passport)&!gun
means a key,
or a passport (or both) as long as there's no gun.
Lock building can be tricky. Here are some transformational rules you can follow to try to word locks more concisely!Key & !Gun (---) !(key|gun) (can't have either one)
Be careful:
!dog|key &
!dog|axe is the same as: !dog | (key & !dog) | axe
NOT the same
as: (!dog | key) & (!dog | axe)
(!dog|key) &
(!dog|axe) (---) !dog | (key & axe)
Zombies
101
Or confuse your friends and annoy everyone
else
@create <zombiename>
whereas <zombiename>
is the literal name of your zombie. (remember the dbref#)
@set
<zombiename>=z
whereas <zombiename>
is the literal name of your zombie
whereas 'z'
makes the item a Zombie
@set
<zombiename>=x
whereas <zombiename>
is the literal name of your zombie
whereas 'z'
makes the item xForceable
@flock
<zombiename>=me
whereas <zombiename>
is the literal name of your zombie. Sets the ForceLock so only You can
use your Zombie
@action
zom=me
creates and
action named 'zom' so you can control your Zombie.
@lock
zom=me&!me
don't ask: this
action must always fail --> me&!me is false
@set
zom=h
action 'zom'
must be set 'h' to allow MPI to work
@fail
zom={force:#<dbref#>,{&arg}}
the fail section
of the action to run the MPI program that sends your commands to the Zombie.
whereas <dbref#>
is the dbref# of your Zombie
@lock
<zombiename>=me
whereas <zombiename>
is the literal name of your zombie
whereas 'me'
locks it to you so no one can run off with it
@link
zom=$nothing
if you attach
the zom action to something other than yourself, it is accessable to other
players.
drop
<zombiename>
whereas <zombiename>
is the literal name of your zombie
drops your Zombie
so it can become active for you
zom
...
issue a command
to your zombie. (ex: 'zom say Hello' would cause your Zombie to
say "Hello" in the room it's in. Or: 'zom look' would make your Zombie
look at the room its in and it would display back to you something like:
'Feep> You are standing in a wide field....' (or whatever) "Feep", in this
example, would be the name of your Zombie. Pretty much, anything that you
could do, your Zombie can do.
Miscellaneous Things:
Here's a collection of useful stuff that didn't seem to have a logical home somewhere else.
@link
me=#<dbref#>
sets the character's
home to the room <dbref#> provided they own it; can also use 'here',
also provided they own they room they're in or have permission to do so.
@quota
displays the
character's object quota details
examine
#<dbref#>
whereas <dbref#>
is the dbref# of the object you wish to examine, provided you own it; can
also be 'me', 'here', an exit or object's name, etc. You can also append
"=/" to the end to show all of the "root" properties. Overall, this command
can help immencely in "cleaning" up objects and cutting down on the amount
of space they consume in the database by allowing you to identify properties
that you no longer use or need that you can remove.
@set
#<dbref#>=<property>:<value or text>
whereas <dbref#>
is the dbref# of the object you wish to @set a property on, provided you
own it; can also be 'me', 'here', or an exit or object's name, etc (but
it's better to use the dbref#)
whereas <property>
is literally the name of the property
whereas <value
or text> is the data associated with the property
if @set is used
without a colon and data appended, the property is removed from the referenced
object
@password
<oldpassword>=<newpassword>
changes your
password, whereas <oldpassword> is your current password and <newpassword>
is what you want your new password to be.
@set
me=/sweep/sweep:<text>
This will customise your sweep
message when you sweep sleeping characters.
@set
me=/sweep/swept:<text>
This will customise your sweep
message when you are swept from an area. What everyone else sees
as you leave.
@find <itemname>
If you lose an item, this will
tell you what it's debref# is.
@tel <dbref#>=me
Use this to retreive your lost
or strayed items.
@find
*
This will give you a list of everything
you own and all the dbref#.
@set me=_prefs/where/unfind?:yes
@set me=_prefs/where/unfind?:no
By typing whereis <charactername> people can see where you are
located. Use these two commands to disable or enable that function for
privacy
laston
<charactername>
Will tell you when the character
was last connected.
Below are some great links for further help. Not all commands will work in all formats. These pages have been a great help as well and I appreciate the makers assembling and posting them.
Ben Raccoons pages from TigerDen
Many thanks also to Kenti Bengali for his input.