From OtherSpace: Encyclopedia Galactica
Jump to: navigation, search
m (List of Notable Room Parents)
m (Borders)
 
Line 117: Line 117:
 
By default, the top border displays above the header, the middle border between the header and room body, and the bottom border beneath the room body. The left and right borders, if set, will display on either side of the Header and Body. The center border, if set, will display twice between the cells of the Header.
 
By default, the top border displays above the header, the middle border between the header and room body, and the bottom border beneath the room body. The left and right borders, if set, will display on either side of the Header and Body. The center border, if set, will display twice between the cells of the Header.
  
You can also display borders manually in a desc, using the FUN`BAR function ([u(FUN`BAR,<DIRECTION>)].
+
You can also display borders manually in a desc, using the FUN`BAR function ('''[u(FUN`BAR,<DIRECTION>)]''').
  
 
===Colors===
 
===Colors===

Latest revision as of 18:57, 23 March 2012

Otherspace uses a custom room parent with lots of configurable options. These can be changed on a per-room basis by setting attributes directly on the room, or across a group of rooms using parenting chains.

Information For Players

There are a few options you can set on your character to customize how the room displays.

  • PREFS`HEADER
Set to 'Single' to display a one-line header, otherwise displays multi-line header.
  • PREFS`CONTENTS
Set to 'Vertical' to display contents and exits in two columns. Otherwise displays them horizontally.
  • PREFS`MAX_OBJECTS
Set to manually determine how many objects will show in a room before you get a summary instead.

Information For Builders

Editing a Room or Room Parent requires some basic understanding of PennMUSH Attributes and Attribute Trees. You also need to be comfortable with the EXAMINE command and with ANSI color codes, as well as possibly U-Functions.

Everything listed on this page is set as an attribute on the room or parent. You can do this with any of the following command:

&<attribute> <object> = <value>
@_<attribute> <object> = <value>
@set <object> = <attribute>:<value>

So, if you're in the Test Room, and you want top border made of bright red x's you'd type:

&BORDER`COLOR_T here=r
&BORDER`STRING_T here=x

If you want to create a custom format but it seems overwhelming, start simple. Experiment with custom borders and coloring, then maybe element formats. You might not ever need the more advanced options.

List of Notable Room Parents

When setting up rooms, most of the time you're going to be working within an existing region rather than starting from scratch. Set up your room parent object, and then parent it to whichever of these seems most appropriate.

  • #3 - Basic Room Parent, which all rooms are parented to by default.
  • #33 - Ancient Expanse Room Parent, currently identical to the basic parent.
  • #34 - Palisade Room Parent, with the Chiarascuro color scheme.
  • #333 - Orion Arm Room Parent, with the NSV1 Color Scheme.

For example, if you're working on an area in the Ancient Expanse, you would do the following:

@create My Room Parent
@parent My Area Parent=#33
@parent My Room=My Area Parent

Basic Information

  • DESCRIBE
The actual text of the description. Set with @describe, as any other description.
  • REGION
The name of the region of space (or universe) that the room belongs to.
  • ZONE
The name of the zone the room belongs to. i.e. 'Earth'
  • TAGGABLE
Indicates that the room should allow player tags.
  • TAG
The tag currently set on the room.
  • NOTE
The note currently set on the room. Like a tag, but for admin information.

Basic Formatting Options

General Settings

  • DESC`ALIGN
The Alignment that will be used for text in the body of the description. This is LEFT aligned by default; you can change it to RIGHT or CENTER in
  • DESC`SORT
The Sort Type that will be used for the Player, Thing, and Exit lists. By default, this is a NAME sort. Other options are as in help sorting. Regardless of the sort type, the room will show Players first, then Objects.
  • DESC`MASK
The room name shown for this room on WHERE. Appropriate for hidden/private rooms and shady locales.

Element Formats

These are formats use for various elements in the description. The element being formatted is passed as '%0'.

  • FORMAT`NAME
How the Room Name is displayed.
  • FORMAT`ZONE
How the Zone Name is displayed. Slightly complex, to handle tiered zones.
  • FORMAT`REGION
How the Region is displayed.
  • FORMAT`TAG
How the Tag is displayed.
  • FORMAT`NOTE
How the Note is displayed.

&FORMAT`TAB

Used in place of %T in the room description. For compatibility with side borders.
  • FORMAT`DBREF
How the DBREF is displayed. Only builders will see the room dbref.
  • FORMAT`PLAYER
How Players in the room are displayed.
  • FORMAT`THING
How Things (non-player MUSH objects) are displayed.
  • FORMAT`ADDON
The format used to display Player/Thing Addons.
  • FORMAT`MODE
The format used to display Player Modes.
  • FORMAT`VOBJ
How Vobjects (virtual items) are displayed.
  • FORMAT`EXIT
How the room's Exits are dispayed.
  • FORMAT`ALIAS
How an Exit's Alias is displayed.


Borders

Settings for Horizontal (Top, Bottom, Middle) and Vertical (Left, Right, Center) borders.

  • Top Horizontal Border
BORDER`STRING_T - Fill String
BORDER`COLOR_T - Ansi Color
  • Bottom Horizontal Border
BORDER`STRING_B - Fill String
BORDER`COLOR_B - Ansi Color
  • Middle Horizontal Border
BORDER`STRING_M - Fill String
BORDER`COLOR_M - Ansi Color
  • Left Vertical Border
BORDER`STRING_L - Fill String
BORDER`COLOR_L - Ansi Color
  • Right Vertical Border
BORDER`STRING_R - Fill String
BORDER`COLOR_R - Ansi Color
  • Center Vertical Border
BORDER`STRING_C - Fill String
BORDER`COLOR_C - Ansi Color

By default, the top border displays above the header, the middle border between the header and room body, and the bottom border beneath the room body. The left and right borders, if set, will display on either side of the Header and Body. The center border, if set, will display twice between the cells of the Header.

You can also display borders manually in a desc, using the FUN`BAR function ([u(FUN`BAR,<DIRECTION>)]).

Colors

All colors must be ANSI codes compatible with the MUSH. It's possible to use MXP colors as well, but that isn't supported by the room parent at this time.

  • COLOR`BASE
The Background / Default Ansi Color used for the entire room description. Background colors might not work consistently for all players, depending on their client and settings.
  • COLOR`BORDER
Color used for all borders which do not have a specific color set using BORDER`_COLOR_X. Useful if you want all borders to be the same color, since you don't have to set each one individually.
  • COLOR`ROOMNAME
Color used for the name of the Room, in the first line of the description.
  • COLOR`ZONENAME
Color used for the name of the Zone, in the first line of the description.
  • COLOR`DBREF
Color used for the room's DBREF, which is shown to staffer characters.
  • COLOR`DESC
Color used for the text Description of the room.
  • COLOR`TAG
Color used for any Tag set on the room.
  • COLOR`NOTE
Color used for any Note set on the room.
  • COLOR`TIME
Color used for the Time display, immediately below the body of the description.
  • COLOR`LABELS
Color used for the Objects: and Exits: labels in the room content list.
  • COLOR`PLAYERNAME
Color used for the names of players in the room.
  • COLOR`PLAYERTITLE
Color used for the title of players; by default, will be the same as the name color.
  • COLOR`THINGNAME
Color used for the name of objects in the room.
  • COLOR`THINGTITLE
Color used for the Title of objects in the room (if they have any).
  • COLOR`ADDON
Color used for the Addon of any players/objects.
  • COLOR`EXITNAME
Color used for the name of exits in the room.
  • COLOR`EXITALIAS
Color used for the alias of exits in the room; by default, same as the name.
  • COLOR`EXITBRACKET
Color used for the Bracket <> characters on either side of the alias.
  • COLOR`MODE_RP
Color used for the tag when characters are IC.
  • COLOR`MODE_NEW
Color used for the <NEW> tag on guests and unregistered characters.
  • COLOR`MODE_ADMIN
Color used for the <ADM> tag on staffer characters.
  • COLOR`MODE_DARK
Color used for the <DK> tag on dark players / objects / exits. Only visible to staffers.

Time

  • TIME`ZONE
Time Zone relative to the MUSH clock; this number of hours is added/subtracted when displaying.
  • TIME`YEAR
Current Year for the room.
  • TIME`CALENDAR
The Calendar being used in the room; i.e. AD, BC, or ATA.

Advanced Formatting Options

These attributes store the actual formatting of the different sections. You can edit these if you wish to make more radical changes; for example, changing the order of individual elements, changing how zone name is displayed, or implementing a custom clock like the Fastheld zone has.

  • FORMAT`HEADER
The layout for the header, containing the room's name, the zone name, and so on.
  • FORMAT`TIME
The layout used for displaying the time in the room.
  • FORMAT`CONTENTS
The format used for displaying players and things in the room.
  • FORMAT`VOBJ
The layout used for displaying all vobjects.
  • NAMEFORMAT, DESCFORMAT, CONFORMAT, EXITFORMAT
High-level formatting that determines what order the individual elements are displayed in.

Don't Use These

  • DESC1
The text of the description, i.e. the description itself. For backwards compatability with older versions of the room parent. However, the new version works with @describe, so use that instead.
  • ZONENAME
Functionally identical to ZONE. Included for backwards compatability.
  • TOP_COLOR,TOP_CHAR,BOTTOM_COLOR,etc.
Old-style formatting options for room borders. These still work for backwards compatability purposes, but you should use BORDER`STRING_T, BORDER`COLOR_T and so on, as they are more neatly organized.
  • DESC`BODY, DESC`ZONE, DESC`REGION, DESC`TAG, DESC`NOTE.
This group of attributes contains code that looks up the individual fields, since they can appear under different attributes in older rooms - for example, DESC`BODY looks for DESCRIBE, then looks for DESC1 if that isn't found.