view orpg/templates/nodes/Userguide098.xml @ 67:c5bc2abaf7f8 ornery-dev

Traipse Dev 'OpenRPG' {090818-01} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc''s main goal is to offer more advanced features and enhance the productivity of the user. Update Summary: *Stable* This is the first wave of Code Refinement updates. Includes new material from Core Beta; new debugger material (partially implemented), beginnings of switch to etree, TerminalWriter, and a little more. open_rpg has been renamed to component; functioning now as component.get(), component.add(), component.delete(). Fixes nodehandlers to bring the dev back to a stable push. Known issue with a nodehandler and it's sub dialogs.
author sirebral
date Tue, 18 Aug 2009 07:34:35 -0500
parents 4385a7d0efd1
children
line wrap: on
line source


<nodehandler class="tabber_handler" icon="book" module="containers" name="User's Guide to OpenRPG 0.9.8" status="useful" version="1.0">
  <nodehandler class="textctrl_handler" icon="note" module="forms" name="Introduction" version="1.0">
    <text multiline="1" send_button="0">Welcome to the online gaming universe of the OpenRPG!  By now you have successfully downloaded and installed the program or you would not be able to read this document.  But we are not here to discuss what you already know, but to tell you how to do those things you don't know.

What we'll cover in this guide:
1)How to use the basic OpenRPG
2)How to do those really nifty advanced things in OpenRPG
3)How to get your brother to do those nifty things in OpenRPG while you beat him with a whip
4)Getting along with those others on the OpenRPG program

And, before long, before you know it, and before that chicken in the microwave is done, you will know and have mastered the art of using OpenRPG.</text>
  </nodehandler>
  <nodehandler class="tabber_handler" icon="tabber" module="containers" name="Guide Chapters" version="1.0">
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Art Of The Chat" version="1.0">
      <text multiline="1" send_button="0">The basics:

Alright.  Let us start at the beginning.  Many many years ago the dinosaurs roamed the planet.  But then an asteroid, now most commonly known as &quot;Bill Gates 1,&quot; crashed into the earth and wiped them all out, turning them into oil.  The basic upshot of all that is with this oil we have created electricity which is now running the program.

Before we start it is necessary to make a name for yourself.  Why?  Well, you wouldn't like to be going around with everybody knowing only as 'blankman' would you?  To type in your name, go up to the top left window, and dragging down the &quot;OpenRPG&quot; menu bar press &quot;Settings&quot;.  in there you can alter your name and colours.

You can also rename yourself in a much more simple way by typing in the command &quot;/name &quot; and your name behind it in the chat window.  I just made you go into the settings so that you know where they are later.

--------------------------------------------------------------------------------

Now that you have yourself labled, you are probably wondering &quot;where's all the chat?&quot;  Well, my friend, we are here to answer that.  As your program booted up, it should have brought up a four-window layout.  The Gametree Window is in the top-left, the Player Window is the bottom-left, The Chat Window is the bottom-right, and the Map Window is the top-right.  We will first concern outselves with getting that lower right window to do the work and play with the others later.

To get the chat window to work, first we actually need a place to chat.  To do this, we need to browse the list of rooms on what is known as the Tracker.  To open the tracker window go to the menubar on the top and under the menu &quot;Game Server&quot; click on &quot;Browse Tracker&quot;

As you can see, a new window popped up.   This is the Tracker Window.  On the left you will see a list of various servers running OpenRPG online.  Click on the one at the top of the list and press &quot;Connect&quot;.

After pressing the &quot;Connect&quot; button you will join that server and be instantly dropped into it's lobby.  Welcome to your first chatroom.  Feel free to stay in this room as long as you like or move off to another room listed on the Tracker.  When you first turned on OpenRPG the chat window filled up with all the different chat commands available.  If you are like me and have forgotten them by now you can either click on the text display box and press PageUp   or click on the little text entry box and type in &quot;/help&quot;.

Should you wish a way to scroll up instead of 'PageUp'ing you can increase the amount of lines the Chat Window stores by making the Buffer Size larger.  You can do this by changing the &quot;buffersize&quot; setting in the Settings menu or by using /lines [number] replacing [number] with the number of lines..  A good setting is 100-200 lines though you can have it as large as you want (though it is warned against having it larger than 1000 as large numbers tend to increase lag.)

