Building guide

From ChatMUD Wiki
Jump to: navigation, search

This article is meant to serve as a summary of the commands and resources builders have available to them. Relevant help files will be mentioned as well, in case a player wants more information. There will be little or no references to programming. There will be no discussion about specific player creations. There will also be no discussion about features that are not part of the default player's feature set.

Contents

Conventions[edit]

Text you type is in monospaced font, and often proceeded by the word "command:". For example, type:

@describe here as This is a beautiful room.

Text in italic type denotes a placeholder for something you would type, usually an object. You may use a pronoun, an object number, or the name of an object you are holding or that is in the current room with you. AN object can also refer to a player.

Sample output is displayed in long quotation format, such as:

Player's Room

You see Player sleeping here.

You can go south.

Your First Room: Welcome to ChatMud[edit]

You start in this room. The room comes predescribed with a summary of important useful commands. Feel free to look at them. If you have already changed the room description, use

help introduction

to review the commands. This section will show you how to personalize this room, and how to customize other objects you create in the future.

Me is here: Pronouns to know[edit]

Many of these commands are in the form of "verb object to object". For example, "@rename object to newname" will rename "object" to "newname". For objects you are holding, you can use a word from the object's name. There are some objects that you will want to manipulate that you cannot hold, and they can often be accessed via special words. The most common ones are below. Examples of when they are commonly used are used throughout the guide.

  • Me: the player typing the command
  • here: the room the player is in
  • area: the area containing the room with the player

Changing Names: The @rename Command[edit]

Command: @rename object to newname

This changes the name of something. Most frequently you will use it to change the name of the room you are in; use the command @rename here to newname to do this. You can also change the name of objects you hold. You cannot change your own name unless you ask an administrator.

Looking at things: The Look Command[edit]

Command: l object

This allows you to read the description of objects, rooms, and other players. For example, typing "l here" will look at the room. Typing "l me" will look at yourself. If you haven't set a description, your default description hints that you should type "@describe me as" to do it.

Describing things: The @describe Command[edit]

Command: @describe object as description

This command allows you to change the description of an object, which is displayed when you look at it. You start out with no description at all, so you can type

@describe me as text

to describe yourself. You can also describe the room and any objects you create this way.

Setting ambient messages: The @ambience command[edit]

Command: @ambience

To add a bit more atmosphere to your room, you can set it up to display messages to everyone in it periodically. You can also set the messages to occur at irregular intervals by setting the chance to something less than 100%. For example, you might use the ambience feature in a room with a fire, to show the fire flickering or firewood snapping every so often.

(Advanced) Setting Messages on things: The @messages Command[edit]

Command: @messages object

If you want even more customization options, you can change the default messages on objects you own, including yourself. The @messages command will display the available messages for the object you specify. To change a message, simply replace the text after the word "is" with the message you want. For example, by typing @messages here, I receive the following output:

@ground here isn't set.

@who_location here is "%T"

@victim_ejection here is "You have been expelled from %i by %n."

@ejection here is "You expel %d from %i."

@oejection here is "%N unceremoniously %{!expels} %d from %i."

If I want to change the ground message of this room, which is the word that represents the floor, I could type

@ground here is the soft wooden floor

Messages for rooms, objects, and players are all different. Messages can also be set on exits and areas. For more information about messages, such as how to add correct pronouns to them, type help @messages.

A new feature meant to extend the flexibility of messages even further is currently being finalized, and it is called cues. Cues support more complex interactions including playing audio along with your messages. See the cues section for more information.

Creating and destroying Things[edit]

You have a room, and you described it, but it's totally empty apart from you, and maybe some other players who came to say hi. Let's fix that!

Your Next Room: The @dig and @del Commands[edit]

Commands: @dig direction to new room name

Command: @del exit

By using the @dig command, you can make a new room that connects to this one in the given direction. The exit, new room, and an exit returning back to the current room are all created, assuming the exit was one of the standard compass directions (n, e, s, w, ne, se, sw, or nw), up, or down. If it is not one of these directions, you will only make a single exit, and can create the return exit yourself.

You can also create nonstandard exits, such as an exit that leads outside. If you want to create the return exit at the same time, use a syntax similar to this:

@dig inside|outside to front porch


You can also use @dig to create an exit to an already existing room. To do so, you need to know the room number of the destination room. Then simply replace the new room name with this room number to create the link. For example, you may know that the living room is #840. Then you could type

@dig e to #840

to make an east exit to that room. This would add the east exit to the current room, and the west exit back to the living room. ChatMUD will warn you about any exit conflicts, such as if the living room already had a west exit going somewhere else. To disconnect a room, use the @del command followed by the exit you want to delete. Both the exit in the current room, and the reverse exit, are deleted, but all rooms stay intact.

A door into your Room: the @door and @undoor Commands[edit]

Command: @door exit as door name

Command: @undoor exit

Command: @door-c exit

For decorative purposes, you can attach doors to your exits. For example, you might attach a wooden door to your east exit by typing

@door e as a wooden door

