So you want to help with DRFP.

Well, here's some guidelines, the first and second rules, and then I'll get into some nitty-gritty stuff, the third and fourth. If you're REALLY brave, I have some html coding stuff which normally turns my friends' brains to mush, but I digress.

The first rule of DRFP: Log everything. If you log automatically, you can't forget to log something special, like a merchant, festival, special event, best friend's wedding, etc.

Don't know how to log?

In the Wizard front end: Go to File and, if you're only wanting to log the current session, Open log. Choose your file title and location, and save. If you want to autolog, turn on autologging and it'll save every gaming session with the game, date, and number of session that day it is. I'd suggest always autologging.

In StormFront: In the Windows panel, click on the disk icon next to STORY. Pick a file name, which defaults to the name of the character you're currently playing, and a location. SF will continue autologging until you click the disk icon again, turning it off. Warning: Do NOT click the disk icon next to ROOM. It will send two or three room descriptions to the log every time you move or look.

If you have limited hard drive space, zip them up periodically, like once a month or so, and burn them to CD or put them on a ZIP disk. I would recommend doing this, anyways (as it can save you alot of problems later if you needed a record of what you did, saw, etc).

I can't emphasize backing up your logs enough. Time and time again, I've found someone who's as fanatic as I am about logging everything...only to have been hit by a virus, have hardware fry, upgrade and not have transferred logs over, had to make room on the hard drive, etc. Make copies. Make backups. Hell, send me a zipfile and I'll be happy to do it FOR you. Yes, I've had GMs hunt me down and ask me for records of such and such event because something's happened somewhere I was, and they know I log everything.

Second rule of DRFP: Be as thorough as possible.

This is how I log:

Merchants

First of all, if the merchant is there, I look at them. They are generally only there for a limited period of time; the shop will still be there after.

Then, I start looking at, on, and in all the visible nouns in the room description.

This is probably a bit obsessive for most, but I also keep a profile with special highlight strings for merchants and festivals which has furniture types and signs highlighted, and I add to it every time I run across something new or odd being used. I also have a sound that goes off if I get 'There appears to be something written on it.', since in the past I've had a tendency to miss inscriptions.

If there's free food and/or drink offered, I get it and eat or drink it until I have the taste script attached to it. I've also started looking at and reading drinks served in bottles. GemStone IV food and drink items have two taste scripts.

Then I'll run the merchandise scripts, which automatically get, look at, read, and appraise the items on or in a piece of furniture. The scripts and instructions on how to use them are found below.

If I notice any flavor scripting, that is, any special messaging for that particular merchant or room, such as customers walking through or whatnot, I'll often stand there for a good five or ten minutes to pick up more before moving on. However, this last step is the one I'll often forego, especially if I'm short on time.

Weddings

I log weddings much the same, although I make sure to get the look descriptions of the bride and groom, and the rest of the wedding party provided I can figure out who the other people in the wedding party are. I also get the look descriptions of the wedding coordinator and GM(s) involved, the look and read on the invitation and the rosette/ribbon, if any.

Assists and Referrals

If you do an assist or Referral, look at the GH or GM; I'm always looking for more staff descriptions (or more recent descriptions that have changes from ones I already have listed). Changes in looks or wardrobe can be drastic. If you happen to get transported to a GM or GH office, I generally treat it just like a merchant, but include peer [direction] if there are any options (out, up, down, rose compass).

Note on Assists and Referrals: I do NOT want the log of the assist or Referral, just the GM/GH description and the Office description.

Third rule of DRFP: Editing.

A lot of people have, in the past, said, "Let me edit the logs and I'll send them to you." Quite frankly, when this happens, I don't expect to ever see them, because with one or two noted exception(s), they never get sent.

Editing logs for personal stuff really isn't necessary. I look for very particular things and am blind to anything else. Most of the time I couldn't even tell you who sent me the log, and that's after going through it and seeing EXP, INFO, SKILL, etc. Once I've stripped the log of all the information I actually care about, it gets zipped up and burnt to CD and put in my archives, never to be looked at again. I have never sent someone else's logs to anyone else, given out any skill/stat/circle/train/etc. information on a character (or even noticed it, to tell the truth).

That said, I can completely understand if editing is required. If you should care to go beyond editing personal information out, and send me a 'clean' merchant/event log, here's a few tips.

