Creates a new action and attaches it to the thing, room, or player specified. If a regname is specified, then the _reg/regname property on the player is set to the dbref of the new object. This lets players refer to the object as $regname (ie: $mybutton) in @locks, @sets, etc. You may only attach actions you control to things you control. Creating an action costs 1 penny. The action can then be linked with the command @LINK.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Removes the action from where it was and attaches it to the new source. You must control the action in question.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Disconnects a player from the game. If a player is connected more than once it affects the most recent connection. Only a wizard may use this command. (Note-For the FurryMUCK boot policy, check the policy file under news--'news policies'.)
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Changes the ownership of object to player, or if no player is given, to yourself. If the MUCK is compiled with PLAYER_CHOWN, all players are allowed to take possession of objects, rooms, and actions, provided the CHOWN_OK flag is set. Mortals cannot take ownership of a room unless they are standing in it, and may not take ownership of an object unless they are holding it. Wizards have absolute power over all ownership.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Creates a new object and places it in your inventory. This costs at least ten pennies. If cost is specified, you are charged that many pennies, and in return, the object is endowed with a value according to the formula: ((cost / 5) - 1). Usually the maximum value of an object is 100 pennies, which would cost 505 pennies to create. If a regname is specified, then the _reg/regname property on the player is set to the dbref of the new object. This lets players refer to the object as $regname (ie: $mybutton) in @locks, @sets, etc. Only a builder may use this command.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sets the idescription field of object to text. If text is not specified, the description field is cleared. This is the same as '@set object=_/ide:[text]' An idescription is what is seen on the inside of a vehicle, when a player inside it looks around.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sets the description field of object to text. If text is not specified, the description field is cleared. This is the same as '@set object=_/de:[text]' A description is what is seen when a player looks at something.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Creates a new room, sets its parent, and gives it a personal registered name. If no parent is given, it defaults to the first ABODE room down the environment tree from the current room. If it fails to find one, it sets the parent to the global environment, which is typically room #0. If no regname is given, then it doesn't register the object. If one is given, then the object's dbref is recorded in the player's _reg/regname property, so that they can refer to the object later as $regname. Digging a room costs 10 pennies, and you must be able to link to the parent room if specified. Only a builder may use this command.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sets the drop field of object to text. If text is not specified, the drop field is cleared. The drop message on an object is displayed when you drop it. On an exit, it is displayed upon entering the destination room. On a player it is displayed to whoever kills them. On a room, it is displayed when an object is dropped there. This is the same as '@set object=_/dr:[text]'
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Only wizards may use this command. Saves the database from memory to disk. Automatically occurs every three hours, and when @shutdown is used. It does slow down the server, so only use if you fear a server crash is iminent. If a filename is given, it will save the db to that file, and save any subsequent dumps to it as well.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Searches for a program and if a match is found, puts the player into edit mode. Programs must be created with @PROGRAM.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
object can be a thing, player, exit, or room, specified as name or #number or 'me' or 'here'. Sets the fail message for object. The message is displayed when a player fails to use object. Without a message argument, it clears the message. This is the same as: '@set object=_/fl:[text]' See also @OFAIL, and @DESCRIBE.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Causes the game to process command as if typed by player. With the compile option GOD_PRIV, God cannot be forced by his/her sub-wizards.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Links object1 to object2, provided you control object1, and object2 is either controlled by you or linkable. Actions may be linked to more than one thing, specified in a list separated by semi-colons.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Lists lines in a program, provided you control it or it is LINK_OK. Zero, one, or two line numbers may be specified, denoting the range of lines to list. If no lines are given, the entire program is listed.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Locks object to a specific key(s). object can be specified as name or #number, or as 'me' or 'here'. Boolean expressions are allowed, using '&' (and), '|' (or), '!' (not), and parentheses ('(' and ')') for grouping. To lock to a player, prefix their name with '*' (ex. '*Igor'). A key may be a player, an object, or 'property:value'.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
If passed a processid (a number without a '#' preceeding it), it will kill the given process, if the player controls it. If passed a player name, it will kill all the processes controlled by that player. If passed a program dbref, it will kill all processes that that program is running in. If the argument passed is "all", and the player is a wizard, it will kill all processes on the timequeue.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sets the name field of object to name. name cannot be empty; a null name is illegal. password must be supplied to rename a player. Wizards can rename any player but still must include the password.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Only wizards may use this command. Changes player's password, informing player that you changed it. Must be typed in full. If GOD_PRIV was defined, nobody can change god's password.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sets the odrop field of object to text. If text is not specified, the odrop field is cleared. Odrop on an object is displayed prefixed by the player's name when s/he drops that object. On an exit, it is displayed upon a player's arrival to the destination room (or the location of the destination player). On a player, it is displayed after the `name killed victim!' message. On a room, it is displayed when an object is dropped there, prefixed by the object's name. This is the same as: '@set object=_/odr:[text]' See also @DROP.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
The @ofail message, prefixed by the player's name, is shown to others when the player fails to use object. Without a message argument, it clears the message. object can be specified as name or #number, or as 'me' or 'here'. This is the same as: '@set object=_/ofl:[text]'. See also @FAIL.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Opens an exit in the current room, optionally attempting to link it simultaneously. If a regname is specified, then the _reg/regname property on the player is set to the dbref of the new object. This lets players refer to the object as $regname (ie: $mybutton) in @locks, @sets, etc. Opening an exit costs a penny, and an extra penny to link it, and you must control the room where it is being opened.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
The @osuccess message, prefixed by the player's name, is shown to others when the player successfully uses object. Without a message argument, it clears the @osuccess message. It can be abbreviated @osucc. object can be specified as name or #number, or as 'me' or 'here'. This is the same as '@set object=_/osc:[text]' See also @SUCCESS.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Searches through the database for items that name controls. Flags or types can be specified to check for or against certain ones. (A ! before the flag indicates that it is to be excluded.) A "U" in the flags list indicates an unlinked item. The output types that can be specified are owners, links (which outputs either *UNLINKED*, the object to which the item is linked, or *METALINK* for exits linked to more than one thing), count, and location.
Valid flags: ABCDHJKLMQSW
Flags of E, F, G, P, R, and T will match Exits, programs, Garbage, Players, Rooms, and Things, respectively. U will match unlinked objects. 0, 1, 2, or 3 will match Mucker Levels.
Example: '@owned Revar=f!l3=location'
Will list all Mucker Level 3 (3) programs (F) owned by revar, that are NOT set Link_OK (!L), and it will give the location of each one.
Note that only wizards can get information for name not their own. See also @ENTRANCES, @FIND, @CONTENTS.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
This changes your password.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Only wizards can use this command. This command creates a new player. It may only be used if REGISTRATION is enabled.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Create a new program, or enter edit mode on an existing one. See also @EDIT and the Programmer's Reference.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Lists the status of the currently running MUF program processes. This lists all processes for a Wizard. Non-Wizards only see the muf processes that they can @kill. See also @KILL.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Destroy an object and remove all references to it within the database. The object is then added to a free list, and newly created objects are assigned from the pool of recycled objects first. You *must* own the object being recycled, even wizards must use the @chown command to recycle someone else's belongings.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
@set does one of three things on TinyMUCK, it can modify flags, add properties to an object, or remove properties from an object.
Using the first format, you may set flags, which are: WIZARD, LINK_OK, DARK [DEBUG], FILTER, STICKY [SETUID], JUMP_OK, BUILDER [BOUND], QUELL, CHOWN_OK, HAVEN [HARDUID], ABODE [AUTOSTART], VEHICLE, ZOMBIE, or MUCKER. You can also set the MUCKER (or Priority) Level of an object by using 0, 1, 2, or 3 as the flag name. An optional flag which may or may not be on a given site is KILL_OK.
The second format sets property on object to string, or if string is not given, removes property.
The third format removes all properties from an object.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Only wizards may use this command. Shuts down the game. Must be typed in full.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
For mortal players, returns the highest number in the database, which includes garbage that has been generated with @recycle. For Wizards, gives this number as well as a breakdown of each type of object: rooms, exits, things, programs, players, and garbage. Wizards may also specify player which returns a similar display limited to the possessions of player.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sets the success message for object. The message is displayed when a player successfully uses object. Without a message argument, it clears the message. It can be abbreviated @succ. object can be specified as name or #number, or as 'me' or 'here'. This is the same as '@set object=_/dr:[text]' See also @OSUCCESS.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Moves arg1 to destination, if destination is not given, moves you to arg1. Wizards may teleport anything to anywhere, provided it makes sense, and mortals are allowed to do two things: teleport rooms to change their parent fields, and the may teleport things to a room they can link to, provided they control either the thing or its location.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Only wizards may use this command. Turns player1 into a slimy toad, destroying their character. All possessions of player1 are @chowned to player2. Must be typed in full.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Starts with object and traces all location fields, until the global-environment room is reached or the optional depth is specified. This is generally useful for finding which rooms are parents in your heirarchy. If you cannot link to a particular location its name is replaced by stars ***.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Removes the link on the exit in the specified direction, or removes the drop-to on the room. Unlinked exits may be picked up and dropped elsewhere. Be careful, anyone can relink an unlinked exit, becoming its new owner (but you will be reimbursed your 1 penny). See also @LINK.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Removes the lock on object. See also @LOCK.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
A Wizard only command that gives system resource usage stats for the muck server process.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Only wizards may use this command. Shouts something to every player connected. Must be typed in full.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
If a room is set ABODE, players can set their homes there, and can set the homes of objects there. (LINK_OK is now used only for exits, and ABODE is for players and objects.)
When set on a program, it means AUTOSTART. This means that when the game is first started up, the program will automatically be run with a trigger of #-1 and a 'me @' of the owner of the program. This is useful to restart processes that run in the background periodically.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
When BUILDER is set on a program, it is called "BOUND" and it causes any functions within the program to run in preempt mode, regardless of the multitasking mode that the process had before calling this program. When the execution exits this program, the multitasking mode returns to what it was before the function was called. This lets libraries of atomic functions be written.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
When a program is set DARK, it is called DEBUG, and a running stack trace is printed out to any users of the program for each instruction executes.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Drops the object if you are holding it. It moves the object to the room you are in, unless its STICKY flag is set, or the room has a drop-to. Programs are much like objects but are not affected by room droptos or STICKY flags. A 'drop' message can be set, which will be shown to the player dropping the object, and an 'odrop', which will be shown to the other players in the room. Throw and put are aliased to drop. See also @DROP, @ODROP.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
If you control object, examine will give you a complete breakdown of all fields, flags, &c that are associated with the object. If the optional propdir field is supplied, then it instead lists out all the properties directly under that propdir. To list the base propdir of an object, use 'ex object=/'.
Program-executing fields are displayed as their true text, rather than executing the program in question. If you do not control object, however, it prints the owner of the object in question, and, again, displays the true text of the description.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Default unassigned. If a player's sex is set, %-substitutions will use the appropriate pronoun for that player. Only meaningful for players. See also SUBSTITUTIONS.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Attempts to pick up object. The lock on object is checked for a success (true), and the normal path of success/fail is then taken. On success the object is placed in your inventory.
get container=object
Attempts to get object from the given container. The _/clk lock property on container is tested, and if it is true, then it checks to see if the standard _/lok lock property on object tests true. If both locks pass, then object is moved into the player's inventory. If there is no _/clk property on container it defaults to failing. The _/lok property, on object, on the other hand, defaults to passing. @succ/@fail messages are not displayed, when fetching something from a container.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Gives amount pennies from your supply to player. Mortals may only give positive amounts and may not cause a player to have more than 10000 pennies. Wizards do not affect their penny supplies by giving to others, and may also give pennies to objects, changing that object's value.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Goes in the specified direction. 'go home' is a special command that returns you to your starting location. The word 'go' may be omitted. 'move' is the same as 'go'.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sends message to the system maintainer. Gripes are logged for later reference; also, if the system maintainer is connected he will receive the gripe real-time when the gripe is made.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
If a room is HAVEN, you cannot kill in that room. If a player is set HAVEN, he cannot be paged. See also PAGE.
HAVEN, when set on a program is called HARDUID, and causes that program to run with the permissions of the owner of the trigger, rather than with the permissions of the user of the program. When this is set in conjunction with the STICKY (SETUID) flag on a program, and the program is owned by a wizard, then it will run with the effective mucker level and permissions of the calling program. If the caller was not a program, or the current program is NOT owned by a wizard, then it runs with SETUID permissions.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
With no arguments, this command returns a brief summary of basic commands on playing the game. When subject is specified, it returns detailed informaion on that topic. Lists of topics are available by typing help index1, help index2, and help index3.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Sends you home, no matter where you are. You retain your pennies, but any objects you are carrying leave your inventory and return to their own homes. See also HOMES.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Lists what you are carrying. This can usually be abbreviated to inv or i.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
A player cannot use an action that is linked to another player unless the other player is set Jump_OK.
On some systems, where SECURE_TELEPORTing is set up, you cannot use an action to leave a room, unless the action is either attached to that room, or the room is JUMP_OK.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
A successful kill sends the player home, sends all objects in the player's inventory to their respective homes. The probability of killing the player is cost percent. Spending 100 pennies always works except against Wizards who cannot be killed. Players cannot be killed in rooms which have the HAVEN flag set. On systems where the KILL_OK flag is used, you cannot kill someone unless both you and they are set Kill_OK.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Looks around at the current room, or at object if specified. For players, displays their description and inventory, for things, their description, and for rooms, their name, description, succ/fail message, and contents. Also triggers osucc/ofail messages on rooms. Programs are triggered accordingly on desc/succ/fail fields.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Displays the programmer's manual or a quick reference.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
When the mucker level of an exit is set, is it called the exit's priority level. The priority levels let you specify that certain exits are not overidable by local actions. When an exit is searched for, in the matching routines, it will match like it used to, except that if it finds an exit, later in the search order, that has a higher priority level, it will choose that exit instead.
You can set the priority level of an exit by setting its Mucker Level. (example: @set exit=2) A level of 0 is the lowest priority, and a level of 3 is the highest priority. Only a Wizard can set the priority level of an action or exit.
When the server looks for the standard "connect", "disconnect", or "look" actions, it will ignore any actions with a priority Level of 0. When an action is @attached to another object, @named to something else, or @unlinked, its Priority Level is reset to 0.
If COMPATIBLE_PRIORITIES is #defined on your system, then exits that are on room or player objects will never act as if they have an effective priority level of less than 1.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Displays the current news file for the game. Must be typed in full. If a topic is given, then it displays the information on that specific topic.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Must be in all capitals, and typed in full. Prints the given line before the output of every command, setting them apart from other messages.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Must be in all capitals, and typed in full. Prints the given line after the output of every command, setting them apart from other messages. Only robots may use this command. See also OUTPUTPREFIX and ROBOT.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
This tells a player that you are looking for them. They will get a message in the form of 'You sense pager is looking for you in location.' A message is optional, and is delivered in the form of 'pager pages: message.' Your location is not revealed in message pages. If a player is set HAVEN, you cannot page them, and they will not be notified that you tried. You will instead be told, 'That player does not wish to be disturbed.' (Note: Most systems use a program with a global 'page' action, which takes the place of the built-in 'page' command, and has more features.)
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Must be in all capitals, and typed in full. Logs out of your character and leaves the game. Your character remains at the location you are in when you log out, although it might be moved elsewhere while you are 'asleep.'
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Attempts to steal one penny from player. The only thing you can rob are pennies. See also ROBBERY.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Says message out loud. You can also use '"message'. Another command is ':message'. This is used for actions, ex. if your name was Igor, and you typed ':falls down.', everyone would see "Igor falls down." See also TinyMUCK Page, the Help Index or the Alphabetic Index
Displays how many pennies you are carrying.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Default unassigned. If a player's sex is set, %-substitutions will use the appropriate pronoun for that player. Only meaningful for players. See also SUBSTITUTIONS.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
If a player is STICKY (SILENT), they don't see the dbrefs on things they own, and they do not see dark objects. If an exit is linked to a Thing, and it is located on another Thing, then if the exit is not STICKY, the Thing the exit is located on will go home when the exit is triggered. If a program is STICKY (SETUID) it runs with the permissions of the owner of the program, not the perms of the user. See also HOMES, STICKY, and DROP-TO.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Objects of TYPE_THING, that have the VEHICLE flag set, can contain players. To enter a vehicle, you can either use a MUF program to teleport you to it via MOVETO, you can get a wizard to @teleport you into it, or else you an use an action that is both attached and linked to the vehicle to enter it. This means that you can only enter a vehicle from the same room that it is in, and you cannot use far links to enter it. This prevents the use of vehicles to get around locks. Inside the vehicle, you will see it's @idesc, instead of it's @desc, and you will not be shown it's @succ or @fail. Objects dropped in a vehicle will not go away to the their homes, as a vehicle cannot have a dropto set in it.
Things with the VEHICLE flag set cannot enter rooms or use exits that have the VEHICLE flag set. This allows a way to prevent vehicles from entering areas where it would be illogical for them to be.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Whispers the message to the named person, if they are in the same room as you. No one else can see the message. Wizards can whisper *player=message to whisper to players in other rooms. (note: Some systems use a program in place of the built in whisper command. These programs generally provide many more useful features.)
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Must be in all capitals, and typed in full. Lists the name of every player currently logged in, and how long they have been inactive. If given a player name, it displays only the matching names and idle times. Wizards also get a display of the host the player is connected from.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Things with the ZOMBIE flag set cannot enter rooms or use exits that have the ZOMBIE flag set. This allows a way to prevent zombies from entering areas where they are not wanted.
If you try to run a program that you control, that has its ZOMBIE flag set, it will drop you into the MUF debugger. This lets you step line by line, or instruction by instruction through a muf program, setting breakpoints to stop at, and other nice things. There is help available within the debugger, via the 'help' command.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Propdirs are a method of storing and organizing properties to speed access and to provide a sort of built-in organization. The basic idea is to make something similar to a 'filesystem' for properties. In this analogy, each person would be a filesystem, with a root directory and (theoretically) an infinite number of properties beneath that.
A property has been expanded with the idea that each property may now contain a new property list -- the 'propdir'. properties can both have a value (either integer or string as before) _and_ contain other properties.
The actual directory entries may ALSO contain data. Propdirs' only real 'visible' changes are in the names of properties -- '/' is used as the property directory separator, and so will not appear in the names of the properties when listed through 'examine' or MUF programs.
Property protections have also been expanded -- the . and _ may appear either at the beginning of the property name or immediately following a '/', and that property will have the appropriate protections. For example, the property '/mail/.inbox/mesg/#' would have the same protections as '.mesg#' would now.
There are two ways to remove a property list:
If you try to access a property ending in '/', in MUF, it will give a programmer error, except in NEXTPROP, in which it will give the name of the first property in that propdir.
The last visible, non-MUF change that propdirs bring is that 'examine' will no longer show properties _directly_. Instead, where the properties would normally be shown, it will say: "[ Use 'examine object=/' to list root properties. ]"
Examine now can take an argument which is the property or propdir to view. If the property name given ends with a '/', all properties in property directory will be listed, otherwise the single property named will be shown.
Internally, a few things changed. property lists are now stored as AVL trees instead of straight lists, so there is a speed increase even if propdirs are not directly used. This also means properties are kept in sorted order and will be displayed that way. 'addprop' will no longer allow a ":" in the property name. To clear a propdir's value without deleting the proptree below it, from MUF do a '"" 0 addprop' to it.
A property can *not* have both a string and integer stored at the same time anymore. The old property.c was lax and allowed this, even though the integer value would be lost on dbload.
See also PROPDIRS-EXAMPLE.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Lines indented only 2 spaces are what the user is typing. Lines indented 6 spaces are what the MUCK is returning to the user. Lines in justified paragraphs, like this one, are comments on what's going on. First, lets set up a bunch of properties.
@set me=first:a property. @set me=second:another property. @set me=first/one:A property in a propdir @set me=first/two:Another property in a propdir @set me=third/prime:threeOkay, now lets see what properties we have. We use the examine command to do that, with a second argument, to tell it what we want to list in the way of properties. In this case, since we want to list the base level properties, we use '/'.
ex me=/ first/: (string) a property. second: (string) another property. third/: (no value)Okay, it has a few properties with the first part of the names of the properties that we set. The /'s at the end of some of the property names means that there are sub-properties that we can list. When we set a property like 'first/one', it's actually creating a sub-property named 'one' beneath a property named 'first'. If 'first' doesn't already exist, then it will create that property. Let's list what sub-properties we created under 'first'.
ex me=first/ first/one: (string) A property in a propdir. first/two: (string) Another property in a propdir.Here we see the properties that we set as sub-properties under 'first'. We examined for 'first/' to list the sub-properties. The / at the end of the name tells the game that we want it to list the sub-properties of that property, and not that property's value itself. Lets see what value the property 'first' has, itself. To do this we leave off the '/'
ex me=first first/: (string) a property.Okay, lets say that we just want to see the value of the sub-property named 'one', under the property 'first'. We can list it as follows:
ex me=first/one first/one: (string) A property in a propdir.If the property or sub-property that you specify does not exist, it will complain about it.
ex me=first/three No property found.If a property was created to contain a sub-property, but was never given a value itself, it is listed as having no value. It has sub-properties, however.
ex me=third third/: (no value)Let's list those sub-properties.
ex me=third/ third/prime: (string) threeOkay, let's delete the sub-property 'prime', from under the property 'third'. To do this, we act like we are setting the variable again, except that we are giving it no value this time.
@set me=third/prime: ex me=third/ No properties listed.There. It's gone. Now let's list the bottom level properties again.
ex me=/ first/: (string) a property. second: (string) another property.Whoops! The property 'third' is gone too! This is because properties with no values are automatically deleted when their last sub-property is deleted. Let's delete a subproperty from 'first', now.
@set me=first/one: ex me=/ first/: (string) a property. second: (string) another property.The property 'first' still exists, with it's string value, and it still has sub-properties. Lets list those.
ex me=first/ first/two: (string) Another property in a propdir.[Here we see that the sub-property 'one' is gone, as we expected. Let's see what happens when you erase a property that has sub-properties.
@set me=first: ex me=/ second: (string) another property.The property 'first' is gone.
ex me=first/ No properties listed.And the subproperty it had is gone too! Let's remake the 'first' prop.
@set me=first:again, a property. ex me=/ first: (string) again, a property. second: (string) another property.We have two properties again, and no sub-properties. It should be noted that sub-properties can have sub-sub-properties, and they can contain even subbier properties, and so on and so forth.
@set me=first/one:uno @set me=first/one/example:dos @set me=first/two/example:tres @set me=first/one/example/cat:meow ex me=first/ first/one/: (string) uno first/two/: (no value) ex me=first/one/ first/one/example/: (string) dos ex me=first/one/example/ first/one/example/cat: (string) meowThere is a special case in examine to let us list ALL the properties and sub-properties of a prop. To use it, we just specify '**' as a propdir. For example, to list all sub-properties and sub-sub-properties, etc., under 'first', you would do the following:
ex me=first/** first/one/: (string) uno first/one/example/: (string) dos first/one/example/cat: (string) meow first/two/: (no value) first/two/example/: (string) tresLet's delete all the properties on the object, now. To do that, we specify no property name or value when we use @set. Nothing but a colon.
@set me=: ex me=/ No properties listed.All gone!
Return to the TinyMUC, the Help Index or the Alphabetic Index
Return to the TinyMUC, the Help Index or the Alphabetic Index
Searches through the database for items that you control matching name. Players control only objects they own; wizards control all objects, so @find searches the entire database when they use it. Because the command is computationally expensive, this costs 100 pennies.
Flags or types can be specified to check for or against certain ones. (A "!" before the flag indicates that it is to be excluded.) A "U" in the flags list indicates an unlinked item. An "@" matches only objects unused for more than 90 days. The output types that can be specified are owners, links (which outputs either *UNLINKED*, the object to which the item is linked, or *METALINK* for exits linked to more than one thing), and location.
The matching on names is as follows:
Examples of use:
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Searches through the database for items that you control linked to object. Flags or types can be specified to check for or against certain ones. (A "!" before the flag indicates that it is to be excluded.) A "U" in the flags list indicates an unlinked item. An "@" will match only objects that have been unused for more than 90 days. The output types that can be specified are owners, links (which outputs either *UNLINKED*, the object to which the item is linked, or *METALINK* for exits linked to more than one thing), location and count.
Valid flags: ABCDHJKLMQSW
Flags of E, F, G, P, R, and T will match Exits, programs, Garbage, Players, Rooms, and Things, respectively. U will match unlinked objects. O will match Old objects unused for longer than 90 days. 0, 1, 2, or 3 will match Mucker or Priority Levels
Example: '@entrances here=ED=location' Will list all Dark Exits that are linked to your current location, giving the location of each one.
See also @FIND, @OWNED, @CONTENTS.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Searches the given object for items & exits that match the given flag string. Flags or types can be specified to check for or against certain ones. (A ! before the flag indicates that it is to be excluded.) A "U" in the flags list indicates an unlinked item. An "@" matches only Old objects, unused for more than 90 days. The output types that can be specified are owners, links (which outputs either *UNLINKED*, the object to which the item is linked, or *METALINK* for exits linked to more than one thing), location and count.
Valid flags: ABCDHJKLMQSW
Flags of E, F, G, P, R, and T will match Exits, programs, Garbage, Players, Rooms, and Things, respectively. U will match unlinked objects. O will match Old objects, unused for more than 90 days. 0, 1, 2, or 3 will match Mucker Levels or Priority Levels.
Example: '@contents here=DE=owner'
Will list all Dark Exits who's source is your current location, giving the owner of each one.
See also @FIND, @OWNED, @ENTRANCES.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
If you control the object, this will display the flags, ownership, and timestamps associated with that object. If you do not control it, you are only told the object type and ownership information. This command works with either a dbref or an object name.
Return to the TinyMUCK Page, the Help Index or the Alphabetic Index
Recycles all objects owned by that player, but leaves the player. You must specify 'yes' in order for this to take. WARNING: Make sure the player owns no public rooms or areas. Only a wizard may use this command.