Build Guide

From Safe Haven Harbor
Jump to navigation Jump to search

Awaiting Edits. Not Final.

Putting in a Build Request


Submitting a build request is a relatively painless process. Here are a few things you should put in your +req/build request:

  • The name of your build, like 'Small House' or 'Rundown Mansion'.
  • How many rooms you'll be needing. Each character is allowed five (5) rooms on the game. If the character is a native, they get an extra room as a hideout, if they wish, that can be located anywhere on the grid. Bedrooms, because they're considered a private room, are not included in the total number of rooms. They're considered a free extra room.
  • How the rooms link to each other and what they'll be called.
  • Where on the +map you want to be linked. Please take note of which areas are within the SafeZone and which are not. There are also apartments on the grid, located in the SafeZone, which we are encouraging players to make use of.
  • Characters can have combined projects, as well. Each character has five room that can be contributed to the shared build. However, not all five of their rooms needs to be built.
  • Islands are also available, but keep in mind that these are meant to be small and in most cases will not be safe or guarded.


+req/build Old Cottage=I would like to build a three room project called Old Cottage and have it linked to SH02. The rooms are: Front Yard, Main Room and Backyard.


Rooms on the grid should all look uniform. With that in mind, Building Staff have a few things they would like to see done in each build:

  • Formatting for room @desc. Room @desc begin with %r%t, have %r%r%t between paragraphs, and end with %r.
  • Exit @desc. There is no specific formatting, but every exit needs to have an @desc, even if it's set hidden, or transparent.
  • Attributes on exits. All exits should have attributes set on them (osucc, succ, odrop, ofail and fail). Information on how to set these and what each does is further down the page.

Clean Descriptions

  • Please try to spellcheck everything. It's always noticeable if someone doesn't check over their description for typos. There are even handy spellcheckers online that can help:
  • If you're having trouble with an @desc, ask a friend to help you out, or speak with Building Staff to see what suggestions they might make on it. Descriptions don't need to be five paragraphs long, describing every little detail of a room. Sometimes the best @desc is a short one that has all the important details in it.


When requesting rooms for a project, please try to keep things reasonable. Everyone gets excited about a potential project and all the little things they'd like added to it. But rooms such as a closet or a bathroom might not be the best use of the number of rooms each character is allowed. Remember, these rooms should see RP on a regular basis. That being said, if you're building something like a bathhouse, then a bathroom is something that you'd very much need built! Also keep in mind that even though you're allowed five rooms, or more than that with combined rooms from various players, not all of those rooms need to be built. Keep some of those rooms free, in case you need something built in the future.


Room descs need to be set up in a particular way, so that all rooms on the grid have a similar look. It also makes for easier reading when entering a new room on the grid. The beginning of an @desc will have %r%t, have %r%r%t between paragraphs, and have %r at the end. Essentially, they will look something like this:

@desc here=%r%tThe main floor of the small house actually looks larger then it actually is. The open concept allows for light to shine in through all the windows and a clear view from the front of the house, to the back. The living room is set up so that it's inviting and comfortable, the furniture centered around the stone fireplace.%r%r%tThe kitchen has been re-done in the last few months, the granite counters a dark grey and kept clean of any litter. The appliances are all stainless steel, looking brand new and rarely used.%r%r%tA short hallway leads down toward the bedrooms, while French doors open to a fenced in backyard.%r


Building Staff encourages the use of +views in build projects. These serve a great purpose. Not only can you add detail to a room, like describing a piece of artwork, you can use +views to add descriptions for rooms that aren't actually built. For most people, a room description that comes up as a block of text with multiple paragraphs is a little too much to read. Three paragraphs is usually the limit of what people will want to read. +views allow you to add more description that players can look at as they want, without spamming it across their screen all at once.

+view here/Dining Room=The room is large enough for an antique mahogany table and the eight chairs that surround it. The bay window overlooks the backyard, allowing a clear view of the gardens that are full of blooming plants. A deep Merlot has been added to the walls of the dining room, complimenting the dark furniture and hardwood floor.


Room names are easily changed, so if you have a room name that you'd like to change and would rather not wait for Building Staff to do it, it's a simple fix. The important thing to remember is the formatting of the room name. The name of the room, such as Living Room, would come first, while the name of the project, like Old Home, would come second. So it would look like this: Living Room - Old Home. Setting the name on a room is a simple thing to do:

@name here=Living Room - Old Home

If at any time you're stuck on something, or not sure of a room name, feel free to speak with Building Staff, or add something to your +job.


Exits are, obviously, an important feature when it comes to building. They almost always come in pairs, with one leading in and its partner leading out. We require descriptions to be added to exits, much like we do for the room of a project. These do not need to be long descriptions for most cases. Normally, one is just looking at a door. In some cases, the exit description is used to describe the entire building that it leads into. Like a room description, @desc is used on an exit:

@desc <exit alias>=<description>

Exit Attributes

Here on Safe Haven Harbor, attributes are not automatically set when an exit is set up. So that means they need to be done manually. Some people find them intimidating to set up, but they're not all that difficult once you get the hang out of it.