I would post some macros to use in Word; however, since in most of the games, there are multiple verbs which do the same things, eg. get/take, it'd be rather tedious to do so. They WILL work for editing logs from the scripts, if you use command echoing - that is, if your typed commands show up in the log. I will try and get some macros posted soon, for those, and for editing out death messaging, login/logout/disconnects, people arriving and leaving the room, etc. I don't trust programs that clean logs automatically; the one time I tried to use one it completely ruined the log I was working on. Thankfully it was a copy I'd made just for testing purposes.

Things to take out:

as listed above...

Number one rule of editing: When in doubt, LEAVE IT ALONE.

If a merchant has more than two or three rooms that are easily navigable, please leave directional commands in so I can see how they're connected.

Fourth rule of DRFP: Merchant code.

This is getting into the nitty gritty site support stuff that makes eyes glaze over. Merchant codes are unique three-alphanumeric character prefixes that tell me what area, merchant, or event a file goes with. After seven years of archiving, there are well over a thousand merchant codes; I will be getting the table posted as soon as possible.

If a merchant has been seen before - much more prevalent in DR, AoH and MO than GSIV - chances are it has a merchant code assigned already. If it does, you will be able to look it up and include it with the merchant(s) log.

If it's not listed in the table, please feel free to assign one, so long as that combination isn't already taken, and include it. Please email me with the merchant or area name, code, and game as soon as possible, especially if you're editing down the logs, so I can get the table updated and/or let you know in case that code has already been taken by something else.

Fifth rule of DRFP: Coding.

If you've actually gotten this far, congratulations!

I've been nagged and badgered and nagged and badgered some more about putting DRFP in php or some other language. There's several reasons I don't:

I don't know how to code php or something else, and not only would I have to take the time off supporting DRFP to learn how, but I'd also have to go back and redo the old files. Some 75,000 of them. There may be 50,000 uploaded to the website; at any time there's another 20,000-50,000 in development.

Once I finish an event, I *never* have to look at it again if I don't want to. Doing it some other way might mess something up, and I don't want to risk messing stuff up that drove me nuts to the point it gives me a stomach ache just thinking about it. Taisidon 1 and Safari come to mind.

It's much easier to explain straight HTML coding style than something else.

Filenames

If you've ever looked at the URLs for any of the single files in a reconstruction, you'll probably wonder where the heck I come up with such garbage filenames.

The first three characters are always the merchant code (unless it's something that doesn't have a code, like a humorous log or other informational page). The rest of it is generally the first letter of each non-article word (up to the noun in DragonRealms and Alliance of Heroes).

For example, the filename for an ink black linen shirt embroidered with three rising moons from Seiryn's Transformations is sytibls.htm. If a merchant has more than one item that comes out to the same filename, the subsequent files get a number tacked onto the end, starting with 2, e.g. sytibls2.htm, sytibls3.htm, etc.

Furniture filenames are much the same, although they generally go by the "On the [adjective] [furniture type]..." description, and still follow the numbering rule if there's more than one with the same abbreviation.

Room filenames, if there's only a single room, are only [merchant code].htm and [merchant code]f.htm, for the room and the frame. Seiryn's Transfomations would be syt.htm and sytf.htm, respectively. If there is more than one room in a merchant or area, the first room inside the entrance is as listed above, and the rest are either labeled by directions from it or by the room title. Merchant workshops/backrooms generally get either ws or br tacked onto the end of the merchant code.

Ok, a little bit of website structure. Within each game folder, it generally goes:

event/furnitur/items/

All the room files are in the event folder; that is, the file with the room description and the frame that goes with it. All the furniture files, whether they're in the room description or on another piece of furniture (such as a jewelry rack on a table) go in the furnitur/ folder. All the items go in the items folder.

Descriptions of people, whether merchants, GMs, GMNPCs, or members of a wedding party, can all be put in the furnitur/ folder.

I generally do item files first, then furniture, then the room and frame files, so that's the order I'll go over them here.

Item Files

GemStone IV item files look like this:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../../test.css">
</head>
<body bgcolor= "black" text= "white">
[get item response]
<p>
[item look description if known]
<p>
[item inspection]
<p>
[verb/other information if applicable]
</body>
</html>

An example:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../../test.css">
</head>
<body bgcolor= "black" text= "white">
A scowling gnome glares at you for a moment then says in an annoyed voice, "Oh that. It's worth 15000 silvers. But for you, I suppose I could let it go for oh... 15000 silvers. You can BUY the silver earrings but don't spend all day thinkin on it." a scowling gnome snorts!
<p>
You carefully inspect a pair of silver earrings with tiny dangling moon charms.
<p>
You determine that you could wear the earrings, hanging it from your ears.
</body>
</html>

