MUSHCode Guide
Joining a new MUSH can be intimidating, not only in terms of learning a new game's culture but also simply in terms of learning how to get around! If you are coming to MUSH from a different codebase, or if this is the first MU* you have ever played, the laundry list of commands that are often taken for granted can be tedious to learn. This page is intended to be a helpful guide to a lot of the most common commands we use on game, a quick reference if you are trying to learn the basics.
OOC Communication
OOC
Sends a message prefixed with '[OOC:] $name says,'. Useful for in scene if you want to distinguish between poses that are happening in-character and discussions that are happening out-of-character. OOC also accepts : and ; to OOCly pose.
'ooc Thanks for the scene!' gets:
[OOC:] Hive says, "Thanks for the scene!"
'ooc :can set!' produces:
[OOC:] Hive can set!
'ooc ;'s not sure whose pose it is?' produces:
[OOC:] Hive's not sure whose pose it is?
Please note that many people do not like a lot of OOC chatter during scenes, especially during busy crowd scenes when it can be distracting and break up the flow of the scene! Try to keep an eye on how frequently people around you are using OOC, and respect people's differing tolerance of a lot of chatter during scenes.
Paging
Paging sends a message to one or more players. 'page player=message' or 'page player player player=message' will send your message. 'page message' or 'page =message' without any player specified will send your message to whichever player or players you paged last. Page also accepts : and ; to page-pose messages.
'page Dusk=Would you like to scene?'
'page Hive Shane =;'s ready to go!'
'page Sebastian =:totally wants to RP.'
are all examples of how to send pages.
- Page can also be abbreviated!
'p Dusk=Would you like to scene?'
'p Hive Shane =;'s ready to go!'
'p Sebastian =:totally wants to RP.'
are also acceptable ways to send pages, for the MUSHer on the go.
Simply typing 'page' or the letter 'p' on their own will tell you who the last person you paged was.
Please note that many people do not like to receive pages just for chatter, especially not if they are currently in a scene. Be considerate of how often you are paging people, what kinds of responses you are getting, and what you might be interrupting.
Haven and Page-lock
There are, also, several ways to restrict who can page you!
'@set me=haven' will block all pages from all players; attempts to page you will by default receive a message of '$player is not accepting any pages. Unable to page: $player'. The default message can be changed with '@haven me=<message>' to send to players trying to page you.' '@set me=!haven' will turn off haven.
If you do not wish to block ALL pages, you can block pages selectively using '@lock/page me='. This accepts either a list of players who are ALLOWED to page you or a list of players who are NOT allowed to page you.
'@lock/page me=*Dusk' will set it so that ONLY Dusk can page you; conversely, '@lock/page me=!*Dusk' will set it so that only Dusk can NOT page you.
If you want to block or allow a list of players rather than one:
'@lock/page me=*Lucien|*Dusk|*Anole' will set it so that ONLY Lucien, Dusk, and Anole can page you. '@lock/page me=!*Lucien&!*Dusk&!*Anole' will set it so that ONLY Lucien Dusk, and Anole can NOT page you.
'@lock/page me' will clear any pagelock you have set.
Channels
To join or leave a channel, use: '@chan/on <alias>'; i.e., '@chan/on pub' will turn on public. '@chan/off <alias>' will leave the channel.
Using @chan/off turns the channel off permanently, and also clears settings like channel titles, if you have them set. If you want to, for example, only mute a channel during a scene but intend to return and do not want your title cleared, instead use: '@chan/gag <alias>' to quiet a channel, and '@chan/ungag <alias>' to get messages from it again. Unlike on/off, @chan/gag will automatically ungag a channel for you if you log off.
'@chan/list' shows you a list of all the game channels, and various information such as whether you have it turned on or off, what channel permissions there are, etc.
'@chan/who <alias>' tells you everyone currently listening to a channel, if they are visible.
'@chan/title <alias>=<title>' sets a channel title for you on that specific channel. Titles are the short messages that many people have prefixing their name on channels; i.e., '@chan/title ro=Recreational User' will prefix your name on Roleplay channel with 'Recreational User'.
Mailing
- Mail reading
- @mail lists all messages in your inbox
- @mail # will read a specific message
- @mail/read #-# will read ALL messages matching the given numbers.
- Mail sending
- @mail <player list>=<subject>/<message> will send <message> to all listed players (names should be separated by spaces, e.g., '@mail Dusk Sebastian=IC text message/(TEXT from Hive:) Game night tonight?')
- @mail/fwd <#>=<player-list> will forward a message from your mailbox to the listed player or players. # accepts a number range, e.g., '@mail/fwd 8-10=Lucien Murphy' will forward messages 8, 9, and 10 to Lucien and Murphy.
- Mail reviewing
- @mail/review <player> will list all the messages you have sent to <player>
- @mail/review <player>=# will read the message (or messages, if you give it a number range) that you have sent to <player>.
- @mail/retract <player>=# will delete the message you have sent to player -- this can ONLY be used on unread messages (@mail/review will tell you whether a message is unread.)
- Mail miscellany
- @mail/clear # will mark a given message (or range of messages) for deletion. Messages marked for clearing will be purged either at your next disconnect, or by the command '@mail/purge'. @mail/clear with no argument will clear all messages in the current folder.
- @mail/unclear # will undo @mail/clear. @mail/unclear with no argument will unclear all cleared messages in the current folder.
Bulletin Boards
- Reading bulletin boards
- '+bblist' displays all bulletin boards that you have access to.
- '+bbscan' displays only boards with unread messages, and what message numbers those are.
- '+bbread' scans all bulletin boards that you have access to, and tells you how many messages each contains as well as when each was last posted to.
- '+bbread #' scans a given bulletin board for messages
- '+bbread board#/message#' reads a given message on a bulletin board. e.g., to read message number 2 on the events board (board #4), you would do, '+bbread 4/2'.
- '+bbread board#/u' reads all unread messages on a given board.
- '+bbcatchup #' or '+bbcatchup all' marks all messages on a given board or all messages on all boards as read.
- '+bbnext' automatically reads the next unread message on any board you have access to. (NEW as of 2013.08.11)
- Posting to bulletin boards
- '+bbpost #/<title>' starts a message on the given board with the given title.
- '+bbwrite <text' or '+bb <text>' adds text to a post started with +bbpost.
- '+bbproof' displays a post you have in progress.
- '+bbtoss' discards a message you have in progress.
- '+bbpost' posts a message in progress.
- '+bbpost #/<title>=<text>' is a one-line command to post messages more quickly.
- +bbedit <area>=<old>/<new>' will edit a post currently in progress. <area> accepts 'title' or 'text' as valid arguments.
- '+bbedit board#/message@=<old>/<new>' will edit a post you made on a board you have access to.
- BBoard Miscellany
- '+bbremove board#/message#' will remove a message (or range of messages) posted by you to a given bulletin board.
- '+bbmove board#/message# to board#' will move a post by you to a different board.
- '+bbleave #' will unsubscribe to a board you are subscribed to.
- '+bbjoin #' will subscribe to a board, if you have permission to do so.
- '+bbsearch #/<name>' will show you all posts on a given board by a given player.
- '+bbnotify #=on' or '+bbnotify #=off' will turn on or off post notification to a board you subscribe to.
In-Character Communication
- pose (:): Starts off a pose with your name. i.e., 'pose walks into the room.' will pose, 'Hive walks into the room.' ':' is an alias for pose; ':walks into the room."' will produce the same result.
- semipose (;): The same as pose, but omits the leading space. Useful for contractions; i.e., 'semipose 's working on a MUSHcode FAQ.' will pose, 'Hive's working on a MUSHcode FAQ.'. ';' is an alias for semipose.
- say ("): Starts a pose with "$name says, ". i.e., 'say Hi!' will pose, 'Hive says, "Hi!"' (to the others in the room; to you, it will pose, 'You say, "Hi!"'.) '"' is an alias for say.
- @emit (\): Poses your text as-is, with no prefixes. Useful for any pose that you do not want to start with your name! '@emit It is a glorious summer afternoon. Hive is crankyfacing around the park, ignoring the sunshine.' will pose, 'It is a glorious summer afternoon. Hive is crankyfacing around the park, ignoring the sunshine.'. '\' is an alias for @emit.
- @pemit: Poses your text to any object on the MUSH. It works exactly like @emit, but only the objects you specify will see the message.
- @pemit <object>=<message> sends the message. If I want to send 'Hive leans in and whispers, "Jesus Christ, this city."', to Jackson, '@pemit Jackson=Hive leans in and whispers, "Jesus Christ, this city."' will send this message to Jackson and nobody else in the room.
- If you want to pemit to someone not in your room, you need to substitute their dbref# for their name. Alternatively, you can use pmatch(name) if you do not know their object number. '@pemit pmatch(Jackson)=Hive leans in and whispers, "Jesus Christ, this city."' will accomplish the same pose, regardless of whether or not Jackson and Hive are in the same room.
- @pemit also accepts /list as a switch, to send your message to multiple people. '@pemit [pmatch(Jackson)] [pmatch(Dusk)]=Hive leans in and whispers, "Jesus Christ, this city."' will send the pose to both Jackson and Dusk, even if all three are in separate rooms.
Useful Miscellany
- %r will insert a line break into your text; this is useful for breaking up long poses or breaking long descriptions into paragraphs.
- +summon and +join are very useful tools for getting to other people for scenes.
- If you wish to BRING another player TO you, use '+summon <name>'; the player then receives a message telling them you wish them to join you and can choose to accept or reject.
- If you wish to GO to another player, use '+join <name>'; the other player likewise receives a message informing them you wish to join them, and can choose whether to accept or reject.
- Useful commands for knowing who is online and where:
- 'WHO' gives you a list of everyone visible who is online, how long they have been online, and how long they have been idle for.
- '+where' gives you a list of everyone visible who is online and where on the grid they are located.
- '+crowds' gives you only a list of rooms that have two or more people in them, useful for seeing if there are ongoing scenes in public places that you might be able to join.
- +rlook <name> lets you look at another player's description, even if they are not in the same room as you.
- +finger <name> calls up a list of helpful information about a player (to learn how to set all your own finger fields, read 'help finger-setting'.)
- +vet <name> tells you when a character was created.
- +laston <name> tells you the last time a character signed on.
- +monitor allows you to be alerted to log-ons and log-offs of other players.
- '+monitor/add <name>' will add a specific character to the list of characters who you are monitoring
- '+monitor/remove <name>' will remove a character from the list.
- '+monitor/add all' or '+monitor/remove all' will add or remove all players on the game to your monitor list.
- '+monitor/list' will tell you who you currently have monitored.
- @doing is a command that displays a brief message beside your name in the WHO list. '@doing me=<message>' will set your @doing; '@doing me' will clear whatever message you had there previously.
- @set me=XTERM256 will set your client to 256 color mode (Warning! Not supported by all MUSH clients!).