From OtherSpace: Encyclopedia Galactica
Revision as of 02:37, 13 March 2012 by Reode (Talk | contribs) (The How-To)

Jump to: navigation, search

Builders

  • Nantucket
  • Mikage
  • Mreh
  • CutiePie
  • Chiroptera
  • Shadow

Player committee responsible for generating ideas for new RP locations on OtherSpace. To join, type +str/help in game and send a request! To build rooms, you must first be given a builder bit - something like an admin character that you don't RP with. Create a new character and inform a staffer to get the abilities.

Intro

When building on Otherspace, there are two factors that ought to be addressed before anything else: parents and ownership (@parent and @chown).

Parents

Parents are very, very useful! They are simply an object in which you can 'link' a group of rooms. Whatever happens to that parent, happens to the rooms as well, in terms of formatting (ie. colorful borders and such). This also helps with 'zones' as well. Rather than typing, for example, Beach - Pyracan and Grasslands - Pyracan for the name each time, you can simply set 'Pyracan' as the 'zone' and each room will append the name with it.

Existing Parents

When you're building, be sure to consider if your room should be parented according to where it's located. If you're in Comorro, you'll want to use the existing Comorro parent. Existing parents can be located in the Staffer Complex off the OOC Nexus.

When making a new parent, you'll want to parent it to the main 'Otherspace parent - #3'. This has all of the formatting you'll need in a standard OS room. Then, you'll want to parent the new parent to its universe:

  • Basic OS Parent: #3
  • Ancient Expanse (Hiverspace): #33
  • Orion Arm (Normalspace): #333
  • Ships and Stations: #747
  • Palisade/Fastheld: #34

Explore the parent rooms to find the number of an existing planet or area.

Making Parents PRETTY

Check out Room Parents to bedazzle your rooms. There is a Test Room off the Room Parent area. When you're done futzing around, use @decomp here, copy, and paste the stuff you need into the actual parent.

Ownership

When you create an object or room, it's locked to you. You'll want to transfer the ownership to the shared owners:

  • Shared-General: #1000 - Shared Zone Master for General areas.
  • Shared-Expanse: #1001 - Ancient Expanse (Hiverspace)
  • Shared-OA: #1002 - Orion Arm (Normalspace)
  • Shared-PS: #1003 - All things related to Palisade/Fastheld
  • Shared-Space: #1004 - All spacecraft, including stations.
  • Shared-OOC: #1005 - Shared Zone Master for OOC areas.
  • Shared-Test: #1006 - Shared Zone master for Test Rooms. Objects owned by this are editable by anyone, including normal players.


The How-To

Making a Room

@dig <name of room>=<exit to room name>;<exit alias>,<exit from room name>;<exit alias>

For example: @dig Castle=Castle;C,Out;O

If you want a more step-by-step method, type 'help @dig'.

So, move your builder bit to where you want this room to be, enter the above code, then move inside. You'll then want to change the ownership.

@chown here=<number of owner> (listed above)

If the room formatting seems to spaz out, try @set here=!halt. (Something that has do to with SQL, I DUNNO!)

Then, if you know the number of the parent, type @parent here=<parent number>, and it should adopt the formatting of the parent!

If you want a 'floating' room, or a room that's not connected to any existing exits, use @dig/teleport.

Making a Parent

It can be as simple as: @create <name of parent>, then @parent <room> to <parent>, but there's a few guidelines you ought to follow, courtesy of Coyote.

1) Room Parents. A newly created room will use the Room Ancestor, #3, with the default formatting. If you're making a custom format for an area, @create an object to serve as a Room Parent, put the formatting on the object itself, and then @parent all the rooms in the area to that object.

Room parents should be placed in the Room Parent Storage Area, which is accessible from the Staffer Office Complex.

2) Parent Chains. The room header now shows which 'Region' the room falls under. The two main regions are 'Ancient Expanse' (aka Hiverspace) and 'Orion Arm' (aka Normalspace). If the zone you're formatting falls under an existing region, make sure to @parent your object to the existing parent for that region. The AE parent is #33, the OA parent is #333, and the Palisade parent is #34. You can also parent one object to another, as long as the chain links back to the appropriate region in the end.

Each of those regions has its own storage room. Put your parents in the appropriate one, and @name the parent object to reflect any areas or sub-areas. I've already done this with some existing parents; so for example you have "Ancient Expanse: Materi Syna: New Resilience" as the New Resilience parent, which is parented to the Materi Syna parent, which is parented to the Ancient Expanse parent. It's spammy, but keeps them organized and easily available.

3) Zoning Areas. The zone information goes in a zone attribute on the room parent - not in the room name itself. This means, for example, that if the room in question is 'Popular Tavern - Capital City - My Planet' then the room itself should simply be @named 'Popular Tavern'. The rest should be put into a &zone attribute on the parent object, listed from smallest to largest.

Most list functions require a single-character delimiter, so " - " won't work for that, and "-" could potentially (if rarely) show up in an area name. I'm going to make a judgement call on this and use a semicolon ";"

This means you should &zone <room/object>= Capital City; My Planet

4) Aim for Succinct. With Name, Zone, Region, and so on, it can easily get excessive. Try to keep room and zone names at two or three words each (the display expands to fit the looker's screen, but the default width of 80 characters leaves 30 for the central column it starts wrapping around). Ideally, you'd only need one zone level, but aim for one or two. If you have multiple short zones, you can combine them (i.e. Eiru, Pyracan) into a single level in the room header, but it can still be overly long on the Where list.

5) Formatting Zone Names. Do your formatting in the FORMAT`ZONE attribute, not in the zone name itself. For example, if you wanted <Capital City> with brackets, you should use &FORMAT`ZONE <parent>=<%0> and &ZONE <parent>=Capital City. (%0 will be replaced with the Zone attribute in the room desc.)

This way the zone can show up however you like in the room, while still showing up in a standardized format in things like the WHERE list.

6) Be aware of Naming Masks. The Where list checks for a DESC`MASK attribute on the room, and if present, will use that instead of the default name-zone format. This is useful if you want to make a location private or secret from the where list - for example a location like "Living Room; John's House; Eiru, Pyracan" could show up as "Living Room - Private Residence" on the where list. Try not to overuse this feature, though, as the where list exists so that people can find places to RP.

Handy Code

@search name=<keyword> - If you're looking for a specifically named room.

Since most rooms won't have the zones in the actual names, due to parents, you'll probably want to use:

think children(<number of parent>) - This lists all of the numbers of the rooms parented to it.

If you want to do something to a bunch of rooms at once (say, parent them all to one object) you'll want to use a @dolist.

@recycle <number> - Schedules something you've created for destruction.

@undestroy <number> - Cancels destruction.

@create <name of thing> - This creates an object which you can 'drop' in a room, and people can 'look' at it.

@set <number>=TITLE:<title> - Sets the title on a parent. Typical titles include ship, station, planet, etc.

If you're searching for a list of dbrefs (numbers) matching the same keyword, try:

think lsearch(all, rooms, <keyword>)

This is particular handy for @dolists - commands that handle multiple dbrefs at once. Say if you wanted to parent a bunch of rooms to one parent:

@dolist <list of dbrefs seperated by spaces>=@parent ##=<parent dbref>

So...

@dolist #5751 #5760 #29109 #29110=@parent ##=#28991