DragonRealms item files look like this:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../../test.css">
</head>
<body bgcolor= "black" text= "white">
[item tap description]
<p>
Price: # [currency]
<p>
[item look description]
<p>
[item] reads:<br>
[item read description]
<p>
[item appraisal if applicable]
<p>
[verb/other information if applicable]
</body>
</html>

An example:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../../test.css">
</head>
<body bgcolor= "black" text= "white">
a pale pink diaphanous veil trimmed in seed pearls
<p>
Price: 14432 Dokoras
<p>
A gold wire hairnet holds the thin, opaque fabric in place ending in intricate swirls of seed pearls at the hem.
</body>
</html>

Alliance of Heroes item files generally follow the GemStone IV pattern, except they don't have inspection. Modus Operandi uses LOOK instead of GET, but since prices are listed when you look on the furniture, item files are optional, not necessary.

Furniture files

These are pretty straightforward, except for when there are more than one of the same kind of furniture in the room. This mainly happens in GemStone IV, and sometimes in DragonRealms.

Here's what a plain furniture file looks like for any game but Modus Operandi:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
[On/In] a(n) [adjective] [furniture type] you see a <a href = "items/___.htm" target= "items">[item]</a>...etc.
</body>
</html>

GemStone IV item descriptions only show the 15/15/15 description even if they're actually longs - those only show up in the item files.

Example:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
On the shelf you see <a href = "items/plnflbsb.htm" target= "items">a front-laced blue suede bodice</a>, <a href = "items/plnblbyb.htm" target= "items">a back-laced bright yellow bodice</a>, <a href = "items/plnbvb.htm" target= "items">a black velvet bodice</a>, <a href = "items/plnslgsb.htm" target= "items">a silver-laced green silk bodice</a>, <a href = "items/plnrdgsb.htm" target= "items">a ruby-dusted golden silk bodice</a>, <a href = "items/plnotpbb.htm" target= "items">an opal-trimmed pale blue bodice</a>, <a href = "items/plnwsb.htm" target= "items">a white silk bodice</a> and <a href = "items/plnsldvb.htm" target= "items">a satin-lined deep violet bodice</a>.
</body>
</html>

DragonRealms furniture look like this:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
On the ring tray you see <a href = "items/ctdhsr.htm" target = "items">a heavy steel ring bearing the crest of the Traders' guild</a>, <a href= "items/ctdspr.htm" target= "items">a simple pewter ring bearing the crest of the Traders' guild</a>, <a href = "items/ctdwgr.htm" target= "items">a white-gold ring bearing the crest of the Traders' guild</a>, <a href = "items/ctdbsr.htm" target= "items">a brushed silver ring bearing the crest of the Traders' guild</a>, <a href = "items/ctdpjr.htm" target= "items">a purple jade ring bearing the crest of the Traders' guild</a>, <a href = "items/ctdbpr.htm" Target= "items">a burnished platinum ring bearing the crest of the Traders' guild</a>, <a href = "items/ctddar.htm" target= "items">a detailed animite ring bearing the crest of the Traders' guild</a>, <a href = "items/ctdpwb.htm" target= "items">a polished wedding band bearing the crest of the Traders' guild</a> and <a href = "items/ctdser.htm" target= "items">a smooth engagement ring bearing the crest of the Traders' guild</a>.
</body>
</html>

Modus Operandi furniture is a bit different. It lists items and prices.

<html>
<head>
<meta http-equiv= "Content-Type" content="text/http; charset= iso-8859-1">
<link rel= "stylesheet" href= "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
<pre>
On the [furniture type] you see for sale:
 $#,###,###  [item description]
 .
 .
 .
 $#,###,###  [item description]
To confirm an item's description and price, LOOK at it.
To purchase an item, GET it.
</pre>
</body>
</html>

Example:

<html>
<head>
<meta http-equiv= "Content-Type" content="text/http; charset= iso-8859-1">
<link rel= "stylesheet" href= "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
<pre>
On the gold rack you see for sale:
    $10,000  an oversized hockey jersey with black and yellow trim
    $10,000  a pair of baggy carpenter jeans
    $10,000  a black t-shirt with REPRESENT embroidered on the chest
    $10,000  a gold t-shirt with a glittery green dollar sign on the front
    $10,000  a pair of designer jeans with an American flag tag
    $10,000  a blue t-shirt with WEST SIDE embroidered on the front
    $10,000  a white t-shirt with EAST SIDE embroidered on the front
    $10,000  a thick gold chain with a dollar sign charm
    $10,000  a red t-shirt with SOUL embroidered on the front
    $10,000  a pair of clean white sneakers with wide laces