osucc - What a person in the room sees when someone leaves the room through an exit. Example: '@osucc ch=goes into the carriage house.' What those in the room will see: Megan goes into the carriage house.

succ - What you see when going through an exit. Example: '@succ ch=You go into the carriage house.' What you see: You go into the carriage house.

odrop - What people see in the room you enter. This tells people where you came from. Example: '@odrop ch=comes in from the front yard.' What they see: Megan comes in from the front yard.

ofail - The message people get when someone tries entering an exit that's locked. Example: '@ofail ch=tries opening the carriage house door, but finds it locked.' What they see: Megan tries opening the carriage house door, but finds it locked.

fail - The message that you see when the exit is locked. Example: '@fail ch=The door is locked.' You see: The door is locked.

If at any time you have trouble setting these attributes, or something doesn't make sense, feel free to page Devastation or open a +job for the Build bucket.


Fortunately, exits are easy to put descriptions on. Just @desc the exit name. For example:

@desc out=A wooden door leading to the shop's abattoir.
@desc bedroom=A curtain of purple beads separates the bedroom from the living room.
@desc qf=Quality Foods is an unassuming two-story brick building. The grocery store is open twenty-four hours a day and does brisk business.


Slightly more complicated than room @names or character @names, exit names also contain all the words you type that get you into a room. For example, the very common Out <O> @name is often:

@name out=Out;o;back;exit;leave

We want to be able to let people wander around intuitively if possible, which is why there are so many words that mean 'go outside' on that out exit. The semi-colons are important in the exit @names. Here are some other examples of exit @names:

@name st=Study;st
@name st=Stairs;st;up;upstairs
@name st=Stairs;up;upstairs;stairs;study;st
@name ws=Workshop;ws;work;work shop;shop;down
@name wdw=Winding Driveway;wdw;winding;driveway;drive;winding drive

The code will put the first set of characters after the semi-colon in brackets next to the exit name, so @name st=Study;st will get set as Study <ST>.

Where Is My Stuff?

We all lose track of things.


Sometimes you forget where you put things, like a closet or your horse ranch. That's okay, you can find things you own easily by typing @search. That's it, @search. That pulls up a whole list of things you own - rooms and exits, for example, and in the case of exits, how they relate to rooms. For example:


