m (→Editing Custom Formats) |
m (→Borders) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
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. | 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. | 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. | ||
Line 14: | Line 18: | ||
:'''@_'''<attribute> <object> '''=''' <value> | :'''@_'''<attribute> <object> '''=''' <value> | ||
:'''@set''' <object> '''=''' <attribute>''':'''<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. | 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== | ==Basic Information== | ||
Line 97: | 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.
Contents
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
- 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.