To confirm an item's description and price, LOOK at it.
To purchase an item, GET it.
</pre>
</body>
</html>

For the groups of furniture, in GemStone IV, they look like this:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
You see [group of furniture]. Looking at the [furniture type], you see <a href = "___.htm">a(n) [adjective] [furniture type]</a> . . . and <a href = "___.htm">a(n) [adjective] [furniture type]</a>.
</body>
</html>

Example:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
You see a pair of menacing mannequins. Looking at the mannequins, you see <a href = "biabm.htm">a black mannequin</a> and <a href = "biagm.htm">a grey mannequin</a>.
</body>
</html>

DragonRealms grouped furniture look like this, as there aren't specific 'extra' groupings:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../../test.css">
</head>
<body bgcolor= "black" text= "white">
You see <a href = "___.htm">a(n) [adjective] [furniture type]</a> ... and <a href = "___.htm">a(n) [adjective] [furniture type]</a>.
</body>
</html>

Example:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../test.css">
</head>
<body bgcolor= "black" text= "white">
You see <a href = "iniet.htm">an elm table</a> and <a href = "inirt.htm">a rosewood table</a>.
</body>
</html>

I have not run across grouped furniture in either Modus Operandi or Alliance of Heroes.

Room Files

Room files look the same in any game, and they're pretty straightforward.

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../test.css">
</head>
<body bgcolor= "black" text= "white">
[Room Title]<br>
[Room description]<br>
Also here: <a href = "furnitur/___.htm" target= "items">[Merchant where applicable]</a><br>
Obvious [paths/exits]: <a href = "___f.htm" target= "_top">[direction]</a>... (alternately, none)
</body>
</html>

Example:

<html>
<head>
<meta http-equiv= "content-Type" content= "text/html; charset= iso-8859-1">
<link rel = "stylesheet" href = "../../test.css">
</head>
<body bgcolor= "black" text= "white">
[Rowan's Tree, The Base]<br>
Dark and stuffy, you feel cramped here, as if the creator of this place has yet to decide what to do with it. Above you, light and air flow freely down, like laughter on the wind. You also see <a href = "rwtof.htm" target= "_top">a knobby wooden door</a>.<br>
Obvious exits: <a href = "rwtpf.htm" target = "_top">up</a>.
</body>
</html>

Frame Files

The frames are room, people, and items. The 'people' frame is actually for furniture; I named it people because I actually started the current DRFP format with the Simucon text reconstruction, and most of the furniture I had was descriptions of attendees, and never got around to changing it. Regardless...

Ideally, when viewed, the only frame in any page that should have a scroll bar is items. The room and people frames for any particular place should be large enough - and only large enough - to prevent a scroll bar from appearing when the browser window is maximized. I used to go through and adjust frame sizes accordingly, but that was before I had reached 20,000 files on the site overall.

Anything that is actually furniture, but too long to really go in the people frame, should go in the items frame. Things like signs of length, alterer lists, merchant or GMNPC descriptions, etc. all go in items rather than people. The exceptions are: Modus Operandi furniture, in which the people file is expanded to fill most of the remainder of the screen below the room frame, with only a few lines left for item files when applicable; and premium home furniture shops, which also have the people frame expanded to fit the ORDER list, and the items frame fits the item look descriptions where applicable.

This is what a frame file looks like:

<html>
<head>
<title>[Rowan's Tree, The Base]</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../test.css">
</head>
<frameset frameborder= 0 framespacing=0 rows= "151,*,100">
<frame src = "rwt.htm" name= "rooms">
<frame src= "../../blank.htm" name= "people">
<frame src= "../../blank.htm" name= "items">
</frameset>
<noframes>
</noframes>
</html>

Ambiance or Flavor Files

This includes the various automatic messaging found in particular areas to give it more 'realism', for example, customers wandering through a shop, candles flickering, or small animals playing. These are pretty much the absolute last thing that gets done for any area.

For however many messages a particular area has had logged, there is one more ambiance file, the stand-in for blank.htm. Blank.htm is literally a blank file; it looks like this:

<html>
<body Bgcolor= "#000000" text="white">
</body>
</html>

The stand-in has an auto-reload line and looks like this:

<html>
<head>
<meta http-equiv= "Refresh" content= "7; url= tol4b.htm">
</head>
<body bgcolor= "black" text="white">
</body>
</html>

This file should be named [room filename]a.htm and go in the furnitur folder, eg. aajf.htm would have aaja.htm and the second line of the frame file would be:

<frame src= "furnitur/aaja.htm" name= "people">

Each subsequent file follows this pattern:

<html>
<head>
<meta http-equiv= "Refresh" content= "7; url= [filename].htm">
</head>
<body bgcolor= "black" text="white">
[flavor messaging]
</body>
</html>

where the last letter of the file name follows the alphabet, and the last one reloads to [room filename]b.htm.

Example:

aaja.htm
aajb.htm
aajc.htm
aajd.htm
aajb.htm
.
.
.
and aajb.htm, aajc.htm, and aajd.htm cycle until the viewer A) clicks on a piece of furniture in the room or B) moves out of the area.

