Welcome to the Book of Flags, a simple explanation of each Flag available on the MUCK and what they mean. The same information can be gotten through typing 'help [name of flag]', but this attempts to be more precise/verbose. Read Ginger's Book of Idiosyncrasies for information on interpreting my examples if you need it. The pages you can view are:
Surrounding you in the MUCK are objects of all types: rooms, players, things, and exits. Each type of object has special properties that affect what it does. These properties can be further affected by things called flags, which can be @set on an object by '@set <object>=<flag>'. ('help @set')
You can often abbreviate the name of the flag to just its first letter:
@set me=link_ok = @set me=l @set me=silent = @set me=s
[NOTE: 'help flags' will list all the flags' names.]
Flags are normally listed in the database number ('help number') of an object right after its name. (For example: Falstaff(#80PBJ): the database number is 80, and the flags set are P (player), B (builder) and J (jump_ok).)
This flag is settable by players, but it isn't generally useful for beginners. It has several different effects, depending on what type of object ('help types') you set it on:
This flag only has meaning when set on programs, rooms, or players.
[NOTE: To make an action/exit whose messages use MPI take an
argument, the exit MUST be set Haven. (see 'mpi {&arg}')]
The Jump_ok flag (J) is just a helpful little flag that you set on objects, people, and occasionally exits in order to make movement around the MUCK easier. Unprivileged programs (programs with low M levels (see 'help Mucker'), or programs not owned by you, personally), will have problems moving objects around unless either the player trying to do the moving owns everything involved or everything involved is set jump_ok. On some systems, you cannot use an exit to leave a room unless the exit is either directly attached to that room or the room is set jump_ok. (FurToonia does not use this setup currently.)
Basically, the jump_ok flag is generally helpful, and, at its worst, can't hurt. Set it on objects you want to throw into other rooms or have walking around the MUCK (Zombie objects; see 'help zombie' or 'tidbits'), and set it on yourself. ('@set me=j')
[NOTE: You cannot use an action/exit that is linked to another player unless that other player is set jump_ok.]
The "D" flag (dark, debug) can only be set on a player by a wizard.
If set on a ROOM: When people besides the owner look into a room set 'dark', they can only see things they own. (Under the Base of the Tree is set dark.)
If a THING or a PLAYER is set dark, 'look' does not list them in a room's 'Contents:' listing.
If an EXIT is set dark, the '<name> has arrived.' and '<name> has left.' messages that usually display when the exit is used will not appear. (Can be used to appear "silently" if the exit has no @osucc or @odrop. (see 'help messages'.)
The "dark" flag on a PROGRAM is called "debug", and a running stack trace (log) is printed out to anyone who uses the program for each instruction executed.
Players can set rooms and objects they own dark, but cannot drop dark objects in rooms they don't own. Zombie objects set dark will not function--so that people can't drop invisible listening objects in others' rooms and listen in.
The "C" flag affects ownership of the object it is set on by allowing other players to '@chown' ('help @chown') the object and thus take control of it. Setting the object "not c" ('@set <object>=!c') will remove the flag and thus prevent others from stealing your possessions. Anything set C is takeable by anyone. Do not leave anything you own set chown_ok unless you plan to give it to someone else.
When someone @chowns one of your objects, you lose control and ownership of that object *forever*, unless you can get it back and @chown it. The command @chown stands for "CHange OWNership", and that's exactly what it means.
[A NOTE: Unlinked exits ('help types', 'help @link', 'help @open'), or exits that are not @linked to something, can also be stolen, whether or not they are set chown_ok. It is possible to steal such exits, and it has been done before. Make sure to @link any false exits you make ('help bogus') to $nothing ('@link <exit>=$nothing') to prevent them being stolen. (If an exit is linked to $nothing and is triggered, the @succ and @osucc messages will show. If you want to use the @fail and @ofail messages, type '@lock <exit>=me&!me'.)]
The "Z" or "zombie" flag is used to create objects that function like players, moving here and there around the MUCK as though they were alive. (see 'tidbits' #4, Making a Zombie, and/or 'help z') The objects are moved around by the @force command ('help @force'). Zombie objects behave like a separate player, returning to their owners descriptions and poses and says from the rooms they are in. You can @force objects that don't have the Z flag set, but only objects with the Z flag will return information to their owners. A zombie can't go anywhere it's owner cannot, or enter rooms or use exits that are set Z.
(In order to be affected by the @force command, an object must be set "X" (xforcible). It's also good to '@flock [zombie object]=me' to prevent others @forcing your zombie around. There is no online help for these com- mands; see the appropriate page of this book or 'tidbits' section #4.)
[NOTE: Only players who do not have a Zombie bit set can use zombies or @force things. Only a wizard may set or clear a player's Zombie bit/flag.]
If a PROGRAM is set Z, when you run it it drops you into the MUF debugger, letting you go through the program step-by-step and chew through any bugs. (Different from the "Dark" flag ('help dark').) Help is available in the debugger, via the 'help' command.
The Xforcible, or "X", flag affects objects such as zombie objects that are to be used with the @force command ('help @force', 'help z', and 'tidbits', section #4). '@set <object>=x' allows the object to be @forced around the MUCK. This flag must be used in conjunction with the '@flock' command, which is used just like '@lock' ('help @lock') to restrict who is able to @force the object. Typing '@flock <object<=me' will allow only you to @force your zombie object to do things. If no @flock is set, the server assumes that no-one can @force the object.
Since this flag, and the @flock command, are new inventions, online help has yet to be added for them. Information can be found by typing 'info changesfb5.28', or, again, under the 'tidbits' command.
[NOTE: The @flock command's syntax is the same as that of @lock. Simply '@flock <object>=me' to make the object accept your @forcing. You can @flock the forcing of an object to other players, specific object "keys", and proper- ties, just like @lock. (see 'help @lock')]
WIZARD: The "wizard"; flag is only meaningful for players and programs. It affects permissions, mostly. A player set Wizard is a wizard, unkillable, able to manipulate anything in the database and subject to fewer restrictions than mortals. Programs set Wizard can set and unset properties on players, and operate as though they had no restrictions on permissions.
Only God (#1; on FurToonia this is MamaKhat) can set or unset the Wizard flags of players.
KILL_OK: This flag allows a kill to be made, provided both players involved are set kill_ok. A "kill" ('help kill') sends the player killed and his/her possessions to their homes. The syntax is 'kill <player>[=(cost)]'; the cost being a number of pennies between 1 and 100. The probability of the kill being a success equals the number of pennies in the cost; using 100 pennies always works except against Wizards, who cannot be killed.
LINK_OK: If a room is set Link_ok ('@set here=l'), anyone can link exits to it. If a player is set Link_ok *AND* Jump_ok, anyone may link an exit directly to that player, so that using the exit allows you to pop out in whatever room that player is currently in. A program must be set Link_ok to be called by other programs or used by the general public.
ABODE: This is similar to Link_ok. If a room is set Above, players can set their homes there ('help homes') by typing '@link me=here' ('help @link'), and can set the homes of objects there as well.
On a PROGRAM, "abode" means "autostart", and means that when the game is first started up, the program will automatically be loaded into memory and started up (like in the "startup" program group in Windows).
The "V" or "vehicle" flag is only really useful when set on things (as opposed to players, exits, rooms, etc.). What it does is makes the thing it's set on into a vehicle--something you can enter and exit, like a car. You can only enter a vehicle from the same room that it's in, by using an exit both attached and linked to the vehicle:
@act getin=<vehicle> (opens an exit attached to vehicle object) @link getin=<vehicle> (links the exit to the vehicle object) [see 'help @open'; 'help @link']
There are several ways to customise your vehicle once you've put it together, with such programs as #19 (DriveTo2.muf) and Window.muf (#692). (If you don't know how to use @view or @list yet, try typing '@view' for its syntax or 'help @list', or see "How To Deal With Incomprehensible Programs", in Ginger's Book of Idiosyncrasies.)
NOTES: Actually creating a working vehicle is a many-step process, and if you're not familiar with building and other MUCK processes, it's not a good first project. More obtuse help on the "V" flag is available by typing 'help v', or perhaps there will someday be written a reference on the subject. There are many helpstaff, also, online who will be glad to help you.
The process of creating the rooms you're standing in, the objects you carry and the exits you carry them through is called building. Only players set with the "B" or "builder" flag may use the building commands. All players on FurToonia and most other MUCKs start out with their Builder flag already set for them.
When a room is set B, you cannot use personal exits (exits attached to you that "follow" you around wherever you go) to leave it. (It is not generally considered "nice" to create lots of rooms that people can't easily escape from, so don't use this often.)
When a program is set B, it is called "Bound", and it does something that's probably really cool but will not, unless you are determined to be a master MUF coder, ever really affect you in any great way. To hear about that function, and what the MUCK has to say about its "B" flags, you can type 'help builder'.
The Page of "Type" Flags ("P", "R", "M1,2,3", "E", "F") The objects you see around you are of several "types": players, rooms, exits, programs, and things. Each one has a database number ('help number') that tells the MUCK what it is and where it is, and this number is followed by a list of the flags that are set on the object. The "Type" flags tell the MUCK that the object it's looking at is a: