Building

To maintain consistency in the rooms across the grid, there are some guidelines that need to be followed. Any rooms/buildings that do not follow these guidelines will not be linked to the grid.

  1. All rooms must be built in the Building Nexus which is located off of the OCC Lounge, unless they are expanding on something already on-grid.
  2. Once you have your link, go to town. Make certain you @desc your exits. Make certain all exits have @succ, @osucc, and @odrop messages set. Make certain your room descs are spell checked and contain %r and %t at the beginning and %r at the end. Also be careful when naming aliases for exits. For example, the alias 'L' as used frequently for the command 'look'. So avoid having exits such as 'Lobby <L>' or 'Lift <L>'. The alias 'e' is another one to avoid. Help files for @dig and @open are always worth checking (odds are you won't have to use @open).
  3. Be sure that the proper desc/succ/osucc/odrop are on all exits and rooms have messages about +views, places, or custom code. Common naming convention is 'Building: Room - City: Section'. One can clarify with a mention of the floor before the Room, and Apartments can follow the 'Apt: Room - Building - City: Section'. For exits, the <alias> goes after the name.
  4. When using +views, make sure to include that option in your room desc. Let visitors know that there are +views. To maintain consistency, add this to the last line of your desc (or as a @succ) when using +views: %r[center(<< '+view' available >>, 78)] Same goes with 'places' and any funky custom code.
  5. Toss up a +request when your build is done for grid-linkage. It couldn't hurt to have contacted them beforehand if there's a chance the build isn't 'needed'. Exits can be checked with '@check <exit name>' and any bathrooms or closets can be @destroyed. Many a mansion can be covered in just five rooms or fewer.
  6. Try to keep the room desc under 20 lines on a standard setting. For a spammy idea of roughly how long that is, try 'think repeat(x, 1450)'. 16 lines (try 'think repeat(x, 1250)' ) is even nicer.
  7. A few handy functions? season() (returns spring, summer, winter, or fall), weather() (rainstorm, snowstorm, rainfall, snowfall, cloudy, clear, or partially cloudy), daynight() (1 means day, 0 means night), and time-of-day() (midnight, after midnight, dawn, morning, noon, afternoon, dusk, or night).
  • Please Please Please try to keep your room-descs no longer than what is shown below.

Lorem ipsum dolor sit amet consectetuer adipiscing elit. Vestibulum nunc. Nunc lorem nulla tempor hendrerit placerat vel mattis at nibh. Duis sed lorem. Aliquam id urna. Suspendisse eros magna vehicula ut cursus condimentum tincidunt cursus est. Fusce ultricies urna at massa varius mollis. Nunc mauris. Nunc consectetuer. Vivamus ullamcorper euismod quam. Nulla quis lorem. Donec pellentesque scelerisque mi. Pellentesque sagittis suscipit risus. Etiam vestibulum interdum tortor. Etiam nec metus pellentesque enim eleifend viverra. Cras commodo massa sed vehicula varius eros purus ultrices tellus ut malesuada nunc ligula eget est. Cras ultrices odio. Nam rutrum condimentum diam. Suspendisse in sapien. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae Donec eget felis. Duis ultricies orci at ipsum. In diam arcu gravida sed egestas nec tincidunt nec diam. Vivamus facilisis fringilla sem. In hac habitasse platea dictumst. Phasellus semper odio porttitor neque. Vestibulum sit amet ante. Phasellus pharetra commodo eros. Aenean volutpat leo tincidunt placerat tincidunt augue arcu tincidunt quam eget euismod purus justo sit amet turpis. Aliquam erat volutpat. Donec viverra lorem a lectus.

You can cut and paste and 'think' that in-game if you want to know how it'll look.


Tutorial

@dig Maison du Whatever: Front Room - Bangor: Downtown Bangor= Maison du Whatever <MdW>;mdw;maison;whatever;maison du whatever, Out <O>;out;o

The above example digs a room called Maison du Whatever: Front Room - Bangor: Downtown Bangor. At the same time, it opens an exit from where you are into the newly created room, called Maison du Whatever <MdW> , and another exit to where you are from Maison du Whatever: Front Room - Bangor: Downtown Bangor, called Out <O>. Note that the punctuation is very important in this command-line — the equals sign (after the red part in the above example) lets the code know when the room-name ends, the comma (dividing the blue from the green part in the above example) lets the code know where one exit ends and another exit starts. The semicolons define the various exit aliases (that is to say, the shortcut commands one can type to go through the exit).

Once the room and exits are created, you'll want to go in and @desc the room (EG: @desc here=%R%TIt's the front room of a vaguely French house along the western end of Main Street.%R). See the points in the section above for details about room-desc length as well as what's up with the %R %T things.

Each exit requires four attributes:

  • Desc (what one sees when one looks at the exit)
  • Succ (the message sent to someone going through the exit)
  • Osucc (the message sent to the room you're coming from)
  • Odrop (the message sent to the room you're going to)

Each of these are set with an at-sign before the attribute:

  • @desc mdw=Double doors lead into the building.
  • @succ mdw=You head into Maison du Whatever.
  • @osucc mdw=heads into Maison du Whatever.
  • @odrop mdw=comes in from outside.

Note that the @odrop and the @osucc will have the exit-user's name automatically prepended to it, so one will want to phrase it in such a way that it would make sense with a person's name before it. The @osucc allows the folks one just abandoned to know where one just went, while the @odrop will announce where one came from to folks in the room one just entered. On NVM MUX, if one is unsure what sort of phraseology one should use for an exit, try @check <exit name> (EG: @check MdW)

Also note that the @odrop and @osucc are effectively forcing a pose on the person going through the exit. As such, try to not add too much "color" (EG: @odrop mdw=comes into the room with a sense of wonder as they look about the ornate foyer) nor to presume too much (if you have it say the person 'walks' into the room, then it'll cause problems if the character went through the exit in a wheelchair).

If you need to connect two already existing rooms with an exit-pair, you will want to use the @open command.

@open North <N>;n;north= #1234, South <S>;s;south

As you can see, the syntax is very similar to the @dig command. The red part between @open and the equals-sign (in this case, North <N>) is the exit leading from where you are to the target room. The green part after the comma (in this case, South <S>) is the exit leading from the target room back to where you are. The data-base reference number (in this case, #1234) is the number of the target room. When you're in the target room, presuming you own it, you should be able to see its data-base reference number (also called a 'dbref') after the name, in parenthesis, before some letters. EG: Chopsticks - Bangor: Little City(#160RM) would be dbref #160.

One can always destroy things one has created, by way of @destroy <target>, with <target> being a dbref number, an exit name, or 'here' in the case of a room. When one @destroys a room, all exits leading in and out of that room are also destroyed for tidiness sake. It can take a few minutes for a room or exit to actually go away, just in case you typed the wrong target. If you need to stop something from being destroyed in those few minutes: @set <target>=!GOING If you do not undo that in the few minutes, the object, room, or exit is gone forever with no hope of recovery (short of going back to a saved copy of the game from possibly a few days earlier).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License