Volume

Certain merchants have such a variety and number of items offered for sale that they are given their own specific subfolder within the items folder. Generally speaking, any merchant with 75 or more item files gets its own folder, named with the merchant code. Examples: Clothing You Sleeve, Eza's Trinkets, and All Dolled Up/Figurine to Kill in GemStone IV; Edword's and Festive Fineries in DragonRealms; Mannequin Monday in Modus Operandi.

Link Checking

If you have a web development program such as DreamWeaver, please go ahead and check the links for the merchant/area you've built. Regardless, it'll get checked when you send it in and it gets added to the website.

This is how I set up a test folder:

Test\[Game]\[Event]\furnitur\items

The standard site files - test.css and blank.htm - go in Test\. The specific event files go in their respective folders as described above.

Download Test folder

Scripts

All of the scripts here run in Wizard. I've tried converting them to StormFront for GSIV and DR and encountered problems, specifically in using placeholders. If a merchant doesn't have more than one type of furniture in an area (requiring second.table or the like) or enough of the same type of item to require specifying one in particular (blue.bodice, etc.), they will run converted. If you can fix that problem, please let me know.

Scripts for all four games operate the same way: .[scriptname] [furniture] [item1] [item2]...[item8]. Example:

.inmw table tunic vest jacket dress gown

The furniture and items can be abbreviated down to a single letter with the exception of 'a'. I generally do this, especially if there's several different nouns starting with the same letter on a piece of furniture. A few problems to avoid:

While functionally nearly identical, the scripts are NOT interchangeable, due to the varying verbs and collectable information available without purchase. And using a GSIV or DR/AoH script in MO will result in actually buying the first two items and attempting to buy the rest.

The scripts, like the website files, have 'garbage' titles. .inmw and .onmw - IN/ON Multiple [items] With [appraise/inspect/other statistic collecting verb].

Unlike DR, AoH, and MO, GSIV merchants vary as to what the scripting is when you check a price on an item. There are match tables in the scripts to catch as many different ones as I've come across thus far; if you find a merchant which for some reason doesn't respond, open the script and add a match line with an identifying phrase from the GET reply in each instance (first through eleventh), in both the .inmw and .onmw scripts.

Note: scripts not uploaded yet
Download GemStone IV scripts
Download DragonRealms/Alliance of Heroes scripts
Download Modus Operandi scripts

Beta-testing Stuff Already Built

If, instead of logging, editing, or building stuff you'd like to betatest stuff that's already built and uploaded, please feel free to email me and let me know:

Some of the events, particularly GSIV events, are massive, with thousands of files, much less links to check. A section would be something like: GemStone IV, Dhu Gillywack '01, first level. Or DragonRealms, Corik's Secret, Meshor Dock to pyramid slide.

Basic things to look for:

If you want to just make a list, please tell me the room(either room or frame is fine), and where and what the problem is. If something's wrong with an item file or link to it, you can list either the furniture file/item filenames or the what the item is.

Example:

aajf.htm
Room has scroll bar
Room description is missing carriage returns
wooden table loads in item frame
Either:
aajlscn.htm loads to a new window
OR
a linked silver cog necklace loads to a new window

That's a lot of errors for the same room, but it gives you an idea.

If you want to go ahead and do the coding, please let me know that when you tell me what game/event/section you're testing and I'll zip up the pertinent files and send them to you directly.

Anything Else

I think that covers everything. If you have questions, or think of something I missed, please feel free to contact me.


Return to DragonRealms Future Past Main Index