You can remove the door in a similar manner. To configure the door, use the @door-c command, which opens a menu of options. These are:

  • Key: lets you set up a key for the door which you need to be holding in order to unlock the door, via the unlock command.
  • Autoopen: Sets whether moving in the direction of a closed door will cause it to automatically open, so that you walk through into the next room.
  • Autolock: Sets whether the door automatically locks when closed.
  • Autoclose: Sets whether the door automatically closes after it has been opened, and how long it remains open before automatically closing.
  • Transparent when closed: Sets whether people can see through a closed door into the next room when looking in that direction.
  • Group: An advanced option that lets you open many doors all at once with one key.


Details to attend to: the @add-detail and @delete-detail commands[edit]

Command: @add-detail

Command: @edit-detail name

Command: @remove-detail name

For simple additions to your room that you don't want to be picked up, you can add room details. There is a limited set of things one can do with details: they can be looked at, sat on, stood up from, lay on, and have socials perform on them. Unlike other objects, they cannot be picked up, dropped, or interacted with in other ways. The @add-detail command opens up a step-by-step process asking you how you want your detail set up; the prompts are self-explanitory. The @edit-detail command lets you modify the settings for your detail, as well as set custom messages for it. The @remove-detail command lets you get rid of a detail you have made.

Objects to mess with: The @create Command[edit]

Command: @create existing-object called new-object

Creating objects is always done by deriving from an existing object. There are some stock objects that you can derive from, as well as custom player creations that you can make copies of for yourself.

Some common existing objects to use as base objects:

  • $thing: A generic thing. Some basic things can be done to it, such as getting it, dropping it, bolting and unbolting it to a certain room. You would have to program it in order to give it more capabilities.
  • $furniture: A piece of furniture. It can be sat or lain on.
  • $container: A container. You can look in it, put things in it, get things out of it.
  • $table: a table. You can put things on or take things from it, similar to a container.
  • $food: A piece of food. It has custom messages for when someone eats it.

For example:

@create $food called a cheeseburger

The Player Creations Database[edit]

"Only four objects to create," you are asking in dismay. Not true! By typing @creations, you can see a list of objects that the community has created for you to duplicate. Instead of using $ before the object's name, use a %, such as

@create %spinner called my own fidget spinner

Most of these objects have commands you can use on them; type examine followed by the object's name to see if there are any obvious verbs. If one of them is help, you are in luck as the creator wrote help for the object. Otherwise, you'll just have to experiment with the other verbs you see for it.

Memory Joggers: The @remember and @forget Commands[edit]

Command: @remember object as text

Command: @forget text

The @remember command allows you to refer to an object by an easily remembered mnemonic, and this means that you can refer to the object by the mnemonic when you aren't holding it. To forget the mnemonic, use the @forget command.

Picking up and dropping things: The Get, drop, and bolt commands[edit]

Command: get / drop / bolt / unbolt <object>

If you are holding an object, you can drop it to place it on the ground in your current room. If you bolt it instead, you will drop it in the room and also prevent anyone, including yourself, from picking it up unless it is unbolted. You must own both the object and the room you are standing in to bolt objects. Only the object's owner can unbolt it. TO pick an unbolted object off the ground, use the get command.

Getting Rid of things: The @recycle Command[edit]

Command: @recycle object

Command: @restore

This command destroys an object. You will be asked to confirm that you want it recycled. Recycling objects keeps the database less bloated and also saves it from fragmentation, which over a long period, can slow it down. If you are fast enough, you can get your recycled object back with the @restore command. But with most of these sorts of actions, the quicker you @restore, the more likely you are to get your object back.

Note: If you @recycle a room, the room will be destroyed. All objects that are not players will be moved to the void, which is #-1. All players will be moved into the living room. But remember, recycling a room doesn't recycle anything in the room.

All about Areas[edit]

On ChatMUD, an area is a set of rooms. These are nice if you want to control someone's access to a full set of rooms without configuring each one individually, or if you want to close up an area until you have finished it.

Features exclusive to Areas[edit]

  • Areas can be open or closed.
  • Areas can have a visitors list. People on the list can visit the area when it is closed. Anyone can visit the area while it's open.
  • Areas can have editors, who can describe rooms and create new rooms even if they did not create the area. This is useful for collaborations.
  • Areas can have custom enter and exit messages for when a player moves into or out of the area boundaries.
  • Areas can alert the owner when a player enters or leaves them, or if they tried to and failed to enter.

Setting up an Area: the @Make-Area Command[edit]

Command: @make-area

After making some rooms, you can use the @make-area command to turn them into an area. A wizard will guide you through the process. One thing to note is that all rooms with a direct path from the room you are in will be added to the area, unless you set an area_boundary flag. You can set up a boundary by typing

@flags area_boundary

in the room you want to block off.

After your area is created, you can continue to add new rooms using @dig. Now, the @dig command will automatically place the newly created room in the area.

Setting Area Editors: The @area-editors Command[edit]

Command: @area-editors

This command opens up a menu allowing you to add or delete editors for your area. Editors can describe rooms and room details, but cannot create or delete rooms from an area. Area editors also receive messages when players enter or leave an area if they are set.

