TFC The Final Challenge   New to TFC?   News & Info
Community   The World
Races & Classes   RP & PK

The layout of an area file

An area file is laid out using a series of BLOCKS. Each block starts with a control structure that tells the MUD what kind of data is contained in the block. Following the control structure are the records holding the data. After the final record in a block, a control marker occurs indicating the block is finished.

All blocks are optional, and you may have only ONE of each type. However, some blocks force the use of other blocks. For example, if you have a block of mobs or objects, you are forced to have a block of the resets to load them into the area. Or if you have rooms in the file, you MUST have an area header block.

There are 10 kinds of blocks:

For ease of reading, they MUST be used in the order listed above.

Following all the blocks, the last line of the area file must contain the control marker signifying the "end of file". This is the string "#$" on a line all by itself. If this is omitted, the area will NOT load.

An area file is laid out like this, then:
BLOCK
BLOCK
BLOCK
BLOCK
.
.
.
#$

The area header

The syntax for the header is:

A B C DE F

A: This is the string "#AREA " without the quotes. Following the string,
on the same line, is a bunch of text which MUST be laid out precisely in
order to keep the area list in neat columns.

B: This is the level range. It starts with a { followed by the low range
followed by the high range followed by a }. The field with is 7 positions,
and all must be used with { in the first position and } in the 7th.

C: This is the author's name. It starts with a space in position 8,
followed by up to 8 characters for the name. Unused character places
should be padded with spaces. Position 17 must be a space.

D: This is the name of the area. It starts in position 18. You are
allowed up to 20 characters for the name, but you do not have to pad the
unused positions with spaces.

E: This is the tilda (the squiggly hyphen).

F: This is the area wide flag denoting the kind of area it is. It is a
letter "F" followed by a space followed by a value. The value is chosen
from the appropriate part of the flag list, and these values may be
combined.

This an example of an area header:
 
 

#AREA { 1  2} Author   Area_Name~ F 1
 
 

If this block is used, it is IMPERATIVE it is the FIRST line of the file.
 

The helps block
 

The block start with the string "#HELP" without quotes, followed by one
or more help records, and ending with the string "0 $~" without quotes.
 

This is an example of a helps block:
 

#HELP
help 1: see syntax for a help record for layout
help 2: see syntax for a help record for layout
help 3: see syntax for a help record for layout
.
.
.
0 $~
 

The mobiles block
 

The block start with the string "#MOBILES" without quotes, followed by
one or more mob records, and ending with the string "#0" without quotes.
 

This is an example of a mobiles block:
 
 

#MOBILES
mob 1: see syntax for a mob record for layout
mob 2: see syntax for a mob record for layout
mob 3: see syntax for a mob record for layout
.
.
.
#0
 

The objects block
 

The block start with the string "#OBJECTS" without quotes, followed by
one or more object records, and ending with the string "#0" without
quotes.
 

This is an example of a objects block:
 
 

#OBJECTS
object 1: see syntax for a object record for layout
object 2: see syntax for a object record for layout
object 3: see syntax for a object record for layout
.
.
.
#0
 

The rooms block
 

The block start with the string "#ROOMS" without quotes, followed by one
or more room records, and ending with the string "#0" without quotes.
 

This is an example of a rooms block:
 
 

#ROOMS
room 1: see syntax for a room record for layout
room 2: see syntax for a room record for layout
room 3: see syntax for a room record for layout
.
.
.
#0
 

The resets block
 

The block start with the string "#RESETS" without quotes, followed by one
or more reset records, and ending with the string "S" without quotes.
 

This is an example of a resets block:
 
 

#RESETS
reset 1: see syntax for a reset record for layout
reset 2: see syntax for a reset record for layout
reset 3: see syntax for a reset record for layout
.
.
.
S
 

The shops block
 

The block start with the string "#SHOPS" without quotes, followed by one
or more shop records, and ending with the string "0" without quotes.
 

This is an example of a shops block:
 
 

#SHOPS
shop 1: see syntax for a shop record for layout
shop 2: see syntax for a shop record for layout
shop 3: see syntax for a shop record for layout
.
.
.
0
 

The specials block
 

The block start with the string "#SPECIALS" without quotes, followed by
one or more special records, and ending with the string "S" without
quotes.
 

This is an example of a specials block:
 
 

#SPECIALS
special 1: see syntax for a special record for layout
special 2: see syntax for a special record for layout
special 3: see syntax for a special record for layout
.
.
.
S
 

The triggers block
 

The block start with the string "#TRIGGERS" without quotes, followed by
one or more trigger records, and ending with the string "S" without
quotes.
 

This is an example of a triggers block:
 
 

#TRIGGERS
trigger 1: see syntax for a trigger record for layout
trigger 2: see syntax for a trigger record for layout
trigger 3: see syntax for a trigger record for layout
.
.
.
S
 

The rspecs block
 

The block start with the string "#RSPECS" without quotes, followed by one
or more rspec records, and ending with the string "S" without quotes.
 

This is an example of a rspecs block:
 
 

#RSPECS
rspec 1: see syntax for a rspec record for layout
rspec 2: see syntax for a rspec record for layout
rspec 3: see syntax for a rspec record for layout
.
.
.
S

Back to the area writer's guide page.

Credits | Support Fund | Sitemap | Home

Page last modified: Monday, 06-Apr-2015 20:43:58 MST. Copyright 1997-2011 The Final Challenge MUD. All rights reserved.
Webmaster: Marisa the Enchanted (Post a note to Marisa on the MUD for updates/changes to this site; she will get it.)
TFC Implementor: Tynian (Reachable in game or on forums.)
The Final Challenge is grateful to FastQ for providing a site for TFC.