Celebrating Years and Years of Whimsy and Imagination
Help: Room Hammer v. 1.5

OR “How I Learned to Stop Worrying and Love editroom”

By Xor at SpinDizzy

So, you want to make a new room? It can seem like a big, scary process, if you don’t know what you’re doing. Luckily, you do! Or you will soon, anyhow. Let’s work from the ground up, and show you how to make a whole new room, from scratch!

The first thing you want to do is @dig YOUR ROOM NAME HERE. This creates a new room, floating off in space, and gives you a number, much like Secret Agent Man. You’ll see something like this:
Done.
Test Room created with room number 24742.

That number is the database reference, commonly known as “dbref,” for the room. Specifically, if you add a hashtag before it, to make it #24742, you have the dbref. Consider it the room’s “true name”; from anywhere on the MUCK, you can refer to your new room by its dbref, and the server will know just what you mean. Now, we’ll want to go to our new room, so we’ll make use of the handy Teleport function! In this case, you’d
t #24742
and that’ll put you right in the new room you dug out. But it’s all blank! Oh, no! Let’s fill it up, shall we? And that’s where we use…

editroom

Upon running this command, you’ll see a list of commands not unlike those you see when you run editplayer. To wit:
NUMBER : 24742
1. NAME : ‘Test Room’
2. PROP DESC: ”
3. Room is NOT dark.
4. Throwing is allowed.
5. Linking is NOT allowed.
6. Pets are allowed.
8. Room can NOT change ownership.
9. Room’s parent room is Indoors Environment Room(#62).
10. This room is NOT publically sweepable.
11. Others can NOT set this room as their homes.
12. Edit this room’s exits.
13. Create a new room.
14. Teleport to edit one of your other rooms.

Now, you may be wondering: what happened to Option 7? Ordinarily, that option would give the choice to have the “Obvious exits” field displayed automatically, or not; on SpinDizzy, it’s enabled by default, and that option has been removed. But that aside, let’s go through these fields one-by-one.

NUMBER is merely a reminder of the dbref of the room. Remember to add a # before the number, if you want to refer to the room! Any letters after the number should NOT be added, as they’re only notes on which flags are set on the room (R indicates that it’s a room). We’ll look into that more, later.

NAME is exactly that. You can change the room’s name with this option.

PROP DESC is the description of the room! You can write them in just the same way you did in editplayer. For more information on editplayer, and by extension, the list editor, see this guide.

Room is NOT dark. If a room is “dark,” anyone who does NOT own the room (this does not affect you) can’t see the contents of the room, nor can you run the who-species command. who still works, though. To change this, just select the option; it toggles for you. Note that if you select this option, the D flag will be added to the dbref listed when you look at the room, such as #24742RD. This just reminds you that it’s dark, though; if trying to use the dbref for teleporting or linking, leave off the letters!

Throwing is allowed. To be honest, I can’t figure out what this one does: it doesn’t seem to affect the ability to “throw” objects in and out of rooms. This is the source of the J flag listed next to the dbref.

Linking is NOT allowed. If linking is allowed, others can use the teleport room to teleport into your room. It also means that other people can create exits that lead to your room. This sets the L flag on the room.

Pets are allowed. Currently, this function does not work; it’s based on a program which is not installed on SpinDizzy. Ideally, it should prevent zombies from entering the room, but it doesn’t — for that, @set here=Z

Room can NOT change ownership. This sets the C flag on the room, which means someone can @chown the room — and become its owner. A room can only have one owner, so don’t go setting this willy-nilly!

Room’s parent room is … A child room inherits certain “properties” of its parent room. For a basic room, the important thing to know is whether you want it to have the features of an “outdoor” room — which will talk about weather, and what the sun or moon is doing — an “indoor” room, or a “null” room. For OUTDOOR, give the dbref #61; for INDOOR, #62; for NULL, #63.

This room is NOT publically sweepable. By default, only you can sweep a room: this gets rid of anyone who’s been asleep for more than n minutes; the command can be used individually on sleeping puppets, as well. (The room owner can also sweep irritating people, if need be.) If you change this setting, other people can ALSO sweep sleeping — but not annoying — people.

Others can NOT set this room as their homes. If you change this setting, other people can @link me=here, and make your house a home. This sets the A flag on your room.

Edit this room’s exits. This opens a submenu, addressed below.

Create a new room. Equivalent to the @dig command.

Teleport to edit one of your other rooms. Equivalent to the teleport command.

Editing Exits

When you choose option 12 (Edit this room’s exits.) on the editroom menu, you’re directed to the exit-editing submenu. Just like before, we’ll go over the options, one-by-one. First, you’ll want to create a new action, by choosing option 1. Then, you’ll choose option 1 again (since that’s the only exit currently available) to edit your new exit, currently named “new action.” NOTE: This has a dbref of its own, because — just like your room — it’s an object. But rather than having the R flag, it has the E flag.

NAMES refers to what people can type in to use your exit. Let’s say you want to make an exit leading out. You type in a string of all the commands you want to lead someone “out,” separated by semicolons. The first name in the list is the one that will be displayed in the Obvious Exits list. For example: [O]ut;out;o would allow people to type “[o]ut,” “out,” or “o” to exit the room. Putting a letter in brackets suggests to the viewer to type that letter.

Action is NOT invisible. This is the inverse of “Room is NOT dark,” so to speak. If you set the action invisible, that action will be set dark: it won’t be displayed in the list of “obvious exits.” This sets the D flag, as you might have figured out.

Broadcasting is NOT enabled. If you enable broadcasting, people in the room to which your exit links will see whatever’s going on in the room you’re in. Use sparingly!

Exit is NOT locked. With this, you can control who can use the exit. For more information on locking, check out Jessy’s excellent MUCK manual.

When used, user sees nothing. What do you want to see when you use the exit? Other people will see it when they use the exit, but the rest of the room will not. If, for example, you put in You open the door. then when someone uses the exit, they will see exactly that.

When used, other see nothing. This is the other side of that coin. If set to something like opens the door. then the REST of the room will see, “Name opens the door.”

When locked, user sees nothing. and When locked, others see nothing. See the above, but this is what is displayed when they try and fail to use the exit.

When done, others see nothing. This is the message displayed to the target room when the person uses the exit and ends up there.

Exit is linked to nothing. This is where you put in the dbref of the room you want people to go to when they used the exit! If you don’t own that room, and it’s not set L, politely ask that the room owner consider setting it as such.

And that’s it for the basics! If you’d like more detailed information on building, look into BunnyHugger’s building class, helpfully linked in five parts:
first class, covers the basic TYPEs of objects on the MUCK as well as FLAGs.
second class, covers @linking, @success and @failure messages, and a bit on the public MUF library.
third class, covers @locks, zombies, and @register.
fourth class, covers rooms and the environment tree
fifth class, covers using public MUFs to provide atmosphere, and some tips for good building practices.

Special thanks to Azure for helping with the section on exit broadcasting, and to GreenKai and Fayth for helping with the section on pets.