------------------------------------------------------------------------------

By now I'm sure you are also wondering what that status thingy in the bottom left window is.  If you notice, every time you type a message in the chat window your status changes.  And when you finish your msg (or sit for 5 seconds waiting) it changes back to Idle.  What a clever invention.  Of course, if you wish to set your own status to override &quot;Idle&quot; temporarily, just type in the chat window &quot;/status My_Status&quot;; replacing &quot;My_Status&quot; for whatever msg you wish (no more than 18 letters can be seen though).

As for now, spend some time and enjoy yourself in the lobby... we can come back to the tutorial when you are ready to learn about Rolling dice, whispering, and creating and using character sheets.</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Rolling Dice" version="1.0">
      <text multiline="1" send_button="0">Dice:

there are two methods of rolling dice.  The first way is very simple: press the bottons on the dice toolbar.  The only explination there is on the left there is a box saying how many dice to roll, and on the right there is a box for modifiers.

The second way is a little more advanced, and powerful.  You can also roll dice by typing them into your text intry box under the dice toolbar (where you type your normal chat messages).  to do so, first choose how many dice you want to roll.  example:

1

now, put the letter &quot;d&quot; after that.

1d

then put the dice type (number of sides):

1d20

And to finish it off, put the square [ ] brackets around the dice and hit enter

[1d20]

you'll see it rolls a dice into the chat window.  Magic. we can even do things like having multiple types of dice inside it in various mathmatical combinations:

[1d20+4d6-12]
[3d8+2]
[1d1-1]


------------------------------------------------------------------------

 now we let the fun begin.  Inside the square brackets we can also add special modifiers.  it'll come in the following format:

