MOOsaico: Multilingual Virtual Community

Help Database (#61)
===================

 alias		    facetas		miscellaneous	    rooms
 name		    @facetas		@more		    say
"		    features		movement	    security
:		    @features		movimento	    @send
::		    @forward		@netforward	    @sethome
?		    full-index		news		    shout
@abandonar	    @gag		@next		    @skip
@add-feature	    gagging		@notedit	    sms
@addalias	    @gaglist		notes		    speak
ajuda		    gen-index		noticias	    spoofing
@answer 	    @gender		olha		    @subscribe
@bug		    get 		@opacidade	    @subscribed
burn		    give		@opacity	    @sugesta~o
character	    go			page		    @suggest
@check		    gopher		page-conf	    suma'rio
comandos	    @gripe		@pagelength	    summary
@comenta'rio	    hand		@paranoid	    @sweep
commands	    help		@password	    take
@comment	    home		@peek		    talk
common_quota	    @idea		player-names	    throw
communication	    @ideia		players 	    @typo
comunicac,a~o	    index		@prev		    @ungag
container-messages  information 	privacy 	    @unrmmail
containers	    insert		programming	    @unsubscribe
correio 	    introduc,a~o	pronouns	    @uptime
creation	    introduction	put		    user-names
decrypt 	    inventa'rio 	queima		    users
delete		    inventory		@quit		    utilizadores
descric,o~es	    @lastlog		@quota		    vai
descriptions	    @le^		read		    @versa~o
diz		    letters		@read		    @version
drop		    @linelength 	@registerme	    whereis
@edit		    @listgag		remove		    whisper
@edit-options	    look		@remove-feature     @who
@editoptions	    mail		@rename 	    wizard-list
editores	    @mail		@renumber	    @wizards
editors 	    mail-forwarding	@reply		    @wizards-list
@eject		    @mail-options	@request-character  @wrap
@eject! 	    @mailoptions	@resident	    write
emote		    manipulac,a~o	@residente	    yell
encrypt 	    manipulation	@rmalias	    zombie-messages
erase		    me			@rmmail
examina 	    message-sequences	@rn
examine 	    miscela^nea 	room-messages


 NAME/ ALIAS
============

Every object (including users, rooms, exits) has a name and a set of aliases.
The object name is commonly used to display an object in various contexts. The
object aliases are used to refer to an object when users type commands.
Help is available on the following commands:

@rename -- change the names or aliases of an object or yourself.
@addalias, @rmalias -- add and remove aliases.
@nome  -- define de portuguese name of the object, changing the proper
aliases.

@ADD-FEATURE/@REMOVE-FEATURE
============================

Usage:	@add-feature  <object>
       @remove-feature <object>

Add or remove a feature from your list.  A feature is an object which provides
additional commands you can use.  For more information, see `help features'.
- Show quoted text -

@ADDALIAS
=========

Syntax: @addalias <alias>[,...,<alias>] to <object>
       @addalias <alias>[,...,<alias>] to <object>:<verb>

The first form is used to add aliases to an object's list of aliases.  You can
separate multiple aliases with commas.	The aliases will be checked against
the object's current aliases and all aliases not already in the object's list
of aliases will be added.

Example:
Muchkin wants to add new aliases to Rover the Wonder Dog:
 @addalias Dog,Wonder Dog to Rover
Since Rover the Wonder Dog already has the alias "Dog" but does not have the
alias "Wonder Dog", Munchkin sees:
 Rover the Wonder Dog(#4237) already has the alias Dog.
 Alias Wonder Dog added to Rover the Wonder Dog(#4237).

If the object is a player, spaces will also be assumed to be separations
between aliases and each alias will be checked against the Player Name
Database to make sure no one else is using it. Any already used aliases will
be identified.

Example:
Munchkin wants to add his nicknames to his own list of aliases:
 @addalias Foobar Davey to me
@Addalias recognizes that Munchkin is trying to add an alias to a valid player
and checks the aliases against the Player Name Database.  Unfortunately,
DaveTheMan is already using the alias "Davey" so Munchkin sees:
 DaveTheMan(#5432) is already using the alias Davey
 Alias Foobar added to Munchkin(#1523).

The second form of the @addalias command is for use by programmers, to add
aliases to a verb they own.  All commas and spaces are assumed to be
separations between aliases.

@ANSWER/@REPLY
==============

Syntax:  @answer [<message-number>] [sender] [all] [include] [noinclude]
		[on <folder>]
Synonym: @reply

Prepares for you to compose a MOO email message to the players who either
received or composed the indicated message from your collection.  The usual
editor is invoked (see `help editors' for details).  The subject line for the
new message will be initialized from that of the indicated message.  If you
leave off the message number, the reply will be to your current message, if
that exists.  In fact you may give a general message-sequence (see `help
message-sequences') argument here, provided that it indicates only a single
message (e.g., `@answer last:1')

If there is a Reply-to: field in the message you are @answer'ing, its contents
will be used to initialize the To: line of your reply.	Otherwise, a To: line
is determined depending on whether you specified `sender' or `all' in the
command line (or your .mail_options).

`include' includes the text of the original message in your reply, `noinclude'
does not.

`sender', `all', `include', and `noinclude' can each be abbreviated (e.g.,
`@answer i').

Defaults are `sender' and `noinclude', but you can change this by setting your
.mail-options (see `help mail-options').

BURN/QUEIMA
===========

Syntax:  burn <letter>

Destroy the named letter irretrievably.  Only users who can read the letter
can do this.

@CHECK
======

Syntax:   @check <options>

where <options> is one or more of:
-- the number of lines to be displayed
-- a user's name, someone to be "trusted" during the assignment of
responsibility for the message.
-- a user's named prefixed by !, someone not to be "trusted".

	 @check-full <options>
where <options is either
-- the number of lines to be displayed
-- a search string: only lines containing that string will be displayed.

Used when you are suspicious about the origin of some of the messages your
character has just heard.

Output from @check is in columns that contain, in order, the monitor's best
guess as to:
   what object the message came from,
   what verb on that object that was responsible,
   whose permissions that verb was running with, and
   the beginning of the actual message.

Output from @check-full is in columns that contains a description of all the
verbs that were responsible for the noise heard, not just the best guess as to
who was responsible.

@check operates by examining the list of verbs that were involved in
delivering the message, and assigning responsibility to the first owner it
sees who is not "trusted".  By default, it trusts you and all the wizards.  It
uses the records maintained by @paranoid, so you must have used that command
before you received the message.

COMMON_QUOTA/@QUOTA
===================

Each user has a limit as to how much database disk space they may consume with
their objects, properties, and verbs.  Objects are periodically measured (and
can have their measurement forced---see help @measure).  If a user is over
quota after a measurement, he will not be able to @create any objects, use
@copy, @verb, or @property to grow any objects.  Existing properties and verbs
may be edited/changed at will, even while over quota.

The @quota command prints out your current quota and measured usage.

@quota prints a time of measurement in its display.  This is the time of the
oldest measurement out of all your objects.  For example, if you @measure
three of your objects right now, those individual times get updated, but if
you still have a couple of objects with older measurements, that older time
will be the time printed by @quota.  This is confusing to many people.

The quota mechanism is intended to solve a long-standing problem in many MUDs:
database bloat.  The problem is that a large number of people build a large
number of dull objects and areas that are subsequently never used or visited.
The database becomes quite large and difficult to manage without getting
substantially more interesting.  With the quota system, we can make it
possible for users to experiment and learn while simultaneously keeping random
building to acceptable levels.

COMMUNICATION/COMUNICAC,A~O/SPEAK/TALK
======================================

There are several commands available to allow you to communicate with your
fellow MOOers.	Help is available on the following communication-related
topics:

say	  -- talking to the other connected users in the room
whisper   -- talking privately to someone in the same room
page	  -- yelling to someone anywhere in the MOO
emote	  -- non-verbal communication with others in the same room
gagging   -- screening out noise generated by certain other users
news	  -- reading the wizards' most recent set of general announcements
@gripe	  -- sending complaints to the wizards
@typo @bug @idea @suggest
	 -- sending complaints/ideas to the owner of the current room
@whereis   -- locating other users
@users @u -- finding out who is currently logged in
mail	  -- the MOO email system
security  -- the facilities for detecting forged messages and eavesdropping.

CONTAINER-MESSAGES
==================


Several kinds of messages can be set on a container object; they are printed
to various audiences at certain times whenever an attempt is made to use the
container.  The ones whose names begin with 'o' are always shown prefixed with
the name of the user making the attempt and a single space character.  The
standard pronoun substitutions (with respect to the user) are made on each
message before it is printed; see 'help pronouns' for details.

The default message is given in brackets after each name below:

@empty[{list}]
 Printed in place of the contents list when the container is empty.

@open  [{list}]
 Printed to the user who successfully opens the container.

@oopen	[{list}]
 Printed to others in the same room if the user successfully opens the
container.

@open_fail  [{list}]
 Printed to the user who cannot open the container.

@oopen_fail  []
 Printed to others in the room when a user fails to open a container.

@close	[{list}]
 Printed to the user who closes a container.

@oclose  [{list}]
 Printed to others in the room when a user closes a container.

@put  [{list}]
 Printed to a user when an object is successfully placed in a container.

@oput  [{list}]
 Printed to others in the room when a user successfully places an object in a
container.

@put_fail  [{list}]
 Printed when a user fails to put an object in a container.

@oput_fail  []
 Printed to others in the room when a user fails to place an object in a
container.

@remove  [{list}]
 Printed when a user succeeds in removing an object from a container.

@oremove  [{list}]
 Printed to others in the room when a user succeeds in removing an object from
a container.

@remove_fail  [{list}]
 Printed when a user fails to remove an object from a container.

@oremove_fail  []
 Printed to others in the room when a user fails to remove an object from a
container.

CONTAINERS
==========

Containers are objects that allow you to store other objects inside them.  The
following help topics cover verbs that can be used with containers:

put -- putting an object into a container
remove -- taking an object out of a container

Containers may be open or closed, using the verbs 'open container' and 'close
container'.  Containers have a separate lock to determine if a user may open
them.  See the following help topics:

@lock_for_open -- setting the lock for opening a container
@unlock_for_open -- clearing the lock

You can make a container by creating a child of the standard container,
$container (see 'help @create').

Containers have a large number of messages which get printed when users act
upon them.  See 'help container-messages' for more information.

Containers have opacity.  See 'help @opacity' for more information.

CREATION
========

The primary means for users 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.
Help is available on these commands in the following topics:

@dig -- conveniently building new rooms and exits
@create -- making other kinds of objects
@recycle -- destroying objects you no longer want
@quota -- determining how many space is left to you to build
@count -- determining how many objects you already own
@audit -- listing all of your objects
@classes -- listing all of the public classes available for your use
@realm -- listing the parenting tree for objects owned by one or more users
@move -- moving your objects from place to place

DECRYPT
=======

Syntax:  decrypt <note>

Removes any restriction on who may read the named note or letter.  Only the
owner of a note may do this.

DELETE
======

Syntax:  delete <line-number> from <note>

Removes a single line of text from a note.  The first line of text is numbered
1, the second is 2, and so on.	Only the owner of a note may do this.

DESCRIPTIONS/DESCRIC,O~ES
=========================

Most objects have one or more descriptive pieces of text associated with them;
these texts are printed under various circumstances depending on the kind of
text.  For example, every object has a 'description' and a 'descricao' text
that is printed whenever a user looks at the object ( the first if he/she is
on english mode or the other if in portuguese mode - see `help @language' ).
The following help topics discuss the commands for manipulating these
descriptive texts on your objects:

@rename -- setting the name and aliases of your objects
@describe -- setting what others see when they look at your objects in
	    english mode
@descreve -- as @describe but sets the portuguese description
messages -- listing and setting the other descriptive texts on an object

DROP/THROW
==========

Syntax:  drop <object>
	throw <object>

Remove an object you are carrying from your inventory and put it in your
current room.  Occasionally you may find that the owner of the room won't
allow you to do this.

@EDIT
=====

Syntax:  @edit <object>.<property>
	@edit <object>:<verb-name> [<dobj> [<prep> [<iobj>]]]
	@edit <object>

Enters a MOO editor, as appropriate.

Chooses the MOO Note editor for the named property, or the MOO verb editor for
the named verb.  If no property or verb name is given, assumes property .text
for a note object, or .description for any other object.

See 'help editors' for more detail.

@EDIT-OPTIONS/@EDITOPTIONS
==========================

Syntax:  @edit-option
	@edit-option <option>

Synonym:  @editoption

The edit options customize the behavior of the various editors (mail editor,
verb editor, etc...) to your particular taste.	The first form of this command
displays all of your edit options.  The second form displays just that one
option, one of the flags listed below.

The remaining forms of this command are for setting your edit options:

	@edit-option +<flag>
	@edit-option -<flag>
	@edit-option !<flag>	       (equivalent to -<flag>)

These respectively set and reset the specified flag

-quiet_insert	 insert (") and append (:) echo back the line numbers
+quiet_insert	 insert (") and append (:) produce no output
-eval_subs	 (VERB EDITOR) ignore .eval_subs when compiling verbs
+eval_subs	 (VERB EDITOR) apply .eval_subs to verbs being compiled
-local		 Use in-MOO text editors.
+local		 Ship text to client for local editing.

EDITORS/EDITORES
================

One can always enter an editor by teleporting to it, or you can use one of the
commands provided

   @edit     <object>:<verb>	invokes the Verb Editor (edits verb code)
   @notedit  <note_object>	invokes the Note Editor (edits note text)
   @notedit  <object>.<prop>	invokes the Note Editor (edits text property)
   @send     <list of recipients>	 invokes the Mailer (edits a mail msg)
   @answer   [<msg_number>] [<flags>...] invokes the Mailer (edits a reply)

This will transport you to one of several special rooms that have editing
commands available.  These editors are admittedly not as good as EMACS, but
for those with no other editing capability on their host systems, they are
better than nothing.

There is a generic editor that provides basic editing commands that are
applicable to all editors.  Documentation for these commands can be obtained
by typing `help <topic>' within the editor:

   abort	      emote/:		 pause		    send      (M)
   also-to (M)	      fill		 prev		    showlists (M)
   compile (V)	      insert		 print	   (M)	    subject   (M)
   copy 	      join		 quit		    subst
   delete	      list		 ranges 	    to	  (M)
   done 	      move		 save	   (N)	    what
   edit    (V,N)      next		 say/"		    who   (M)

In addition, individual editors provide their own additional commands for
loading text from places, saving text to places, and various other specialized
functions which are denoted in the above list with (M),(N),(V) according as
they apply to the mail editor, the note editor, or the verb editor,
respectively.

Note that a given editor only allows you one session at a time (ie. one verb,
one note, or one mail message).  If you leave an editor without either
aborting or compiling/saving/sending the item you're working on, that editor
remembers what you are doing next time you enter it, whether you enter it by
teleporting or by using the appropriate command.  Note that editors are
periodically flushed so anything left there for sufficiently long will
eventually go away.

A user may have his own .edit_options property which is a list containing one
or more (string) flags from the following list

 quiet_insert
     suppresses those annoying "Line n added." or "Appended..." messages
     that one gets in response to 'say' or 'emote'.  This is useful if you're
     entering a long list of lines, perhaps via some macro on your client,
     and you don't want to see an equally long list of "Line n added..."
     messages.	What you do want, however is some indication that this all
     got through, which is why the "." command is an abbreviation for insert.

 eval_subs
     Enables the verb editor to process your eval_subs property when
     compiling your verb.  See `help eval' for more information about
     the eval_subs property.

There will be more options, some day.

@EJECT/@EJECT!
==============

Syntax: @eject[!] <object> [from <place>]

This command is used to remove unwanted objects from places you own.  Players
thus removed are unceremoniously dumped in their homes (unless that's this
room, in which case they are dumped in the default user starting place).
Other kinds of objects are checked for a .home property and sent there if
possible, otherwise they get thrown into #-1.  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.

`@eject <object>' removes <object> from the current room, whereas `@eject
<object> from <place>' removes the object from the specified location (in most
cases, <place> will need to be specified as an object number).	In either
case, this command only works if you own the room/entity from which the object
is being ejected.

`@eject ... from me' suffices to get rid of some unwanted object in your
inventory.

The verbs @eject! and @eject!! are provided for those rare situations in which
@eject does not work.  @eject! does not check for .home properties, sending
the offending object to #-1 immediately, but with a notification.  @eject!! is
just like @eject! but provides no notification to the object.

See 'help room-messages' for a list of messages one can set regarding the
@eject command.

EMOTE/:/::
==========

Syntax:  emote <anything> ...
	:<anything> ...
	::<anything> ...

Announces <anything> to everyone in the same room, prepending your name.  This
is commonly used to express various non-verbal forms of communication.	In
fact, it is so commonly used that there's a special abbreviation for it: any
command-line beginning with ':' is treated as an 'emote' command.

The alternate form, '::' (less commonly 'emote :'), does not insert the space
between the player name and the text.

Examples:
Munchkin types this:
 :wishes he were much taller...
Everyone in the same room sees this:
 Munchkin wishes he were much taller...

Munchkin types this:
 ::'s eyes are green.
Everyone in the same room sees this:
 Munchkin's eyes are green.

ENCRYPT
=======

Syntax:  encrypt <note> with <key-expression>

Restricts the set of users who can read the named note or letter to those for
whom the given key expression is true.	See 'help keys' for information on the
syntax and semantics of key expressions.  Only the owner of a note may do
this.

ERASE
=====

Syntax:  erase <note>

Deletes all of the text written on a note or letter.  Only the owner of a note
may do this.

EXAMINE/EXAMINA
===============

Syntax:  examine <object>
	exam <object>

This shows a better observation of the <object> than the casual `look'. You
will get an in depth description, with its contents and `obvious' verbs
defined on it.

FEATURES/FACETAS
================

Features are objects that provide you with commands not covered by the
ordinary user objects.	The advantage of using features is that you can mix
and match the things you like; whereas if you like a command that's defined on
a user class, you have to also get all the commands it defines, and all the
commands its ancestors define.

You can list your features with the @features command, and add or remove
features from your list with the @add-feature and @remove-feature commands.

@FEATURES/@FACETAS
==================

Usage:	@features [<name>] [for <user>]

List all of <user>'s features matching <name>, or all of <user>'s features if
<name> is not supplied.  <user> defaults to you.  See `help features' for more
information.

@FORWARD
========

Syntax:  @forward <msg> [on *<collection>] to <recipient> [<recipient>...]

Takes the indicated message in your (or some other) message collection,
creates a new message whose body is the original message (both headers and
body) and sends it on to the given recipients.

@GAG
====

Syntax:  @gag <user or object> [<user or object>...]

Add the given users to your 'gag list'.  You will no longer see any messages
that result from actions initiated by these users.  In particular, you will
not hear them if they try to speak, emote, or whisper to you.  See 'help
gagging' for an explanation of gagging in general.

Example:
Munchkin types:
 @gag Grover
and no longer hears anything that Grover says.	What a relief!

If you specify an object, then any text originating from that object will not
be printed.  Example:  Noisy Robot prints "Hi there" every 15 seconds.	 In
order to avoid seeing that, Munchkin types:
 @gag Noisy
and no longer hears that robot!  (Munchkin must be in the same room as Noisy
Robot for this to work, or know its object number.)

GAGGING
=======

Occasionally, you may run into a situation in which you'd rather not hear from
certain other players.	It might be that they're being annoying, or just that
whatever they're doing makes a lot of noise.  Gagging a player will stop you
from hearing the results of any task initiated by that player.	You can also
gag a specific object, if you want to hear what the owner of that object says,
but not the output from their noisy robot.  The commands to use gagging are
listed below; detailed help is available on each of them:

@gag -- add one or more players to your gag list
@ungag -- remove a player from your gag list
@listgag -- list the players you currently have gagged

@GENDER
=======

Syntax: @gender [<object>]
       @gender [<object>] is <gender>

If no <gender> is given, tells you the current gender (sex) of a given
<object>.  If a <gender> is given, sets the gender of <object> to that
<gender>.  The gender of an object determines which pronouns are chosen to
refer to that object in various messages.

By default, <object> is the player using the command.

The <gender> may be the name of a standard gender (e.g., 'male', 'female',
'neuter',...) or the object number of a gender defined by a player.

It should be noted that some of the "genders" on the standard gender list need
verb conjugation in order to work properly and much of the MOO isn't set up
for this (...yet).  For example, you should expect to see `they is' a fair
amount if you @gender yourself `plural'.

GIVE/HAND
=========

Syntax:  give <object> to <user>
	hand <object> to <user>

Move an object from your contents to that of another user.  This doesn't
change the ownership of the object.  Some users may refuse to accept gifts and
some objects may refuse to be given.

GO/VAI
======

Syntax: go <direction> ...

Invokes the named exits in the named order, moving through many rooms in a
single command.

Example:
Munchkin types:
 go e s s s sw e
and moves quite rapidly from the Central Hall all the way to the Ye Olde Guild
of Magic, all in one command.

GOPHER
======

Gopher is an internet service for information retrieval. There are many gopher
servers across the internet, providing a wide variety of information of all
sorts: network news, weather, and White House press releases, campus class
information, and scientific papers.

The programmer interface to Gopher is contained in the object $gopher (`help
$gopher').

@GRIPE
======

Syntax:  @gripe <anything> ...

Puts you into the MOO mail system to register a complaint (or, conceivably, a
compliment) with the wizards.  The rest of the command line (the <anything>
... part) is used as the subject line for the message.	More information on
using the MOO mail system is given once you're in it.

You may hear back from the wizards eventually; see 'help @mail' for how to
read their reply.

Example:
Munchkin types:
 @gripe The little bird
 "How come I can't ever see the little bird in the cuckoo clock?
 "	  -- A frustrated user
 send
and, somewhat later, the wizards reply with a note about being sure to look
while the clock is chiming.

HELP/?/AJUDA/INFORMATION
========================

Syntax:  help
	help <topic>
	help index

Print out entries from the online documentation system.  The commands `?' and
`information' (usually abbreviated `info') are synonyms for `help'.

The first form prints out a summary table of contents for the entire help
system.

The second form prints out the documentation available on the given topic.
Many help system entries contain references to other entries accessible in
this way.  The topic name may be abbreviated; if there is no topic exactly
matching the name you give, the help system checks for topics for which the
name is a prefix, perhaps with the addition or omission of an initial `@', or
perhaps with some confusion beween dashes (-) and underscores (_), e.g.,
     `bui' instead of `building',
     `who' instead of `@who',
    `@wri' instead of `write',
 `add_ent' instead of `@add-entrance',
 `unlock-'  instead of `@unlock_for_open'

If the abbreviation you give is ambiguous, you will be presented with a list
of the matching complete topic names.

The `help index' commands prints out a list of indices for the various help
databases.  Each index gives a list of topics available on that database.  It
is sometimes easier to find the topics you're interested in this way, rather
than tracing through the chain of cross references.

HOME
====


Syntax: home

Instantly teleports you to your designated home room.
Initially, this room is Grandfather Clock (#11).
You can change your designated home; see 'help @sethome' for details.

INTRODUCTION/INTRODUC,A~O
=========================

MOOsaico is a kind of virtual reality, in which users move about from place to
place manipulating their environment in what we hope are amusing,
entertaining, or enlightening ways.

MOOsaico is more of a pastime than a game in the usual sense; there is no
`score' kept, there are no specific goals to attain in general, and there's no
competition involved.  MOOsaico participants explore the virtual world, talk
to the other participants, try out the weird gadgets that others have built,
and create new places and things for others to encounter and enjoy.

Most commands have the form of simple English sentences:
   <verb>
   <verb>  <direct object>
   <verb>  <direct object>  <preposition>  <indirect object>
Don't use English articles (e.g. 'a', 'an', or 'the') in your commands; the
MOO won't understand them.  You can refer to yourself as 'me' and the room
you're in as 'here'.

The first five kinds of commands you'll want to know are listed below.	Type
'help <topic-name>' for details on any of them:

look -- getting a description of the current room or any other object
say -- speaking to the other users in the same room as you
@who -- showing which users are currently connected to the MOO
movement -- how to move around in the MOO, from room to room
@quit -- disconnecting from the MOO

INVENTORY/INVENTA'RIO
=====================

Syntax:  inventory
	i

Prints a list showing every object you're carrying.

@LASTLOG
========

Syntax:  @lastlog
	@lastlog <user>

The first form prints out a list of all users, roughly sorted by how long it's
been since that user last connected to the MOO.  For each user, the precise
time of their last connection is printed.

The second form only shows the last-connection time for the named user.

LETTERS
=======

A letter is a special kind of note (see 'help notes') with the added feature
that it can be recycled by anyone who can read it.  This is often useful for
notes from one user to another.  You create the letter as a child of the
generic letter, $letter (see 'help @create' and 'help write'), encrypt it so
that only you and the other user can read it (see 'help encrypt') and then
either give it to the user in question or leave it where they will find it.
Once they've read it, they can use the 'burn' command to recycle the letter;
see 'help burn' for details.

@LINELENGTH/@WRAP
=================

Syntax:  @wrap <on|off>
	@wrap

	@linelength <number>
	@linelength

If the lines you see get cut off at the edge of your screen (you don't have
word-wrap), you can get MOOsaico to split lines for you.  The @linelength
command tells the MOO how many columns you have on your screen--you probably
want @linelength 79--and "@wrap on" tells the MOO you want it to do word-
wrap. Use always @wrap off if you use a MOO client.

It's better if you can fix this problem without MOOsaico's help, though,
because the MOO's solution will be slower than a local solution.

If you don't want the MOO to split lines for you, there might still be some
use for the @linelength command.  Certain commands, like @who and @check,
print truncated lines so they can print in neat columns.  The default for
these is generally about 79 columns, which looks fine if you have an
eighty-column screen.  If your screen is a different width, though, you
can set @linelength and some of these commands will react accordingly.

@LISTGAG/@GAGLIST
=================

Syntax:  @listgag [all]
	@gaglist [all]

Shows you a list of the users and objects currently on your 'gag list'.  You
don't see any messages that result from actions initiated by the users or
objects on this list.  In particular, you will not hear them if they try to
speak, emote, or whisper to you.  See 'help gagging' for an explanation of
gagging in general.  With the optional "all" parameter it will also scan the
database for users who are gagging you.  This may induce lag, so caution is
advised with this option.

LOOK/OLHA
=========

Syntax: look
       look <object>
       look <object> in <container>

Show a description of something.

The first form, with no arguments, shows you the name and and a brief
description of the room you're in, along with a list of the other objects that
are there.

The second form lets you look at a specific object.  Most objects have
descriptions that may be read this way.  You can look at your own description
using 'look me'.  You can set the description for an object or room, including
yourself, with the 'describe' command (see 'help describe').

The third form shows you the description of an object that is inside some
other object, including objects being carried by another user.

Please take note that `look' is a casual way of seeing around. Use `examine'
for a more apropriate observation of the environment (see `help examine').

MAIL/CORREIO
============

The MOO email system allows you to send and receive messages to and from other
users.	It provides commands to view and manage your own collection of saved
messages and, in addition, to browse through other collections that may be
available (e.g.,archives of public mailing lists).  Help is available on the
following commands:

@mail	  -- seeing a table of contents for a collection of email messages
@read	  -- reading individual messages
@next	  -- reading the 'next'     message
@prev	  -- reading the 'previous' message

@send	  -- composing and sending a message to other users
@answer   -- replying to one of the messages in a collection
@forward  -- resending one of the messages in a collection somewhere else
@netforward -- followup moo messages to your registered email address
@registerme -- check/change your registered email address

@rmmail   -- discarding some subset of a collection
@unrmmail -- undoing the most recent @rmm on a collection
@renumber -- renumbering the messages in a collection

@mail-option -- describes and sets various customization flags

help mail-forwarding
 -- describes mail forwarding
help message-sequences
 -- describes message-sequences arguments to @mail, @read, @rmm, and @answer.

For viewing collections other from your own, the following commands are
useful:

@rn	     -- list those collections that have new messages on them
@subscribe   -- indicate that you want @rn to report on a given collection
		 and add yourself to its .mail_notify list
@skip	     -- ignore any remaining new messages in a given collection
@unsubscribe -- ignore a given collection entirely from now on
		 and remove yourself from its .mail_notify list
@unsubscribed-- show the mailing lists that you aren't subscribed to.
@subscribed  -- like @rn, but shows all lists that you are subscribed to
	       even if they have no new activity

@MAIL
=====

Syntax:  @mail
	@mail new	     (to see recent messages)
	@mail 1-$	     (to see *all* messages)

Shows a table of contents for your MOO email message collection.  You are
notified when you connect to the MOO if there are any such messages.  A little
arrow indicates the mail system's notion of your 'current message'.
The first form lists all of your messages or the last 15 if you have more than
that many; the second form lists only those messages after your `current
message'.  The third form shows your entire collection.

If you have a large number of mail messages, you can give arguments so that
@mail only lists the messages you're interested in.  You can also list
messages residing on mail recipients which are public or for which you have
read access.
The general format is

	@mail <message-sequence> [on *<recipient>]

<recipient> must name some child of $mail_recipient (e.g., a mailing list);
<message-sequence> can be a sequence of message numbers; you can also scan the
recipient for articles that fit a given description, as specified in `help
message-sequences'.

Note that if you view mail on some other recipient and have "sticky" in your
.mail_options (see `help mail-options'), all further mail commands (e.g.,
@read, @next, @rmm,...) will apply to that recipient.  In this case use `@mail
on me' to go back to looking at your own mail.
- Show quoted text -

MAIL-FORWARDING
===============

There are 3 personal properties that you can use to customize how your mail is
composed and forwarded

mail_forward
 -- list of objects that will receive any mail that gets sent to you.
   Objects on this list should either be players or descendants of
   $mail_recipient.
   If this list is nonempty, you will not receive any mail yourself unless
   you are on it.  E.g., if Rog is #4292 and ur-Rog is #6349

 #6349.mail_forward={}		  -- usual case; ur-Rog gets his own mail.
 #6349.mail_forward={#4292}	  -- Rog gets ur-Rog's mail instead.
 #6349.mail_forward={#6349,#4292} -- ur-Rog gets mail and Rog gets a copy.
 #6349.mail_forward={#-1}	  -- ur-Rog's mail disappears without a trace.

mail_notify
 -- list of objects to be notified whenever mail is sent to you.
   This list may include anything that has a :notify_mail() verb.
   Notification will take place regardless of whether or how your mail
   is forwarded.

Thus, in the previous example

 #4292.mail_notify={#6349} --- means that ur-Rog will be told
			       whenever Rog is sent new mail.

mail_options
 -- this controls lots of miscellaneous things.  Use the @mail-option command
   to view and set these options (see `help @mail-option')

See `help mail-resolve' for more detail on how mail forwarding and mail
notification work.  See `help MR-subscribing' for information on how to change
.mail_forward and .mail_notify on $mail_recipient children, where they are !c
properties.

@MAIL-OPTIONS/@MAILOPTIONS
==========================

Syntax:  @mail-option
	@mail-option <option>

Synonym:  @mailoption

The first form displays all of your mail options
The second displays just that one option, which may be either `@mail',
`replyto', or one of the flags listed below.  The mail options control various
annoying details of your mail reading and mail editing commands.

The remaining forms of this command are for setting your mail options:

	@mail-option +<flag>
	@mail-option -<flag>
	@mail-option !<flag>	       (equivalent to -<flag>)

These respectively set and reset the specified flag

 -include      @reply's start out with a blank message body
 +include      @reply's start with original message included
 -all	       @reply's go to sender only
 +all	       @reply's go to sender and all original recipients
 -nosubject    @send forces you to provide a Subject: line
 +nosubject    allow entering the mail editor without giving a subject line
 -enter        start each mail editing session in the usual command mode.
 +enter        start each mail editing session with an implicit `enter'
command
 -expert       novice mail user (various annoying messages will be printed)
 +expert       expert mail user (suppress printing of annoying messages)
 -sticky       each mail command applies by default to one's own collection
 +sticky       each mail command applies by default to the same message
		collection that the previous successful command did
 -netmail      mail to you accumulates in your MOO mailbox
 +netmail      mail to you is actually forwarded to your registered email
	       address, if you have one.

For "sticky", `mail command' is one of @mail, @read, @prev, @next, @answer.
All flags default to the `-' settings.

Next, we have

	@mail-option  manymsgs [is] <number>
	@mail-option  manymsgs=<number>
	@mail-option -manymsgs

The first two forms specify that if you give a @mail or @read command asking
for <number> or more messages, you will first be given a yes-or-no prompt to
continue, the idea being that you many not actually have wanted to see that
many messages.	The third form turns off this behavior.

	@mail-option  @mail [is] <message-sequence>

The "@mail" option determines what message-sequence the @mail command uses by
default.  Initially, this is "last:15", but other reasonable choices include
"new" and "1-last"

	@mail-option  replyto [is] <recipient> [<recipient>...]
	@mail-option -replyto

The first form specifies that a Reply-To: field is to be placed in all
messages constructed by @send or @answer.  Note this can still be changed
before sending via the mail room's reply-to command.
The second form resets this option so that no Reply-to: is initially inserted.

MANIPULATION/MANIPULAC,A~O
==========================

Objects usually have verbs defined on them that allow users to manipulate and
use them in various ways. Standard ones are:

   get	-- pick an object up and place it in your inventory
  drop	-- remove an object from your inventory and place it in the room
   put	-- take an object from your inventory and place it in a container
  give	-- hand an object to some other user
  look	-- see what an object looks like
examine  -- take a closer look on an object

You can see what objects you're carrying with the 'inventory' command; see
'help inventory' for details.

Some specialized objects will have other commands. The programmer of the
object will usually provide some way for you to find out what the commands
are.  One way that works for most objects is the 'examine' command; see 'help
examine' for details.

The following specialized objects have help entries you should consult:

notes -- objects that allow text to be written on them and read later
letters -- notes that a recipient can burn after reading
containers -- objects that may contain other objects
- Show quoted text -

ME
==

The MOO helps those who help themselves.  Try starting with `help summary'.

MESSAGE-SEQUENCES
=================

Certain mail commands, including @mail, @read, and @rmmail, allow a
<message-sequence> argument that indicates to which messages in one's
collection the command is to apply.  Any combination of the following may
appear as a <message-sequence> argument to any of the various mail commands
(@mail, @read, @answer, @rmm).

 17	   message number 17 if there is one (and likewise for other integers)
 17..23    all messages numbered between 17 and 23 (inclusive), if any.
 cur	   the current message
 prev	   the message before
 next	   the message after
 last	   the final message if any (`$' is a synonym for `last')

You may use as many of these at once as sanity permits, e.g.,

 @mail cur 1..5 last

which will display the header for your current message, your messages in the
range 1..5, and your last message.  Though some of these ranges may overlap,
the header for any given message is only shown once in any event.

In addition, there are other message-sequence arguments that act as filters
on whatever precedes them

 before:<date>		     messages strictly before the given date
 after:<date>		     messages strictly after the given date
 since:<date>		     messages on or after the given date
 until:<date>		     messages on or before the given date
 from:<player>[|<player...]  messages from the given player(s)
 to:<recip>[|<recip>...]     messages to the given recipient(s)
 subject:<string>	     messages with <string> in the subject
 body:<string>		     messages with <string> in the body (SLOW!!!)
 first:<number> 	     the first <number> messages
 last:<number>		     the last <number> messages

<date>	is either a weekday, an dd-Month, dd-Month-yy or dd-Month-yyyy date
<recip> is either <player> or *<$mail_recipient kid>

Examples:

 @read from:G7|Gemba		  read all messages from G7 or Gemba
 @rmm to:yduJ|*Core		  remove messages that are to yduJ or to *Core
 @mail since:1-Jan before:1-Feb   show messages dated in January
 @mail since:Tues		  show messages dated on or after Tuesday
 @rmm subject:manners		  remove msgs with `manners' in the subject:
 @mail subject:"stupid idiots"	  (search string contains a space => need "'s)
 @rmm to:yduJ to:*Core		  remove messages that are to yduJ and *Core
 @mail from:Haakon last:5	  show the last 5 messages from Haakon
 @mail last:10 body:fribble	  show those of the last 10 messages having
				  `fribble' in the body (one should always try
				  to narrow body searches in this way).

MISCELLANEOUS/MISCELA^NEA
=========================

Here are a few commands of occasional utility that didn't fit into any of the
neat categories for the rest of the help system:

@version -- printing the MOO server version number
@lastlog -- finding out when some user last connected to the MOO

@MORE
=====

Syntax:  @more
	@more rest
	@more flush

If you have @pagelength set (see `help @pagelength') and some combination of
events or commands produces sufficiently many lines of output, you will see a
message of the form

*** More ***  37 lines left.  Do @more [rest|flush] for more.

indicating (in this case) 37 more lines of text waiting to be read.
At this point, you should give one of the @more commands above.

@more without arguments prints sufficiently many lines to fill your screen,
assuming you've set @pagelength correctly, unless there are not that many
lines left to print.

@more rest will print all of the remaining lines, regardless of your
@pagelength setting.

@more flush discards all remaining lines

MOVEMENT/MOVIMENTO
==================

The descriptions of most rooms outline the directions in which exits exist.
Typical directions include the eight compass points ('north', 'south', 'east',
'west', 'northeast', 'southeast', 'northwest', and 'southwest'), 'up', 'down',
and 'out'.

To go in a particular direction, simply type the name of that direction (e.g,
'north', 'up').  The name of the direction can usually be abbreviated to one
or two characters (e.g., 'n', 'sw').  You can also type 'go <direction>' to
move; this is particularly useful if you know you're going to type several
movement commands in a row (see 'help go').

In addition to such vanilla movement, some areas may contain objects allowing
teleportation and almost all areas permit the use of the 'home' command to
teleport you to your designated home (see 'help home' for more details).

As a last resort you can always type '@ways' to get the obvious exits.

@NETFORWARD
===========

Syntax:  @netforward <message-number>
	@netforward
	@netforward <message-sequence> on *collection

Forwards the contents of the indiciated messages from your MOO email
collection to your registered email address.  You get the message numbers for
use here by typing the '@mail' command, which prints a table of contents for
your entire MOO email collection.  If no arguments are given to @netforward,
then the 'current message' in your collection is sent.	In any case, the
'current message' after @netforward finishes is not affected.

The most general form of the @netforward command is

	@netforward <message-sequence> [on *<collection>]

where <message-sequence> is as described in `help message-sequences'.
As with the @mail command you may @netforward messages on any publically
readable collection (child of $mail_recipient).

If you do not have a valid registered email address, you will not be able to
use this command and must first @registerme or get a wizard to register your
address. `help @registerme' for details.

NEWS/NOTICIAS
=============

Syntax:  news [ next | all | new ]

Read the latest edition of the Jornal do MOO, which carries articles
concerning recent changes to the MOO server or to the main public classes, or
whatever the wizards feel like writing about.

 news next  -  shows next story
 news all   -  shows all stories
 news new   -  shows new stories

To do something more complicated, use *News as a mailing list.

@NEXT
=====

Syntax:  @next [on <collection>]

Print the `next' message in a given email collection (defaults to your own).
The mail system's notion of your 'current message' for that collection is
incremented.  Thus, e.g., one can read all of one's new messages one-by-one
simply by typing '@next' repeatedly.

@NOTEDIT
========

Syntax:  @notedit <note-object>
	@notedit <object>.<property>

Enters the MOO Note Editor to edit the text on the named object
For the first form, <note-object> must be a descendant of $note.
For the second form, <object>.<property> can be any string-valued or
text-valued (i.e., list of strings) property on any object.

See 'help editors' for more detail.

NOTES
=====

Notes are objects that can have text written on them to be read later.	They
are useful for leaving messages to people, or for documenting your creations.

The following help topics cover verbs that can be used with notes:

read -- reading the text on the note
write -- adding text to a note
erase -- removing all the text from a note
delete -- deleting one line of text from a note

@notedit -- general editing on the text of a note

encrypt -- restricting who can read a note
decrypt -- undoing a previous encryption

You can make a note by creating a child of the standard note, $note (see 'help
@create').  Note that, like most objects, only the owner of a note can recycle
it.  If you'd like to make it possible for a reader of your note to destroy it
(this is a common desire for notes to other individual users), then you might
want to look at 'help letters'.

@OPACITY/@OPACIDADE
===================

Syntax:  @opacity <container> is <integer>

The opacity can take on one of three values:
  0:  The container is transparent and you can always see into it.
  1:  The container is opaque, and you cannot see into it when closed
  2:  The container is a black hole, and you can never see into it whether
closed or open.

The default @opacity is 1.

PAGE/SMS
========

Syntax:  sms  <user> [[with] <text>]
	page <user> [[with] <text>]

Sends a message to a connected user, telling them your location and,
optionally, <text>.

Example:
Munchkin types:
       page Frebble with "Where are you?"
Frebble sees:
       You sense that Munchkin is looking for you in the Kitchen.
       He pages, "Where are you?"
Munchkin sees:
       Your message has been received.

Advanced Features: `help page-conf'

PAGE-CONF
=========


Advanced Features:
Page refers to the following messages on the users involved (see 'help
messages'):

@page_origin [You sense that %n is looking for you in %l.]
 Determines how the recipient is told of your location.

@page_echo   [Your message has been sent to %n.]
 Determines the response received by anyone who pages you.

@page_absent [%N is not currently logged in.]
 Determines the response received by anyone who tries to page you when you
aren't connected.

All of these undergo the usual pronoun substitutions (see 'help pronouns')
except that in both cases the direct object (%d) refers to the recipent of the
page and the indirect object (%i) refers to the sender.  You should only
change these messages if you want to add to the Virtual Reality feel of the
MOO for your character.

Do `help @refuse' to see how to refuse someone's attempts to page you.

@PAGELENGTH
===========

Syntax:  @pagelength <number>
	@pagelength

If the lines you see scroll off the top of your screen too quickly for you to
read and your client program is such that any lines scrolling off the top are
gone forever, you can use the @pagelength command to invoke page buffering to
limit the number of lines sent at a time.  E.g., if your terminal has a 24
line
screen, you can do @pagelength 24 and output will stop every 24 lines if you
don't type any other commands.

You will need to use the @more command to continue reading output once it
has been stopped.  Make sure you read `help @more' before setting @pagelength.

@pagelength 0 means no page buffering will be done by the MOO.

By default the MOO will assume you have an infinitely wide terminal screen, so
you may wish to set @linelength as well, and ensure wrapping is on with @wrap
on.  (See help @linelength and help @wrap.)  As with word wrapping, you are
best off running a client that can do its own page buffering; the MOO server's
page buffering is inherently slower and many MUD's do not have page buffering
at all.

@PARANOID
=========

Syntax:  @paranoid
	@paranoid off
	@paranoid immediate
	@paranoid <number>

In immediate mode, the monitor prepends everything you hear with the name of
the character it considers responsible for the message. Otherwise, it keeps
records of the last <number> (defaults to 20) lines you have heard. These
records can be accessed by the @check command (`help @check').

@PASSWORD
=========

Syntax:  @password <old-password> <new-password>

Changes your user's password (as typed in the 'connect' command when you log
in to the MOO) to <new-password>.  For security reasons, you are required to
type your current (soon to be old) password as the first argument.

Your password is stored in an encrypted form in the MOO database; in
principle, not even the wizards can tell what it is, though they can change
it, of course.	It is recommended that your password not be your name or a
common word; MOO passwords have been stolen or cracked in the past and
characters have been made unhappy by such theft.  Your password is your
security; choose a safe one.

Only the first 8 characters of a password are significant.

PLAYER-NAMES/USER-NAMES
=======================

A user name must be a single word, must not contain any spaces, backslashes,
or quotes, nor can it begin with the characters #, *, (, or ).	Finally it
cannot be one that is in use by any other user nor any of the words on the
following list:

 with		 onto		 under		 is		 feiticeiro
 using		 upon		 underneath	 as		 operator
 at		 out		 beneath	 off		 root
 to		 from		 behind 	 of		 administrator
 in		 inside 	 beside 	 me		 administrador
 into		 over		 for		 you		 info
 on		 through	 about		 admin

Note that these rules apply as well to your single-word aliases, since those
can equally well be used to refer to you in commands that match on user names
(@who, whereis, ...).  There are no restrictions on your multi-word aliases,
however the commands that expect user names will not recognize them.

PLAYERS
=======

There are a number of commands for modifying various characteristics of the
object representing you in the MOO, your 'character'.  Help on them is
available in the following topics:

@describe -- setting what others see when they look at you in english mode
@descreve -- setting what others see when they look at you in portuguese mode
@gender -- changing your character's gender
@password -- changing your character's password
@sethome -- changing your designated home room
@rename -- changing your name and/or aliases
@linelength -- adding word-wrap to the lines you see
@language -- changing your interface mode language

@PREV
=====

Syntax:  @prev [on <collection>]

Print the 'previous' message in a given email collection (defaults to your
own).  The mail system's notion of your 'current message' for that collection
is decremented.  Thus, e.g., one can review all of one's previous messages
one-by-one simply by typing '@prev' repeatedly.

PRIVACY
=======

Some things you should be aware of:

 -*-*- OMNISCIENT WIZARDS AND SYSADMINS: -*-*-
Wizards can look at absolutely *anything* in the MOO database.
The arch-wizard and the sysadmin for the MOO-server host have complete access
not only to the MOO database itself but to many other possibly-relevant
things.
The above mentioned parties (wizards et al), while they will endeavor to be
discreet about anything incidental that turns up, nevertheless reserve the
right look at anything they want, if only for the sake of being able to
resolve technical problems.

 -*-*- LOGGING: -*-*-
Some client programs (the "client" is the program you use to connect to the
MOO, e.g., telnet, tinytalk, tinyfugue, emacs with mud.el...) are capable of
logging everything that happens to the corresponding user.  In fact, with some
clients this happens by default.  If a given user's client has logging enabled
and said user is either in the room with you or is monitoring an object that
is in the room with you, then *everything* you say and emote gets recorded.
Also, if you are in a room owned by someone else, all bets are off.  There is
*no way* that the MOO server can know about what client a given user is using;
thus, anyone who can hear you is a potential logger.

In and of itself this would not be a problem --- indeed, logs are often useful
for reference purposes.  However, there is no guarantee that the log will not
end up someplace where you'd rather it didn't, e.g., posted on the
rec.games.mud Usenet newsgroup.  While it considered bad form (i.e., rude) to
circulate or post a log without having the permission of at least the major
participants in the activities logged, there is not a whole lot we can do on
the technical side to prevent it from happening.

Be aware of the problem.  The @sweep command (see `help @sweep') attempts to
determine what users can be listening at any given moment.  If anything, it
errs on the side of paranoia.  Even so, it doesn't cover *all* possible
avenues of eavesdropping, and there's no hope for it covering the situations
like the one where someone manages to convince one of the participants in your
discussion who kept a log that it really doesn't need to be kept private after
all.

If you've got something really sensitive to discuss, you are best off doing it
by encrypted email or in person.
- Show quoted text -

PROGRAMMING
===========

MOO contains a rich programming language for the creation of interesting
rooms, exits, and other objects.

Not every player is allowed to program in MOO, including (at the moment,
anyway) you.  If you would like to be, find a wizard and convince them that
you've got good ideas that the MOO needs.  Good luck!

PRONOUNS
========

Some kinds of messages are not printed directly to users; they are allowed to
contain special characters marking places to include the appropriate pronoun
for some user.	For example, a builder might have a doorway that's very short,
so that people have to crawl to get through it.  When they do so, the builder
wants a little message like this to be printed:

       Balthazar crawls through the little doorway, bruising his knee.

The problem is the use of 'his' in the message; what if the user in question
is female?  The correct setting of the 'oleave' message on that doorway is as
follows:

       "crawls through the little doorway, bruising %p knee."

The '%p' in the message will be replaced by either 'his', 'her', or 'its',
depending upon the gender of the user.

As it happens, you can also refer to elements of the command line (e.g.,
direct and indirect objects) the object issuing the message, and the location
where this is all happening.  In addition one can refer to arbitrary string
properties on these objects, or get the object numbers themselves.

The complete set of substitutions is as follows:

       %% => `%'  (just in case you actually want to talk about percentages).
   Names:
       %n => the user
       %t => this object (i.e., the object issuing the message,... usually)
       %d => the direct object from the command line
       %i => the indirect object from the command line
       %l => the location of the user
   Pronouns:
       %s => subject pronoun:	       either `he',  `she', or `it'
       %o => object pronoun:	       either `him', `her', or `it'
       %p => posessive pronoun (adj):  either `his', `her', or `its'
       %q => posessive pronoun (noun): either `his', `hers', or `its'
       %r => reflexive pronoun:  either `himself', `herself', or `itself'
   General properties:
       %(foo) => user.foo
       %[tfoo], %[dfoo], %[ifoo], %[lfoo]
	      => this.foo, dobj.foo, iobj.foo, and user.location.foo
   Object numbers:
       %#  => user's object number
       %[#t], %[#d], %[#i], %[#l]
	   => object numbers for this, direct obj, indirect obj, and location.

In addition there is a set of capitalized substitutions for use at the
beginning of sentences.  These are, respectively,

  %N, %T, %D, %I, %L for object names,
  %S, %O, %P, %Q, %R for pronouns, and
  %(Foo), %[dFoo] (== %[Dfoo] == %[DFoo]),... for general properties

Note: there is a special exception for user .name's which are assumed to
already be capitalized as desired.

There may be situations where the standard algorithm, i.e., upcasing the first
letter, yields something incorrect, in which case a "capitalization" for a
particular string property can be specified explicitly.  If your object has a
".foo" property that is like this, you need merely add a ".fooc" (in general
.(propertyname+"c")) specifying the correct capitalization.  This will also
work for user .name's if you want to specify a capitalization that is
different from your usual .name

Example:
Rog makes a hand-grenade with a customizable explode message.
Suppose someone sets grenade.explode_msg to:

 "%N(%#) drops %t on %p foot.  %T explodes.
  %L is engulfed in flames."

If the current location happens to be #3443 ("yduJ's Hairdressing Salon"),
the resulting substitution may produce, eg.,

 "Rog(#4292) drops grenade on his foot.  Grenade explodes.
  YduJ's Hairdressing Salon is engulfed in flames."

which contains an incorrect capitalization.
yduJ may remedy this by setting #3443.namec="yduJ's Hairdressing Salon".

Note for programmers:
 In programs, use $string_utils:pronoun_sub().
 %n actually calls player:title() while %(name) refers to player.name
 %directly.

PUT/INSERT
==========

Syntax:  put <object> into <container>
	insert <object> in <container>

Moves the named object into the named container.  Sometimes the owners of the
object and/or the container will not allow you to do this.

@QUIT/@ABANDONAR
================

Syntax:  @quit

Disconnect from the MOO.  This breaks your network connection and leaves your
user sleeping.	Disconnecting in most parts of the MOO automatically returns
your user to its designated home (see 'help home').

READ
====

Syntax:  read <note>

Prints the text written on the named object, usually a note or letter.	Some
notes are encrypted so that only certain users may read them.

@READ/@LE^/@PEEK
================

Syntax:  @read <message-number>
	@read
	@peek ...

Prints the contents of the indiciated messages from your MOO email collection.
You get the message numbers for use here by typing the '@mail' command, which
prints a table of contents for your entire MOO email collection.  If no
arguments are given to @read, then the 'current message' in your collection is
printed.  In any case, the 'current message' after @read finishes is the last
one printed.

The most general form of the @read command is

	@read <message-sequence> [on *<collection>]

where <message-sequence> is as described in `help message-sequences'.
As with the @mail command you may @read messages on any publically readable
collection (child of $mail_recipient).

The @peek command is a variant of @read that works no differently except that
it refrains from setting your `current message'.  This is useful, for example,
if you want to see some particular message on a collection without losing
track of where you are in it.

@REGISTERME
===========

 @registerme as <email-address>

This verb changes your registered email_address property. It will modify the
registration, and then, to validate the email address, it will assign a new
password and mail the password to the given email_address.
If, for some reason, this is a problem for you, contact a wizard or registrar
to get your email address changed.

 @registerme
Prints your registered email address.

@RENAME
=======

Syntax: @rename <object>	to [name-and-alias],<alias>,...,<alias>
       @rename <object>        to [name]:<alias>,...,<alias>
       @rename <object>:<verb> to <new-verb-name>

The first two forms are used to change the name and aliases of an object.  The
name is what will be used in most printed descriptions of the object.  The
aliases are the names by which users can refer to the object in commands.
Typically you want to include the name in the aliases, as the MOO parser only
checks .aliases when matching, so the first syntax is generally preferred.

If you leave out the "name" part of the list, @rename will leave the object's
name as it is, and only change the aliases.

Note that for renaming users, more stringent rules apply.  See `help
user-names'.  Certain other kinds of objects (e.g., mail recipients) also
enforce their own rules w.r.t what they can be named.

Examples:
Munchkin names his dog:
 @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'.  Note, however, that it will be impossible to use "Rover the Wonder Dog"
to rever to the dog: if you don't include the name in the aliases, confusion
can result.  It might have been better to start off with
 @rename #4237 to "Rover the Wonder Dog",Rover,dog

Since he didn't, Munchkin now changes his dog's aliases:
 @rename #4237 to ,Rover,dog,Rover the Wonder Dog
The name remains the same--we still see 'Rover the Wonder Dog'--but now any of
'Rover', 'dog', or 'Rover the Wonder Dog' can be used to refer to him.	This
can help reduce confusion.

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.

@RENUMBER
=========

Syntax:  @renumber [<collection>]

Renumbers the messages in your collection to go from 1 to however many you
have at the moment.  The optional argument allows you to renumber the messages
stored in some other collection (@renumber, like @rmmail, requires write
access).

Note that if you have zombie messages from a previous @rmmail command (see
`help zombie-messages'), these will be expunged.

@REQUEST-CHARACTER/CHARACTER
============================

Usage:	@request <user-name> for <email-address>

This command available to Guest characters only.

The @request command requests a new character, registered for your email
address. Please use your primary address for this, as your password will be
sent to the address provided.

@RESIDENT/@RESIDENTE
====================

Syntax: @resident user
       @resident !user
       @resident

Adds or removes a user from the residents list of a room.  The residents list
controls who is allowed to use @sethome in that room.  This defaults to just
the owner of the room; by manipulating the residents list you may allow
additional users to use that room as their home.

@resident user adds that user to the list.
@resident !user removes that user from the list.
@resident with no arguments simply displays the current list (which may be
"none", indicating no additional people besides the owner may use that room as
their home).

See also help @sethome.

Hints for programmers: The verb $room:accept_for_abode is called by @sethome.
By overriding this verb you can give different criteria to @sethome.  It
should return 1 for allowed and 0 for denied.

@RMALIAS
========

Syntax: @rmalias <alias>[,...,<alias>] from <object>
       @rmalias <alias>[,...,<alias>] from <object>:<verb>

The first form is used to remove aliases from an object.  If the object is a
valid user, space and commas will be assumed to be separations between
unwanted aliases.  Otherwise, only commas will be assumed to be separations.
Note that @rmalias will not affect the object's name, only its aliases.

The second form is for use by programmers, to remove aliases from a verb they
own.  All spaces and commas are assumed to be separations between unwanted
aliases.

@RMMAIL
=======

Syntax:  @rmmail [<message-sequence>] [from *<recipient>]

Deletes the indicated messages from your MOO email collection.
By default, your current message is deleted.
See `help message-sequence' for the full list of possible arguments.
You get the message numbers for use here by typing the '@mail' command.

There is no confirmation for this action, so be careful.  While it is true
that @unrmmail will be able to bring back the messages deleted by the last
@rmm, any messages deleted before then are really gone, i.e., irrecoverable.
See `help @unrmmail' for more information.

This command may be used on other mail recipients (children of
$mail_recipient), but only ones to which you have write access (you either
have to own it or be on good terms with whoever does...).

@RN
===

Syntax:  @rn

For each collection of mail messages that you read other from your own, a
last-read-time is kept.  This command tells you which collections (out of all
those you have ever read) have recently had messages added to them, i.e., more
recently than when you last did a @read, @prev, @next, or @skip on that
collection.

Etymologists' note:  If you thought @rn had anything to do with the popular
UNIX newsreading program `rn', it's just your imagination.

ROOM-MESSAGES
=============

A few different messages can be set on a room object (see 'help messages' for
instructions on doing so); they are printed to various audiences when a player
or other object is ejected from the room.  (See 'help @eject'.)  The standard
pronoun substitutions are made on each message before it is printed; see 'help
pronouns' for details.

The default message is given in brackets after each name below:

@ejection  [You expel %d from %i.]
 Printed to the player doing the ejecting.

@victim_ejection  [You have been expelled from %i by %n.]
 Printed to the object being ejected.

@oejection  [%D is unceremoniously expelled from %i by %n.]
 Printed to others in the room from which the object is being ejected.

ROOMS
=====

Rooms may be made by builders, using the @dig verb. By default, all rooms are
instances of _the_ room, $room, or #3, which you can examine to see how it
works. If you require a room to have a more specific behaviour, you can make a
subclass of room.

SAY/"/DIZ
=========

Syntax:  say <anything> ...
	"<anything> ...

Says <anything> out loud, so that everyone in the same room hears it.  This is
so commonly used that there's a special abbreviation for it: any command-line
beginning with a double-quote ('"') is treated as a 'say' command.

Example:
Munchkin types this:
 "This is a great MOO!
Munchkin sees this:
 You say, "This is a great MOO!"
Others in the same room see this:
 Munchkin says, "This is a great MOO!"
if they're in english mode, or,
 Munchkin diz, "This is a great MOO!"
if they're in portuguese mode.	There's a support for other languages too.

SECURITY/SPOOFING
=================

There are several commands available to determine the origins of messages and
to check that your communications with other users are secure. Help is
available on the following topics:

@paranoid -- keeping a record of messages your character hears.
@check	  -- looking at that record to determine responsibility for messages.
@sweep	  -- checking who is listening in on your conversation.

@SEND
=====

Syntax:  @send <recipient> [<recipient> ...]  [subj[ect]="<subject>"]

Prepares for you to compose a MOO email message to the recipients named on the
command line.  A recipient can be specified by giving a player name or
object-id, or a '*' followed by the name or object-id of some non-player mail
recipient (e.g., a mailing list or a mail folder) -- a list of such non-player
recipients is available from within the mailroom with the 'showlists' command.

The usual editor is invoked.
You will be prompted for a subject line if you did not specify one in the
@send command (see `help mail_options' for how to avoid this).
Use `say' (") to insert lines in the body of your message.
See `help editors' for details.

Giving this command without arguments resumes editing the previous unsent
draft message if one exists.

@SETHOME
========

Syntax: @sethome

Sets your designated home (see `help home') to be the room you're in now.  If
the current room wouldn't allow you to teleport in, then the `@sethome'
command nicely refuses to set your home there.	This avoids later, perhaps
unpleasant, surprises.	Additionally, your home must be a room that will allow
you to stay there.  Rooms which you own will do this, as will rooms to which
you have been added as a resident.  See the @resident command for help on
adding someone as a resident to a room you own.

@SKIP/@UNSUBSCRIBE
==================

Syntax:  @skip [<collection>...]
	@unsubscribe [<collection>...]

For each collection of mail messages that you read other from your own, a
current message and a last-read-time is kept.  Normally, if you neglect to
actually @read any messages on a collection other from your own, @rn (or
:check_mail_lists) will continue to remind you that they are there.

The @skip command indicates that you're not interested in reading the rest of
the messages that currently exist in that given collection.

The @unsubscribe command flushes the current-message/last-read-time
information completely, indicating that you are not only uninterested in the
rest of the messages on that collection, but also likewise uninterested in
anything else that may appear on that collection later on.  @unsubscribe also
removes you from the collection's .mail_notify list.

@SUBSCRIBE
==========

Syntax:  @subscribe *<collection> [with notification]
	@subscribe

The first form of this command does two things:

(1) it sets up a current message and a last-read-time for the given mail
   collection so that when next you log in, you will be informed about new
   mail that has appeared there.  Note that this happens automatically
   whenever you @read messages on a given collection, so if this much is
   all you care about, you don't need to use this command; just do, e.g.,
	    @read last on *<collection>

(2) if you added the "with notification clause, adds you to the .mail_notify
   list for that collection, so that you will be notified *immediately*
   whenever new mail is sent there.

You can only @subscribe to collections that are readable by you.
The second form of the command gives a list of collections available to you.

Note that this is entirely different from the Mail Room `subscribe' command
which actually adds you to the .mail_forward list for a given collection/
mailing-list, so that mail sent to the list actually shows up in your own
mail collection.
We're probably going to phase out the Mail Room `subscribe' command...

@SUBSCRIBED
===========

Syntax: @subscribed

Like @rn, but shows you ALL mailing lists to which you are subscribed, even
those which have no new messages.

SUMMARY/COMMANDS/SUMA'RIO
=========================

Help is available on the following general topics:

theme  -- the idea behind all of this
introduction  -- what's going on here and some basic commands
index  -- index into the help system

users  -- setting characteristics of yourself
movement  -- moving yourself between rooms
communication  -- communicating with other users
manipulation  -- moving or using other objects
miscellaneous  -- commands that don't fit anywhere else

@helpers  -- the connected Official Helper Persons
@wizards-list/@wizards	-- the list of the wizards of MOOsaico
@pagelength  -- what to do if lines scroll off your screen too fast
@linelength  -- what to do if lines are truncated

building  -- extending the MOO
programming  -- writing code in the MOO programming language
editors  -- editing text and code in the MOO

@SWEEP
======

Syntax: @sweep

Used when you wish to have a private conversation, and are concerned someone
may be listening in. @sweep tries to list the avenues by which information may
be leaving the room. In a manner analogous to @check, it assumes that you
don't want to hear about your own verbs, or those belonging to wizards, who
presumably wouldn't stoop to bugging.

TAKE/GET/REMOVE
===============

Syntax:  take <object>
	get <object>
	take <object> from <container>
	get <object> from <container>
	remove <object> from <container>

The first two forms pick up the named object and place it in your inventory.
Sometimes the owner of the object won't allow it to be picked up for some
reason.

The remaining forms move the named object from inside the named container (see
'help containers') into your inventory.  As before, sometimes the owner of an
object will not allow you to do this.

@TYPO/@BUG/@COMENTA'RIO/@COMMENT/@IDEA/@IDEIA/@SUGESTA~O/@SUGGEST
=================================================================

Syntax:  @typo	  [<text>]
	@bug	 [<text>]
	@suggest [<text>]
	@idea	 [<text>]
	@comment [<text>]

If <text> is given, a one-line message is sent to the owner of the room,
presumably about something that you've noticed.  If <text> is not given, we
assume you have more to say than can fit comfortably on a single line; the
usual mail editor is invoked.  The convention is that @typo is for
typographical errors on the room or objects found therein, @bug is for
anomalous or nonintuitive behaviour of some sort, @idea/@suggest for any
particular brainstorms or criticisms you might happen to have, and @comment
for anything else.

If you're sending a bug report to someone because you got an error traceback
when you used some object of theirs, please give them enough information to
work on the problem.  In particular, please tell them *exactly* what you typed
and *all* of the error messages that were printed to you, including the entire
traceback, up to the line `(End of traceback.)'.  Without this information, it
is nearly impossible for the programmer to discover, let alone fix, the
problem.

The usual mail editor is only invoked for this command when in rooms that
allow free entry, i.e., rooms that are likely to allow you back after you are
done editing your message.  Otherwise these commands will require <text> and
only let you do one-line messages.
Most adventuring scenario rooms fall into this latter category.

@UNGAG
======

Syntax:  @ungag <user or object>
	@ungag everyone

Remove the given user or object (or, in the second form, everyone) from your
'gag list'.  You will once again see any messages that result from actions
initiated by the ungagged user(s) or objects.  In particular, you will once
again be able to hear them if they speak, emote, or whisper to you.  See 'help
gagging' for an explanation of gagging in general.

Example:
Munchkin types:
 @ungag Grover
and is once again able to hear Grover's witty remarks.	Sigh...

@UNRMMAIL/ZOMBIE-MESSAGES
=========================

Syntax:  @unrmmail [list|expunge] [on *<collection>]

When you do @rmmail on a particular message collection, the messages removed
don't go away immediately, but are rather saved elsewhere.  These "zombie"
messages can be brought back or examined using the @UNrmmail command.

Without `list' or `expunge', @unrmm restores the zombie messages, thus undoing
the effect of the most recent @rmmail command.	Only the most recent @rmmail
can be undone in this way; messages deleted by any previous @rmmail commands
on this same collection are lost and gone forever.

The `list' option merely lists the headers of the zombie messages without
actually restoring them.

The `expunge' option banishes the zombie messages forever.

Note that the message numbers used by zombie messages are held in reserve
against the possibility that you might @unrmm them some day; with such
messages around, new messages received will be given higher numbers than you
might have expected.  @renumber does an implicit @unrmm expunge.

`@unrmmail' and `@unrmmail expunge' on collections other than your own are
only allowed when you have write access.  Likewise, `@unrmmail list' on other
collections is only possible when they are readable by you.

@UPTIME
=======

Syntax:  @uptime

  The @uptime command displays the amount of time since the last restart of
the server.
  Note to programmers:	The last restart time of the server is stored in
$last_restart_time.

USERS/UTILIZADORES
==================

There are a number of commands for modifying various characteristics of the
object representing you in the MOO.  Help on them is available in the
following topics:

@describe -- setting what others see when they look at you
@gender -- changing your user's gender
@password -- changing your user's password
@sethome -- changing your designated home room
@rename -- setting your new name and/or new aliases
@name-swap -- changing your name from one of your aliases
@linelength -- adding word-wrap to the lines you see
@language -- setting your current language mode
@languages -- setting what languages you speak

@VERSION/@VERSA~O
=================

Syntax:  @version

Prints out the version number for the currently-executing MOO server.

WHEREIS
=======

Syntax:  whereis [<user> [<user>...]]
       @whereis [<user> [<user>...]]

Returns the current location of each of the specified users, or of all users
if not arguments given.

WHISPER
=======

Sintaxe:  whisper "<text>" to <user>

sends the message "<yourname> whispers, "<text>" to you " to <user>, if they
are in the room.

@WHO
====

Syntax: @who
       @who <user> [<user> ... ]

The first form lists all of the currently-connected users, along with the
amount of time they've been connected, the amount of time they've been idle,
and their present location in the MOO.

The second form, in which a list of user names is given, shows information for
just those users.  For any listed users that are not connected, we show the
last login time instead of the connect/idle times.

@who refers to the @who_location message (see 'help messages') on each user's
location in order to determine what should be printed in the location column.
Pronoun substitutions are done on this string in the usual manner (see 'help
pronouns').  The default value is "%T" (i.e., the room name).

WIZARD-LIST
===========


ArchWizard:  Wizard
Wizards:     Oblivion	      (a.k.a. Rodericus)
	    Poirot	     (a.k.a. Kent)
	    Gandalf	     (a.k.a. Biafra)

Please try to get help first from the HELP channel.  One of the
persons listening to that channel will answer your call.
To do that type `page help ...' where ... will be the description
of what you're needing.

Remember also that as you are trying to get some help, it's
possible that some one else has just done the same thing and the
persons on the HELP channel or the wizards are managing to
correct a problem and may not answer to you soon.

@WIZARDS
========

@wizards [ connected | all ]

Shows a list of wizards.  Without an argument or with an argument of
"connected", shows only those wizards who are connected.  With an argument of
"all", shows all wizards.

@WIZARDS-LIST
=============

@wizards-list

Shows the list of all the wizards and their characters.

WRITE
=====

Syntax:  write "<any text>" on <note>

Adds a line of text to the named note or letter.  Only the owner of a note may
do this.

YELL/SHOUT
==========

Syntax:  yell  <anything> ...
	shout <anything> ...

Everyone in the same room and in the nearby ones will hear your shout.
Naturatly some doors or passageways may block the sound.

Copyright © 1994-2024 MOOsaico, Multilingual Virtual Community
All Rights Reserved. Todos os direitos reservados.
30 years of MOO (1994-2024)