Skip to content

Flags

FlagTitleFlagTitleFlagTitle
AAbode/AnsiCChown_ok/ColorDDark
FFixed/FloatingHHavenITrust
JJudge/Jump_okLLink_okMMonitor
NNo_leave/No_telOOpaqueQQuiet
SStickyUUnfindableVVisual
WWizardXSafeZShared/Z_tel
^Listen_parent~Noaccents?Unregistered
”NospoofaAudiblebDebug
dDestroy_okeEnter_okgGagged
hHaltiOrphanjJury_ok
kKeepalivelLightmMistrust/Myopic
nNo_commandoOn-vacationpPuppet
rRoyaltysSuspecttTransparent
uUninspectedvVerbosewNo_warn
xCloudy/Terse

Additional Flags:

  • Chan_usefirstmatch
  • Hear_connect
  • Heavy
  • Loud
  • No_log
  • Paranoid
  • Track_money
  • XTERM256
  • TRUECOLOR
  • MONIKER
  • open_ok

Some flags may not be enabled on some MUSHes. @flag/list will show which are available.

Flag: ABODE (rooms)

If a room has the ABODE flag set, any player or thing can set his home there. It does not allow you to link exits to the room. It allows you to make a room a public ‘living area’.

To make a room your home, type @link me=here while standing in the room.

::: seealso

Flag: ANSI (players)

When set, this flag allows a player to see ANSI highlight, generated by the ansi(h,...) function. Some ANSI is used by the MUSH, for example to highlight the names of objects (if the ansi_names @config option is on), and the names of attributes.

ANSI highlight can also be enabled on a per-connection basis with @sockset.

::: seealso

Flag: AUDIBLE (all types)

Objects which are set AUDIBLE forward sound in a number of ways. Only sound passing the object’s @filter, and its @lock/filter, is forwarded. The lock receives the sound heard as %0. The forwarded sound is always prefixed with the object’s @prefix.

If an AUDIBLE object has an @forwardlist attribute set, sound heard by the object is forwarded to the objects listed in the @forwardlist. See @forwardlist for more information.

When a THING is set AUDIBLE, any sound made inside it is broadcast to other objects in its location. This is useful for coding vehicles. Only sound passing the @filter is broadcast, and is prefixed with the thing’s @prefix, or “From [name(<thing>)], ” if no @prefix is set.

Setting the AUDIBLE flag on a ROOM activates audible exits in that room. EXITs which are set AUDIBLE propagate sound from their source room to their destination, prefixed with the exit’s @prefix, or “From [name(home(<exit>))], ” if no @prefix is set.

::: seealso

Flag: TRACK_MONEY (players)

By setting the TRACK_MONEY flag, a player can determine which objects may be using their money. TRACK_MONEY reports all charges to a player and their objects except the queue deposit.