Apartment N202 - Aleswich Arms(#7326RA)
Apartment;202;apt 202;apartment 202(#7655E) [from Aleswich Arms - North Wing - Second Floor to Apartment N202 - Aleswich Arms(#7326RA)]
Out;o;back;exit;leave;hall;hallway;corridor;corr(#7809E) [from Apartment N202 - Aleswich Arms(#7326RA) to Aleswich Arms - North Wing - Second Floor]


What is an #dbref? It's short for 'database reference'. Everything, everything, everything on the game has a #dbref - the channels you talk on, the rooms you use. A #dbref number can stand in for an @name. While there are many apartments in the game, yours is the only apartment with the dbref #7326. If you're the person in the above example, anyway.

Who cares? It's useful to know if, say, you misname an exit in a manner that makes it difficult to rename using words - like having two exits using 'BR' in the same room. Which can and does happen. You can sub in #dbrefs when necessary, like so:

@name #7984=Out;o;back;exit;leave

It comes in handy sometimes.


Place code is immensely useful for large scenes. It provides a way to filter messages that helps you concentrate on just the people near your character while still being able to watch everyone else. Any public builds, ones where PCs are encouraged to loiter about and RP, are strongly encouraged to have place code set up. (Strongly encouraged in this case means please for the love of whatever entity or non-entity you find most dear, please, please put in place code, we are begging you.)

Place code is great when you have a great big house, too. Instead of building a kitchen, a sitting room, and a dining room off your living room, why not make those areas places in the living room? Why shouldn't the people in the living room be able to see people going into and coming out of the kitchen or maybe overhear them if they're talking loudly enough? Why bother descing entire rooms that are rarely used? Put in places. Please put in places.

The best thing about places, though? You don't have to wait on build staff. And while we obviously are volunteers out trying to help everyone, sometimes it's a lot faster to set up some quick and dirty place code rather than wait for us to get our reading glasses on and oh let me open my spell check and you're missing a %r there, I'll get back to you after I link these five apartments.

The +help files on the game and on the wiki are useful, but we'll just walk through the basics here.

Configuring Places

How many places do you want?

Is it a business establishment like a bar or a cafe? You'll want various booths, tables, stools, or other seats. The more the merrier. You can make some of them small, with maybe three or four people, maximum, but the rest should be considerably bigger.

Are you describing rooms on the main floor of a large house? Just as many as you think you'll use is good. You can have a kitchen, a parlour, and a dining room off your living room. You could have a few room places and a few regular seat places like couches.

The maximum number of places you can have in any location is 10.

Let's say I'm adding places to a cafe. I'd like to have a large counter for people to sit at, a couple of small, intimate places, some booths, and a big squishy couch. I'll configure 6 places.

places/configure <location>/<number of places>
places/configure here/6

So, after typing places/configure here/6 and confirming that was in fact what we meant to do to, we now have places:

A table (#1) has 5 empty places.
A table (#2) has 5 empty places.
A table (#3) has 5 empty places.
A table (#4) has 5 empty places.
A table (#5) has 5 empty places.
A table (#6) has 5 empty places.

Tables are automatic. Tables are the default. We can still have our counter, booths, and big squishy couch. We'll just have to set some of those attributes.

How do you change a place's name or spaces?

All the other attributes will be set using places/set <location> <num>/<item>=<value>. There are a number of things we can set, but the main ones we're gonna use are:

Name: The name of the place, better if lower-case except for proper nouns. (Default: a table)
Spaces: The number of spaces at a place. If set to '0', there is no limit. (Default: 4)
Description: The description of the place. (Default: A table with a couple of chairs)
Say_Prefix: What's added to the use of 'tt' or 'tto' at that place. A comma is automatically added. (Default: At your table)

places/set 1/name=Counter
places/set 2/name=Small Booth
places/set 3/name=Small Table
places/set 4/name=Booth
places/set 5/name=Booth
places/set 6/name=Big Squishy Couch

And now when we type 'places', we get this list:

Counter (#1) has 5 empty places.
Small Booth (#2) has 5 empty places.
Small Table (#3) has 5 empty places.
Booth (#4) has 5 empty places.
Booth (#5) has 5 empty places.
Big Squishy Couch (#6) has 5 empty places.

Let's work on the counter place, which is #1.

places/set 1/spaces=12
places/set 1/description=A long brick counter with a smooth concrete top.
places/set 1/say_prefix=At the counter

Now when we type 'places', 'Counter' looks like this:

Counter (#1) has 12 empty places.

And if we type 'plook 1' to look at place 1, we see:

A long brick counter with a smooth concrete top.
This place has 12 empty places out of 12.

And if we sit at the counter and use the table talk command 'tt', everything we say will be prefixed by 'At the counter,' which is great.

Once you have the basics down, you can configure places pretty fast. Like:

places/set 6/spaces=4
places/set 6/description=A big, squishy orange couch.
places/set 6/say_prefix=On the couch us a place called 'Big, Squishy Couch' with four spots to sit where everything we say to our place with tt will be prefaced with 'On the couch,'. That's cool. Maybe I want more space on the couch. Maybe I want infinite space on the couch. Then I'd type:

places/set 6/spaces=0

and have

Big Squishy Couch (#6) has no limit.

...which is more useful for, say, outdoor golf ranges than couches.

Adding another place

Mistakes happen. Sometimes you realize after the fact that you want your cafe to have a secret petting zoo. You don't have to start over. You can sneak that petting zoo on in as your seventh space.

places/newplace <location>
places/newsplace here

Boom, now there's another table in here. But it's so easy to make it a petting zoo. It's just so easy:

places/set 7/name=Secret Petting Zoo
places/set 7/spaces=0
places/set 7/description=A cleverly hidden petting zoo.
places/set 7/say_prefix=At the petting zoo

And there you go. Type 'places' and now you have a secret petting zoo with no limit.


Unconfiguring Places

Yes, you can undo it.

places/breakdown <location>
places/breakdown here

...will wipe out all the places, while:

places/delplace <location>=<placenum>
places/delplace here=7

...would just remove the seventh place, which in our example was the petting zoo. Health code violations, probably. If there is only one place set, you'll have to use the first command.

Miscellaneous Commands


You can set exits DARK, which means only you will be able to see the exit. Anyone will be able to use the exit so long as they know what to type. This is hella useful for hidden doors to secret rooms. @set <exit>=DARK will do it.


Maybe you have a Brony room in your build and you want to keep it a secret. You probably don't want people looking at +where and seeing Brony Room - Expensive Mansion on the list. No worries, you can set it unfindable! This is good for things like secret sphere hangouts, hidden clubs, and other things not involving magical friendship. Please remember that as the room's owner, you will always, always see your room in your +where list, even if it's unfindable. The command is @set here=UNFINDABLE, or if done from afar (like with a BLDR bit) it would be @set dbref number=unfindable.


Sometimes people crash at your place, or you want to give someone a temporary way to get to a room quickly, or whatever. The ABODE flag lets people @link themselves to a room, which sets the room as their home. Use @set here=ABODE.


Commands for Locks

  • +lock <exit> - Locks an exit at your current location.
  • +lock/add <exit>=<player list> - Clears the listed players to enter, no matter the lock.
  • +lock/remove <exit>=<player list> - Removes listed players from the entry list.
  • +lock/sphere <exit>=<sphere> - Sets an exit to to the given sphere (players must use their sphere and Changing Breeds should use 'Shifter').
  • +unlock <exit> - Unlocks the exit.
  • +unlock/sphere <exit> - Removes the sphere from an exit.

Adding players or a sphere does not lock the exit, it only sets those fields. Make sure to use +lock and +unlock for setting the lock status on an exit.

You must be the owner of the exit or staff to use the above commands. Staff can sphere-lock an exit to any sphere.

Hangouts and the Directory

Coming sometime soon.

And Then...

Have you considered security?