Building Tutorial #1

Written by Luigi@8BitMUSH


Summary Of Goals

In this tutorial, you will be taught how to build and decorate rooms and exits, as well as fix, and destroy exits.

 

1. Introduction

A MUSH (or MUX) world is made up of four things: Rooms, exits, objects, and players.

 

On a MUSH, you connect and take on the role of a player. At any given point, the player is always located in one single room. Inside of that room can be various other objects and players. Lastly, you can move from the room you are standing in to another room by typing in the name of one of the exits in that room. For example, suppose you typed “look” in a room and saw this:

 

Living Room

A bright magenta room. The ceiling is really high up, and a small circle of glass in it follows the earth all day and night, serving as a sort of odd clock. There is a circular sofa surrounding the whole circular room, and it is deep purple with an embroidered golden "Universe". On the walls are paintings in gold frames and purple mats. Just a few of them are entitled "World" "Doomsday" and "Earth Ping-Pong". There are many doors scattered all around the room. A giant pole in the center of the room holds row upon row of books with poetic names like "White Bonnet." The carpet has a spiral pattern of purple, magenta, and gold.

Contents:

Sub Machine Gun

Oyster

Obvious exits:

Bedroom    Out

 

In this example, the “Living Room” is the name of the room you are currently standing. A “Sub Machine Gun” and “Oyster” are the objects currently located in this room. There are two exits leading out of this room, “Bedroom”, and “Out”.

 

2. DBREFs, @DIG, And Decorating Rooms

Before you begin to build your own areas, you should have a firm understanding of DBREFs (database references). Every exit, room, player, and object in a MUSH has a unique number known as a DBREF. DBREFs have a # character before them, and look like this: #1234. We will get back to their usage in a moment.

 

Let’s start by decorating our first room. On 8bitMUSH, if you type “home” you will find yourself in the first room of your lot. This room is owned by you, therefore you can change it, and add exits (that lead to new rooms) onto it. Until you modify it, your lot will look something like this:

 

Slappy's Land(#19436Rn)

An empty piece of land with a small mailbox in the front. Nearby neighborhood streets are alive with the sounds of children and the birds are singing in the tree tops.

Contents:

Slappy's Mailbox

Obvious exits:

out 

 

A room consists of two main pieces of information, the name, and the description. The name of this lot is “Slappy’s Land”, and the description is “An empty piece of land with a small mailbox in the front. Nearby neighborhood streets are alive with the sounds of children and the birds are singing in the tree tops.”.

 

To change the name of a room, you can use the command @NAME.

For example: @name here=Slappy’s Stinky House would change the name to “Slappy’s Stinky House”.

 

To change the description, you can use the command @DESCRIBE (@DESC for short).

For example: @desc here=A pretty little plot of land with a stinky pile of garbage on it. (The descriptions are going to be kept purposefully short and lame in this tutorial, you’ll want to make yours better of course)

 

Take a look at the name of your lot. In this example, it is “Slappy's Land(#19436Rn)”. Everything from the ( on is shown only to you, the owner of this property. From it we can gather that #19436 is the DBREF of this room. The “Rn” is beyond the scope of this tutorial, and isn’t very important when it comes to building. Knowing the DBREFs of your rooms will become important shortly, so bear with me until then.

 

Now when you look at your land you should see:

Slappy’s Stinky House

A pretty little plot of land with a stinky pile of garbage on it.

Contents:

Slappy's Mailbox

Obvious exits:

out

 

Now that we have our first room described how we want it, let’s add a new room onto it. In adding a new room, we will also add two exits. One exit leading from “Slappy’s Stinky House” to the new room, and one exit leading from the new room back to “Slappy’s Stinky House”.

 

The command we use to make new rooms is @DIG.

The format for @dig is: @dig <room name>=<exit to name(s)>,<exit back name(s)>

 

Let’s run through an example:

 

> @dig Under the Garbage Heap=under;und;un;u;down;d,up;u;out;ou;o;leave;exit;back

Under the Garbage Heap created with room number 18027.

Opened exit #18020

Trying to link...

Linked exit #18020 to #18027

Opened exit #18017

Trying to link...

Linked exit #18017 to #19436

 

In the above command, we created a new room named “Under the Garbage Heap”, with an exit leading to it named “under”, and an exit leading from it named “out”.

 

We also gave “under” and “out” a bunch of `aliases`, or alternate names that people could type to go through them. You can have as many aliases as you want, by separating them with a semi-colon. Only the first name of the exit will appear in the “Obvious exits:” list.

 

Our first room should look like this now:

Slappy’s Stinky House

A pretty little plot of land with a stinky pile of garbage on it.

Contents:

Slappy's Mailbox

Obvious exits:

out  under

 

If we type “under” we’ll walk to our new room:

 