[ 1d20.mod(#) ]

you can even have multiple modifiers if you wish.  the list of all of them are below:

.ascending()
lists your dicerolls from lowest to highest

.descending()
lists your dicerolls from highest to lowest

.takeHighest(#)
takes the highest # amount of rolls

.takeLowest(#)
takes the lowest # amount of rolls

.extra(#)
rolls 1 extra dice for every Original roll that gets above the #

.open(#)
rolls an extra dice for Every roll that gets above the #

.minroll(#)
no dice will roll below #

.each(#)
adds # to each diceroll
</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Whispering and Ignoring" version="1.0">
      <text multiline="1" send_button="0">Of course, not everything should be heard.  This is true twice over in this chapter, as we will be discussing how to whisper and how to ignore.

Whispering is a very simple task in OpenRPG.  First type in &quot;/w &quot; in the text entry box.  next, type in the ID number of the person you wish to whisper to and add an equals sign, so it looks like this:  &quot;/w 4=&quot;.  Add your message to the end of that and hit enter.

/w 4=Hello ID number 4.

You can even have multiple ID numbers in there.   Just seperate them up with a comma between each one, like so:

/w 3, 4, 12=Hey, I dare you to poke that Woody

Of course, if you don't want to type out the weird ID numbers you can always just right click on those little Easter Island Heads next to the person's name in the bottom left player window.  You can then select &quot;whisper&quot; and it will put the whisper command into your text entry box automatically.

-------------------------------------------------------------------------------

Sometimes there is someone that will just really get on your nerves.  Be it that they keep sending the same line of text to the chat, or maybe that they are spouting out Britney Spears lyrics nonstop.  Either way, you'll probably want to hear less of them.

Well fear not!  for by just typing in &quot;/i their_ID_#&quot; (changing &quot;their_ID_#&quot; for their ID number) and hitting Enter, then they will be added to your ignore list and no further messages will be heard by them.  Should you wish to take them off again (in case you go the wrong guy) just type the same thing and it'll toggle it off.  You can also get a list of who's on your ignore list just by typing in &quot;/i&quot;

Simple as that.</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Create Your Own Character" version="1.0">
      <text multiline="1" send_button="0">((before we begin, see the character sheet repository:
   http://openrpg.wrathof.com
for pre-made character sheets.))


Character Sheet creation (By Melanthos):

So you wanna make a character sheet, huh? Well, follow these few short steps and you'll be on your way to Sheet Creation Godhood...or not. But don't blame me if you don't read this and can't make yourself a sheet. I'm going to guess you have a basic understanding of how the nodes work. I'll be using Harvester Incorporated(TM)'s Faction Wars(TM) as an example.

First, you'll need a tabber. You can find it under containers in the templates node.  Click the + to the left of templates then click the plus next to containers.  Next double click the Create New Tabber.  Got it? Good. Now, you'll need a form. Forms are what we use to create each page of the tabber. They hold the rest of the nodes neatly, and open up - unlike groups, which cannot be opened in a sheet. To create a form double click on Create New Form.  You will notice two new nodes at the top of the game tree.


        Tabbers, Forms, and Text-boxes, OH MY!

Alright. Here is where I store the basics of the character. Since I don't like to scroll too much, I've broken down the information even more, so that I can fit into smaller tabbers and forms. First I'll create a second tabber. This will hold all the basic info - Level, Class, Player &amp; Character name, and a few other things. Since I've got 8 things I want to list, I've broken them up into 2 seperate groups, which have been put into different forms: General Info, and Specific Info. For simple things like name and level, I suggest using single-line text boxes. I've gone ahead and made 8 of these, naming each of them one of my 8 items and stuck them into their forms. Now that I've finished that, I'll put the two forms under my second tabber, and put that into my big form, &quot;General.&quot; I've done the same thing with the Attributes. Most of the sheet uses this principal, so I won't go into each form. Kinda redundant.


                   List Boxes &amp; Die Creation

Alright, for my second form, Vitals, I need some die-rollers. Since I don't need to change the rolls often, I've decided to use List Boxes to hold all my rolls. It's not too hard, and it's a really easy way to store rolls(It can be used for other things, but this is the best use I've found.): Now you don't have to type out those dice every time you wanna attack. First, I've created myself a List Box. Next, I'll decide how I want my list box to be shown: There are four choices. Drop Down, List Box, Radio Box, and Check List. Since I only need to roll one at a time, I've chosen Drop Down. But to show you how the Drop Down and Check List options work, I'll change things a bit and make a List Box and a Check List as well. When editing, make sure to click the &quot;Send Button&quot; box.


        Drop Down

The Drop Down is the least space- consuming of the List Box options. It's just like a single-line Text Box, except it holds more than one line. Click the arrow on the right to make it drop down, and click the die you want to roll. Then hit the Send button, and POOF! Your die has been rolled to the chat window.


        Check List

The Check List is a neat option. It lets you roll more than one die at a time. All you have to do is check the box next to the die (or dice) you want to roll, and POOF! Your dice have been rolled. Neat, eh?

           Splitter

Now what could these be used for, you wonder? Not much, but there are a few things. I've used it to hold my different abilities. It's easier for me to just see my choices than to flip between tabbers or scroll down and back up every few seconds.


The rest is pretty easy. Just keep on with the things you've done so far, and in no time you'll be on your way to creating great sheets! Most of sheet creation is your personal preference. If you ask Woody, he might say something completely different than I might. Of course, you should make the sheets the way you want them. This is just to get you started. After you've got the basics of sheet making down, you can play around with sheets and nodes and things until you've got the sheet perfect for you. GOOD LUCK!!


--Melanthos, Founder &amp; Game Designer - Harvester Incorporated</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Running Your Own Server" version="1.0">
      <text multiline="1" send_button="0">Creating a server:

OpenRPG has come a long way since the dark ages of gaming.  With this new version we can now create servers on-the-fly!  No more black boxes or strange voodoo magic.  Just click on your &quot;Game Server&quot; menu, and select &quot;Start new server.&quot;  Fill in the options and away you go!  the server will appear instantly on the list.

Of course, this won't provide you with all the same powers that the full server does.  While you can create a server on the short term, if you want to have a longterm dedicated server running which you can control, you'll want to run the OpenRPG Server in your start menu-programs-openrpg (or mplay_server.py in your openrpg folder).

-------------------------------------------------------------------

So now that you have your server, your custom character sheet, and have talked enough players into starting a game, you'll want to set up a private room so that you aren't disturbed by every wandering weirdo or Woody that happens upon your server (and be forwarned, you will find that various people will wander from server to server.  Do not be frightened, most of them are harmless).

So, lets pull up your tracker window.  If you haven't done so already, be sure to connect to your server.  Once in there look onto the right side of the tracker window.  You will see some boxes marked &quot;Room name&quot;, &quot;Boot password&quot;, and if you check a little box, &quot;password&quot;.  the first two are rather self explanatory, and the last one is to lock your room in case you don't want to be bothered.  Be sure to tell your players what it is though.

If you don't password protect a room you may get people wandering in looking for a game or just lurking watching your game.  If you don't want them in there you should first let them know and ask them to leave.  If they refuse your request then boot them.  It is very rude to boot someone from a non passworded room with out warning.
</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Of Maps and Miniatures" version="1.0">
      <text multiline="1" send_button="0">The Map:

Now comes the hardest part of the tutorial.. describing how to use miniatures (minis)  and background images.  Well, the first step is to bring up the map.  Fortunately the new OpenRPG now loads maps differently than previous versions.  Likewise, it no longer seems to cause crashes for Windows users.  No longer will your client lag, lock up, or crash when loading images, large or small.  The entire map will now load in the background while you continue with your normal activity with the program.  Additionally, images, once loaded, will also be cached (stored) in RAM (up to 64; overflow is handled by randomly purging images within the cache to make room for new images).  That means switching back and forth between maps, in the same session, will result in instantaneous access to your map; no more waiting.  Furthermore, not only are your images loaded in the background, but they are loaded concurrently.  That means your map will be available faster than ever!  Hopefully these new innovations will lead to a renewed usage of the map.  Even modem users have indicated that using maps are now fun again!  Anyway, on with the tutorial.

The Map Window is where most of your image viewing will reside.  In it you can manipulate miniatures and maps to give your players a well good idea of what your gaming world looks like.  In case you haven't guessed, it's the top-right window.  Looking at the Map Window, you'll see all of the basic operations needed to load an image and edit the map.  Let us attempt to load our first picture.  At the bottom of the map window you'll see a large box where you can type in text.  This is where you put  the Web-page Address for the image you wish.  Let's type in this URL/URI:  http://www.openrpg.com/images/mins/amazon.gif.  Notice that there are many great miniatures ready for you to use at OpenRPG's home-page.

After you have typed it in press the &quot;add miniature&quot; button, sit back, and watch as it loads the beautiful amazonian woman (well, almost) into the map window.  Please note, however, all images need to be on web-pages and served up by a web server... you cannot load directly from your hard drive.  Well, you can, but no one else will be able to see it.  The reason being is because OpenRPG's client actually one giant web browser.

Feel free to move it about, get a feel for how it works.  You'll see at the moment that the amazon seems to hop from grid square to grid square.  Well... if you're like me, you don't like being confined to grids or rules.  So let's get rid of that grid, shall we?  Again, looking at the map window, you will see a little red diamond thing.  They say it is a compass but it just looks like a flying fish to me.  Anyway.. click on that and it will bring up all the map settings.  In there you can change the size of the map, what color it is, or even load up a background on which all the mini's sit ((say, a dungeon map you drew or perhaps that picture of Britney Spears I know you have lying around)).  The thing we are interested in the most, though, will be the grid settings at the bottom.  As you can see, you can change the size of the grid and switch the grid from square(4 sided) to hex (6 sided).  You'll also be able to let mini's either abide by the grid, or become free from the black lined prison.  Let us turn off the &quot;snap to grid&quot; and press &quot;apply&quot;.  Also note that you can also make the grids disappear by making them match the background color, however, this is not the ideal way to do it as it still requires processing to draw and redraw the grid lines, even if they blend in without being visible.

Now, go back into the map window and try moving your mini again.  You'll see that it now moves freely, and ignores those lines.  But ignoring them is not enough, did I hear you say?  You want them gone?  Ok.  Let's go back into the settings (the red star button) and this time change the grid size to zero.  Pressing 'apply' you will see that the grid has disappeared entirely from map.  Course, if you want it back, just go put in the size again (50 is default).  Feel free to make the grid size match your miniature and map scale.  Also, if you prefer to have the snap to grid, however, do not feel that it provides enough resolution in miniature movement, feel free to set the grid size to half or one forth of what your actual scale is.  This way, you miniatures will still fit nicely as well as be able to use the &quot;snap to grid&quot;, however, you'll better be able to stagger your miniatures or slightly offset tiled map sets.


Tiled Map Sets:

Often, DM's and GM's have the need to present a map to their players, however, they do not which to reveal the whole map and/or map section to their players.  After all, it does remove a lot of surprise if everything is right before the player's eyes.  Enter three new miniature options: &quot;Lock to back&quot;, &quot;Lock to front&quot;, &quot;Unlock Front/Back&quot;.  Previous to these options being available, either the whole map had to be loaded by changing the background image or players and DM's where forced to struggle when map sections were loaded as if they were miniatures.  Even though there was z-ordering options available, it was still tedious as miniatures would often disappear behind a map image.  Now, entire maps can be built before as game and loaded all at once, without giving away any surprises.

By loading all of your map sections together as miniatures and marking each one visible or not visible, you can have great fun again with your maps!  Wait a minute, isn't this the same boat we were on before.  Well, enter the three new options.  Using the &quot;Lock to back&quot; option on each of your map sections, it will force them to always stay on the bottom of the z-order (stacking) of your miniatures.  That means, you'll now be able to change the z-order of your miniatures while all of them stay on top of your map image.  In other words, while the image is locked to the back of the z-order, it acts just like a background image should.  To restore a miniature to normal z-ordering, simply using the &quot;Unlock Front/Back&quot; option and it will once again be ordered just as any other miniature is.

Wait a minute!  That's only two of the three options that you mentioned.  Well, the third option allows for even more flexibility in what DM's and GM's can present to their players, even on a visible map section.  Enter, the poor-man's fog-of-war.  By creating a &quot;mask&quot; in just about any shape you like (feel free to use transparent colors on gifs as needed), you can effectively lock the &quot;masking&quot; image to the top of the z-order which will hide a section of your visible map.  While this is still somewhat tedious, it will allow for much finer grain of control of what is and is not visible on your maps!


Looking here, moving there:

Directional markers have been a part of OpenRPG for some time now, however, there use is going to be better explained here.  If you notice, each miniature has a &quot;facing&quot; and &quot;heading&quot; available to it.  These serves not only to indicate a miniature's facing, but it's current direction of travel.  After all, you're quite able to turn your head and talk to your buddy while walking in a direction different than the one your head is pointed.  While this feature mostly serves board game players, RPGer's may find use in this too, especially when making canned maps.  Imagine, the 'ol evil cleric behind the podium with his back to you.  Now, you can make it clear on the map.  Oh wait, the cleric's minions do not have their back to you, rather, they are standing to his side and looking directly at him.  Closer look, and you see that the cleric too had his head turned to his minions in conversation.  Again, this can be expressed on your map.  Information like this makes it easier for the players to understand that the back-stab that they obviously want to do, won't be so easy to pull off.  All this, without having to verbally describe every little detail.  After all, isn't this what the maps is for?  Enjoy!


Saving and Loading Your Map:

Don't forget that you can save your hard work.  Once you have built your map, be sure to right click on the map and hit &quot;Save Map&quot;.  When you need it again, just do &quot;Load Map&quot;.  You don't even need to delete the contents of the previous map.  The client does all that for you!  Don't forget, if you load a previously viewed image, the caching will considerable speed the rate at which it's visible to you and your players.  Using a common set of miniatures helps to take advantage of this fact.
</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="Other Features; Logs, Initiative, Upgrades" version="1.0">
      <text multiline="1" send_button="0">Other features:

It may seem a little odd that this seventh window is tucked behind some arrows, but I always thought this chapter was a little on the sinful side so over here it now lay.


By getting here, you must have had quite a bit of time to read through the rest of the chapters.  Well, let's finish off with what few interesting toys we have left.

To start with, lets talk about logging  To create a logfile, you can just press the disk button in the bottom right corner of the OpenRPG program, and choosing a name and place to save the file.  Badaboom!  a chatlog of everything you have seen is saved.

Of course, most of you will want a way to have it automatically save a log each time it see's text.  To do that, type in &quot;/log to my_log&quot; (replacing &quot;my_log&quot; for what you want to call the file). It should automatically start logging to that filename (and will include the date in the filename you gave it).  if you want to turn it on or off later on, just type &quot;/log on&quot; or &quot;/log off&quot;

Note: The chat logging system no longer appends a datestamp to the logfile
specified.  This means that for the system to generate the logfile

/foo/bar/gamelog-02-10-01.html for linux or \foo\bar\gamelog-02-10-01.html for windows

Previously the user only had to have &quot;/foo/bar/gamelog&quot; entered as GameLogChatPrefix.
To get the same logging pattern now, they'll have to set GameLogChatPrefix to
the following:

/foo/bar/gamelog-%d-%m-%y.html


--------------------------------------------------------------------------------

The Initiative Tool.  A marvelous invention allowing DMs to organise and handle an otherwise chaotic scene that we know as combat.  Compatable with all versions of OpenRPG, it works incredibly simply.

All that is needed is for the DM to press &quot;New Initiative&quot; in the tool, have all of the players and the DM to type in &quot;init [diceroll]&quot; (replacing 'diceroll' for your dice) and hit enter.  An example:

init [1d10+6]

once everyone has done that, the DM pulls up his tool again, hits refresh, and then sorts the list however he wants.  once it is sorted, he just hits &quot;send to chat&quot; and the person at the top of the list is then sent to the chat.

Once all the people have been cycled through, it will say &quot;End of Init&quot; in the chat.  The DM just presses the &quot;Start new Initiative&quot; button one more time and away you go on another round of hacking!

Now, if you are the player and not using the tool, you can even put your init command into a macro node (not a text node) and do it that way.  At the time of this publication there was a bug in the initiative code and the DM running the tool cannot use macro nodes for this.

You can also set up your character sheets to be able to be rolled from.  To do it, you will just need a special node that you can find here:

www.geocities.com/woody_j_dick/initiative.xml

You can put it directly into OpenRPG by right clicking on your gametree, pressing &quot;Insert URL&quot; and putting that URL above into the box that appears.  Even the DM can use that node for rolling his initiatives.

CAUTION!  Do not rename the node.  It will not work unless it has that name.


The last button, &quot;Keep list&quot; is for Whitewolf players who need to use the list twice.  If you edit the list, and want to keep the edited copy, then just press that and it will save the list so all you need to do is hit refresh to get it back.

--------------------------------------------------------------------------------

OpenRPG is a great program, no doubt about it.  And it's best quality is that it is opensourced, meaning anyone can look at the code and alter it to make it work better.  One such person, the one that compiled this tutorial no less, is going to capitalise on this free advertising to say a few quiet words about his webpage.

www.geocities.com/woody_j_dick/OpenRPG.html

The 8.3 Convention webpage, it offers many 'additional extras' That are not yet included in the main program.  Not only are the upgrades good for the current versions of OpenRPG, but it also retains a list of upgrades for previous versions, in case you want to go back and use that 'good ole' 9.4 or 9.6 client with the modern day servers.

</text>
    </nodehandler>
  </nodehandler>
  <nodehandler class="form_handler" icon="form" module="forms" name="About" version="1.0">
    <form height="240" width="400"/>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="OpenRPG" version="1.0">
      <text multiline="1" send_button="0">OpenRPG is an online chat program designed to let people all around the globe roleplay together.  It supports the use of maps, character sheets, dice, specialised tools, and much more.  We welcome you to the OpenRPG family.</text>
    </nodehandler>
    <nodehandler class="textctrl_handler" icon="note" module="forms" name="This Tutorial" version="1.0">
      <text multiline="1" send_button="0">This tutorial was written by Woody to replace the older and aging Idiot's Guide.  This tutorial was written to be used for versions 0.9.8a and beyond. If, at any time, you spot a discrepancy between what this tutorial says and how your OpenRPG program actually works, please go onto the OpenRPG forums from www.OpenRPG.com and post your discovery.

A special thanks goes to Harvester Inc., for assisting Woody.  Of course, thanks to the users that provided feedback for the contents contained within.
</text>
    </nodehandler>
  </nodehandler>
</nodehandler>