> @set me=TRACK_MONEY
> give Javelin=50
You give 50 pennies to Javelin.
GAME: Walker spent 50 pennies!
> @create foo
GAME: Walker spent 10 pennies!
Created: Object #345.
> @for foo=@search eval=1
GAME: foo(#345) spent 100 pennies!
(search results)
> <a whole buncha commands>
GAME: Object Walker(#123) lost a Penny to queue loss.

::: seealso

Flag: CHOWN_OK (things, rooms, exits)

You can set this flag on an object you own to allow other players to transfer ownership of the object to themselves (using @chown), as long as they pass the object’s @lock/chown.

::: seealso

Flag: CLOUDY (exits)

If this flag is set on a (non-TRANSPARENT) exit, when a player looks at the exit they will see the contents of the destination room following the exit’s description.

If the flag is set on a TRANSPARENT exit, when a player looks at the exit they will see only the description of the destination room following the exit’s description, and will not see contents.

::: seealso

Flag: COLOR (players)

This flag indicates to the MUSH that the player’s client can see ANSI colors, using the 8 standard ANSI colors plus highlight, flash, inverse, underline.

ANSI colors can also be enabled on a per-connection basis with @sockset.

::: seealso

Flag: XTERM256 (players)

This flag indicates to the MUSH that the player’s client can handle the 256 XTERM colors.

The flag is aliased to COLOR256 for MUX compatability.

XTERM colors can also be enabled on a per-connection basis with @sockset.

::: seealso

Flag: TRUECOLOR (players)

This flag indicates to the MUSH that the player’s client can handle 24-bit RGB colors.

The flag is aliased to TRUECOLOUR, RGB, and 24BIT.

RGB colors can also be enabled on a per-connection basis with @sockset.

::: seealso

Flag: CONNECTED (players)

This flag is used internally by the MUSH to track whether a player is currently connected. It cannot be set or cleared manually.

Prior to 1.8.5p6, mortal objects couldn’t use hasflag(<player>, connected) to see if a player was online, and needed to instead use conn() or lwho(). Starting with that version, any object can use hasflag() to see if they can see that a player is online. Be careful, when coding on a privileged object, not to give away the presence of hidden players!

::: seealso

Flag: DARK (all types)

When a room is set DARK, only objects which are set LIGHT will show up in the rooms contents list when someone “look”s in the room. Exits which are set DARK do not show up in a room’s Obvious Exits list.

DARK players and things do not show up in the contents list of rooms. Only Wizard players can set themselves dark. Puppets and Audible things with an @forwardlist will not be hidden by the flag.

Note that players and things still trigger enter/leave messages, etc, in DARK rooms.

If the “full_invis” @config option is on, DARK players and things will show up as “Someone” or “Something”, respectively, when they speak.

In the past, players set DARK were automatically hidden from the WHO list via @hide, but this no longer happens. If you wish to disappear completely, you must use @hide after setting yourself DARK.

::: seealso

Flag: DESTROY_OK (things)

The DESTROY_OK flag allows anyone to @destroy it. This is good for “temporary” objects like “Can of Cola”. If the object has an @lock/destroy set, a player who doesn’t control the object must pass this lock in order to destroy it.

DESTROY_OK takes precedence over SAFE.

::: seealso

Flag: ENTER_OK (all types)

If a player or thing is ENTER_OK, someone may:

  • “enter” it, if they pass its @lock/enter
  • “give” to it, if they pass its @lock/from
  • “@tel” something into it, if they pass its @lock/tel

If a room is ENTER_OK, anyone can “@tel” to it, if they pass its @lock/tel. This does not allow linking exits to it.

If an exit is ENTER_OK, anyone can use it, if they pass its @lock/use. This is the same as being publically linkable.

If a thing is ENTER_OK, anyone can enter it (if they pass its @lock/enter), and anyone can “@tel” into it (if they pass its @lock/tel). This is useful for vehicles and buildings.

ENTER_OK is often used in conjunction with AUDIBLE on vehicles and buildings.

::: seealso

Flag: FIXED (exits)

A FIXED exit cannot be unlinked. Only the owner can remove the FIXED flag. This flag is used to prevent accidental unlinking of important exits.

::: seealso

Flag: FLOATING (rooms)

A FLOATING room is one that isn’t linked to by any exits. Such rooms can only be reached by teleporting to them. This flag is set automatically by the MUSH.

Flag: GAGGED (players)

A GAGGED player cannot speak, pose, emit, or whisper. They can still page and use commands.

::: seealso

Flag: GOING (all types)

The GOING flag is used internally by the MUSH to mark objects which are scheduled for destruction (via @destroy). It cannot be set or cleared manually.

::: seealso

Flag: HALTED (all types)

A HALTED object cannot run its commands. Commands on the object are not even checked. The flag can be set with @halt and cleared with @restart.

::: seealso

Flag: HAVEN (rooms, players)

A HAVEN room prevents people in it from paging each other or using communications channels. This is useful for RP areas where out-of-character communication should be minimized.

A HAVEN player cannot be paged. They can still use channels and receive pages that they’ve requested with the “page/request” command.

::: seealso

Flag: INHERIT (all types)

The INHERIT flag is used internally by the MUSH. It cannot be set or cleared manually.

Flag: JUMP_OK (rooms)

If a room is set JUMP_OK, anyone can link exits to it, if they pass its @lock/link. This flag is often used in conjunction with LINK_OK.

::: seealso

Flag: KEEPALIVE (players)

The KEEPALIVE flag prevents you from being automatically disconnected after a period of inactivity.

Flag: LIGHT (all types)

Objects which are set LIGHT show up in the contents list of DARK rooms. They do not, however, show up if they are set DARK themselves.

::: seealso

Flag: LINK_OK (rooms)

If a room is set LINK_OK, anyone can make it their home, if they pass its @lock/link. This flag is often used in conjunction with JUMP_OK.

::: seealso

Flag: MONITOR (players)

When a player is set MONITOR, they receive notification whenever another player or object attempts to page them, even if the page fails (due to the player being HAVEN, for example).

::: seealso

Flag: MYOPIC (players)

A MYOPIC player only sees the flags on objects that they own or control.

Flag: NO_COMMAND (all types)

The NO_COMMAND flag disables the checking of $-commands on an object. The server runs faster when fewer objects are checked for $-commands; thus, any object which does not have $-commands on it should be set NO_COMMAND. The flag has no effect on exits, which are never checked for $-commands.

Players, rooms and things are set NO_COMMAND at creation. The defaults are the player_flags, room_flags and thing_flags config options.

There is also a NO_COMMAND attribute flag, which disables $-command AND ^-listen checking for a single attribute. See attribute flags.

::: seealso

Flag: NOSPOOF (players)

When a player is set NOSPOOF, they see the dbref# and name of the object that triggered any command which generates output to them. This helps prevent objects from impersonating other objects or players.

The NOSPOOF prefix can be customized by setting the @nospoof_message config option.

::: seealso

Flag: OPAQUE (all types)

An OPAQUE object’s flags are not visible to others in its location’s contents list.

Flag: ORPHAN (all types)

The ORPHAN flag marks objects which were owned by a player who has been destroyed. Such objects can be claimed by anyone who passes their @lock/chown.

Flag: PUPPET (things)

A PUPPET thing can be made to perform actions by its owner. For example, if you own a PUPPET named “Robot”, you can make it say “Hello” with the command Robot says, "Hello". You can also use the commands @force, @pemit, and @remit on PUPPETs.

If a PUPPET is also set LISTEN, it will respond to what it hears according to its $-commands.

::: seealso

Flag: QUIET (all types)

This flag suppresses several acknowledgement messages from commands, such as ‘Set’, ‘Triggered’, ‘Teleported’, etc.

A QUIET player hears none of those. A player who is not QUIET still hears none about a QUIET object they own: its & and @set attribute writes, @edit, @parent, @link home, @lock, @power and flag changes. @notify and @drain say nothing when the object running them, or its owner, is QUIET, and @channel/title says nothing to a QUIET player. Three confirmations are never suppressed, as in PennMUSH: “Dropto set.” from @link, “Owner changed.” from @chown, and setting or clearing QUIET itself.

Flag: SAFE (all types)

A SAFE object cannot be destroyed with @destroy. Only a Wizard can remove the SAFE flag. DESTROY_OK takes precedence over SAFE.

::: seealso

Flag: SHARED (exits)

A SHARED exit can be triggered from either end. When someone uses a SHARED exit from its destination, they go to its source. This is useful for creating two-way passages with a single exit.

Flag: STICKY (things, rooms)

When a STICKY thing is dropped, it goes to its home instead of staying in the current location.

When someone leaves a STICKY room through any exit (including @tel), they are sent to their home instead of the exit’s destination.

Flag: TRANSPARENT (exits)

When someone looks at a TRANSPARENT exit, they see the description and contents of the exit’s destination, instead of the exit’s own description.

If the exit is also set CLOUDY, they only see the destination’s description, not its contents.

::: seealso

Flag: UNFINDABLE (all types)

An UNFINDABLE object cannot be found with @find, @search, or locate. Only a Wizard can find UNFINDABLE objects.

::: seealso

Flag: UNINSPECTED (rooms)

This flag has no hardcoded purpose, but may be used by MUSH staff to indicate that a room has not been inspected or approved by staff yet.

Setting and clearing it requires Royalty.

Flag: VERBOSE (all types)

The VERBOSE flag is similar to DEBUG, but shows less information. When an object is set VERBOSE, all command evaluation results will be shown to the object’s owner, in the format:

#dbref! <string to evaluate> => <evaluated string>

Objects run under this flag are computationally expensive, and can generate large amounts of spam, so this flag should only be set when needed, and cleared afterwards.

There’s also a VERBOSE attribute flag, which only affects a single attribute; see attribute flags for more information.

::: seealso

Flag: VISUAL (all types)

A VISUAL object’s attributes can be examined by anyone in its location who passes its @lock/visual. This is often used in conjunction with VERBOSE or DEBUG for debugging.

::: seealso

Flag: WIZARD (players)

The WIZARD flag marks objects with administrative privileges. It is the wizard role: @set <object>=WIZARD assigns the role to the object and @set <object>=!WIZARD removes it, under the rules of @role rank, and hasflag() reports it for anything that holds the role, itself or through its account. See roles flags.

Wizards can:

  • See and modify any object
  • Use restricted commands
  • Override most locks
  • See hidden and dark players
  • Bypass quota restrictions
  • Set restricted flags and powers

With great power comes great responsibility!

::: seealso