Setting Area Visitors: The @area-visitors Command[edit]

Command: @area-visitors

This command lets you add or remove visitors to your area. Visitors can come to the area even if it is closed.

Opening and Closing Areas: The @toggle-area Command[edit]

Command: @toggle-area

This command toggles your area between being open and closed. When closed, only visitors can access it. When open, anyone can.

Setting Entry Point: The @areastart command[edit]

Command: @areastart

The @areastart command sets the room you are standing in as the starting room of your area. By default, a fairly arbitrary room is selected as the starting room. When players use the @go command to go to your area, they will be dropped in whatever is set as the starting room.

Deleting an area: The @del-area Command[edit]

Command: @del-area area

If you just want to start from scratch, you can use the @del-area command along with the name of an area, or simply "area" to delete the area you are currently standing in. As the warning states, all rooms and exits will be deleted and all non-players inside the area will be moved to the void. Players will be dropped in the living room. You cannot undo this easily, so be sure you really want to do it before pulling the plug on an area you worked a lot on.

Cues[edit]

Cues are a new exciting feature set available on ChatMUD to extend the current message system. A cue is made up of a sound and a set of messages, all packaged into a single unit for better organization. They also provide interesting potential for event-based programming chains that are beyond the scope of this guide.

To see if an object has any settable cues, type:

@cues <object>

Right now, most arbitrary objects in ChatMUD don't have any defined cues. Doors and anything that is a child of $thing, such as food, guns, wands or any other object, have a drop_succeeded cue that you can work with. Once you get the name of the cue, such as "drop_succeeded", use the command:

@edit-cue <cue> on <object>

to customize the cue. For example, you might type @edit-cue open on door to edit the open cue on the door (of course, you have to make sure it's the right one, because your area may have multiple doors. If you are not sure, use the object number). Here you can choose to edit the messages (pretty simple), the sound, or cause events to fire. Events allow you to run further custom code when the cue occurs.

If your client supports playing sound, you can use the sound browser from this prompt to browse for a sound you prefer, and it will play with this cue. The pan and volume options let you further customize things, in case you want to simulate something coming from a certain direction or distance. Let your creativity run wild.

Traveling Around and Conversing[edit]

You made an area, you put interesting things like objects and doors into it, and it is polished to perfection. Now you want to visit someone else, or invite someone to visit you. In this section you will learn to move around and communicate with others.

The Living Room: The gather Command[edit]

Command: gather

The common area of ChatMUD is the ChatMUD house. Many objects are there, such as the widescreen TV that displays news, a fireplace, and a chiming grandfather clock. From the living room, you will find a few other rooms, including the kitchen and the game room, the latter of which has social games. To get there, type gather. Feel free to explore around. Note that the house is moderated to make it more newbie friendly. Some of the most common ways to create spam, such as socials and guns, are disabled or heavily limited in the ChatMUD house.

Seeing who's online: The who Command[edit]

Command: who

The who command displays a list of people currently logged in. Next to their name is their idle time (the time since they typed something into the mud), and their title, settable with the title command. There are a few symbols to highlight special community roles such as administrators, patrons, and bots.

Talking to those in Earshot: The say Command[edit]

Command: say text

This sends a message to everyone in the same room as you. It is the most basic form of communication. To learn about other forms of communication such as channels and mail, wait for the upcoming communications guide.

Sending private messages: The tell command[edit]

Command: tell player text

Command: reply text

The tell command lets you start up a private conversation with someone. To send a tell to the last person who sent you a tell, use the reply command to make things a bit easier.

Visiting other players: The @join Command[edit]

Command: @join player

This command lets you jump directly to the room of the requested player. In this way, you can explore a new area, check out other objects, or just converse.

Getting a Guided Tour: the follow Command[edit]

Command: follow player

Command: follow me

The follow command lets you follow a player as they move around. This includes teleporting to other areas, as opposed to walking through exits. To stop following, simply follow yourself.

Rest and Relaxation: The home Command[edit]

Command: home

Command: @sethome

To return to your home, use the home command. You will click your heels thrice, and drop right back into your first room. If you want to change your home to a new room, move to that room and use the @sethome command. This can only be done on rooms you own.

Other informational commands useful to Builders[edit]

  • @quota: You are limited to making 1000 objects, which includes rooms, exits and anything you make with the @create command. This command will tell you how many more objects you can make.
  • @audit <playername>: This allows you to see what objects you or another player owns.
  • @void: Shows what objects are in the void, along with their object numbers. This is useful after deleting an area or recycling a room, as all objects in that room or area are now in the void.
  • @move object to location: Moves an object you own to a location of your choice. For example @move #840 to me would move the object numbered 840 to your inventory, allowing you to take it somewhere else. This is useful for getting objects out of the void.

Conclusion[edit]

And that's that! As you can see, ChatMUD allows for the creation of rich, well-written areas. New objects are being created all the time, allowing you to adorn your areas with an ever-increasing selection of gizmos and doodads. You also know how to visit other players and communicate with them so that you can be inspired to build more, or make friends. Thanks for reading, and look out for the next guide!