Under the Garbage Heap(#13432Rn)

Obvious exits:

out

 

Typing “out” brings us back to our first room, “Slappy’s Stinky House”.

 

When standing in our new room, “Under the Garbage Heap”, you will want to @DESC the room as we did before. So something like:

@desc here=A rotting pile of garbage.

 

3. Decorating Exits

 

Now, before you go crazy and start building your 50-room super-maze, we should talk about exits. Exits, such as the “out” and “under” you just made, can be decorated just like rooms can.

 

You can @NAME exits something new. Remember to separate the different aliases with a semi-colon.

Example: @name out=out;ou;o;leave;exit

 

You can also @DESC exits, so that when someone looks at them they see what you described it as.

Example: @desc out=You see the front lawn of the house. There is a pile of rotting garbage on it.

 

Besides the @DESC, there are also three other messages you should consider setting: @SUCC, @OSUCC, and @ODROP.

 

The most important of these is the @SUCC. @SUCC is the message shown to a person as they go through an exit. For example, if you set this on an exit named “under” (like we created in section 2)..

@succ under=You climb under the garbage pile.

 

..Then when you typed “under” to go through the exit, you would see “You climb under the garbage pile.” before it brought you to the new room.


Example:

Slappy’s Stinky House

A pretty little plot of land with a stinky pile of garbage on it.

Contents:

Slappy's Mailbox

Obvious exits:

out  under

> under
You climb under the garbage pile.
Under the Garbage Heap(#13432Rn)

A rotting pile of garbage.

Obvious exits:

out

 

@SUCC messages are the most important simply because they are seen the most. If you are going to be a top class builder, however, you will want to also pay attention to @DESC (described above), and the @OSUCC and @ODROP (described below):

 

@OSUCC is the message shown when you go through an exit to the other people in the room (everyone but the person going through the exit). It places the name of the person going through the exit before the message set in the @OSUCC. For example:

@osucc out=leaves the garbage heap and heads back to the front lawn.

 

This tells the exit to show “<person> leaves the garbage heap and heads back to the front lawn.” to people in the room when someone leaves through the exit. So if a player named Jimbo left while I was standing in that room, I would see:
Jimbo leaves the garbage heap and heads back to the front lawn.

 

The last message you can (and should) set on exits is the @ODROP. It is just like the @osucc, in that it is shown to everyone but the person actually going through the exit, and it puts the name of the person before the message. However, unlike the @osucc (which is shown to people in the room they are leaving), the @odrop is shown to the room the person is walking to. Example:

@odrop out=walks over from the garbage pile.

 

Here’s a summary of what you can (and should) set on exits:

@DESC

            @desc <exit>=<What they see when they look at the exit>

            Ex: @desc east=You see a field of poppies to the east.

@SUCC

            @succ <exit>=<Message shown to a person when they go through>

            Ex: @succ east=You walk east and arrive in a field of poppies.
@OSUCC

            @osucc <exit>=<Message shown to other people in the room the person is leaving, with the player’s name in front>

            Ex: @osucc east=walks to the east.

@ODROP

            @odrop <exit>=<Message shown to other people in the room the person is arriving in, with the player’s name in front>

            Ex: @odrop east=walks over from the west.

 

4. Making And Destroying Exits, And Changing Exits

Remember that DBREF thing I was talking about above? If not, go back and review. In this section we will begin using DBREFs.

 

Sometimes you don’t want to build a new room, just an exit. Maybe you have three rooms built, and you want the people visiting your area to be able to walk to any of the three rooms from any of the other three rooms. Since @DIG only allows you to specify an exit there and an exit back, this presents a problem.

 

You can use @OPEN to create an exit. The syntax is @open <exit name(s)>=<room dbref>. So for example:
@open north;n=#1234

 

This would create a new exit named “north” (with an alias “n”), from whatever room we are currently standing in, to room #1234 (remember, #1234 is a DBREF).

 

If you need to change where an exit points to, you can use the @LINK command. Its syntax is “@link <exit>=<room dbref>”. For example:

@link north=#1235

 

Lastly, if you want to destroy an exit, you can use the @DESTROY command:
@destroy north

@destroy north

 

You’ll want to type it twice. You can also @DESTROY rooms in this manner. When dealing with rooms, you can use “here” instead of the DBREF to refer to the room you are currently standing in. Like so:

@destroy here

 

5. Handling Disconnected Rooms, @Dig Without Exits, Teleporting

If the game sends you a message that looks something like this:
You own a disconnected room, Picture Room Parent(#8622R)

You own a disconnected room, Ansi Description Wizard(#9422RIWN)

You own a disconnected room, Connect Reg(#10473RWnyN)

You own a disconnected room, Spring Cleanup Wizard(#14325RW)

 

It means that a room you have created has no exits in it. If you need to get to that room you can use “@teleport <room dbref>” (@tel for short). You will then want to @open an exit somewhere, or @destroy the room (or type “@set here=floating”, if it is supposed to be exit-less).

 

If for some reason you want to create an exit-less room, you can use the @DIG command without providing the equals sign or the arguments after the equals. For example:

@dig Some room out in the middle of no where

 

@TELEPORT also becomes useful if you are building a large area, and don’t want to walk everywhere.

 

6. Conclusion

Building is very simple once you get the hang of it. The real work comes into play when you start writing your descriptions and exit messages. It’s one thing to know how to build an area, it’s another to make the area interesting to read and explore. Good luck!

(Want to learn more? See Building Tutorial #2)