Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Savage Worlds


Thread Tools Display Modes
Prev Previous Post   Next Post Next
Senior Member
Join Date: Nov 2010
Location: Metairie, LA, USA
Posts: 1,819

Old May 9th, 2017, 08:39 AM
You’ve got this awesome new setting you found, or even made yourself, and nobody else has made a data file for that setting. Maybe you’ve even asked on the forum but nobody is planning to do one for that setting yet. That’s ok because you can make a fairly basic setting file on your own without having to know any coding at all. That’s right, zero coding required. Sure there may be some things you know you’re going to want automated by Hero Lab that will require coding, but that’s something this forum may be able to help you with... heck, if you do all the grunt work of taking care of most of the non-coded parts of a data file someone here may just be willing to finish the file for you, if you ask!

First off we need to do a bit of prep work. We need to name our source and set up a UniqueID for it. For now let’s call our setting “House Rules” and we’ll give it a UniqueID of “HouseRules” (No spaces allowed in our UniqueIDs and we’re limited in length to 10 characters for it. A common standard is to also come up with a 2 character designator for our setting, preferably one that isn’t used by another data file setting out there if you can help it, in order to better help us define our UniqueIDs for individual “things” in our data file. Things are just anything you might have an entry for, such as a piece of gear, an Edge, or a Power. In this case we can decide to use “HR”.

Making a .1st File

That’s our prep work done, now we need to set up our Source. You can do this from within the Editor, but the best way really is to create what we call a .1st file. The best way to create one is, like most everything in Hero Lab, to cheat! Or more precisely to make a copy of some other .1st file to use as an example. It’s good to know where these data files are and the best way to figure that out for your installation of Hero Lab is by going to Tools → Explore Folders → Game System Data Folder. That will open up the folder where your data files are located. Take a look at one of the .1st files there (if you don’t have any you may want to add a setting by going to the “View Updates” menu and adding one or more the “Savage Settings” listed there to help give you same examples to work with.) Make a copy and rename it to something appropriate, for our example we’ll call this file “HouseRules.1st” and we’ll modify it to look like this:

 <?xml version="1.0" encoding="ISO-8859-1"?>

<!-- This file contains all specifications pertaining to the operational control of
      the data files. This includes usage pools, sources, sortsets, and other related

<document signature="Hero Lab Structure">
  <!-- RDS HouseRules This source enables the selection of the House Rules material. -->
    name="House Rules"
    description="Each character utilizes our Savage Worlds House Rules material.">
I know, lots of “code” looking stuff in there and I told you earlier you would need to do zero coding, but all you really need to know about this is to just look at the places where we used the words “House Rules” and “HouseRules”. We're just going to make the lines look correct with the terms we came up with for our prep work, is all. It’s important to note, again, that our line that starts “id=” uses our source UniqueID that has no spaces in it and is limited to only 10 characters!

While that’s the only XML we’ll be messing with for this tutorial I will note a couple of little coding type things that can be helpful to know in the long run. If you’ll notice there are lines that start with <!-- and end with -->, those are comments. Anything between those characters is almost completely ignored by Hero Lab. It’s just a way to write notes to someone who might be looking at the file to give them a better idea about some of the things going on in it. The only other thing of note is that things are broken down into sections and each of those sections start with a <word and ends with a </word>. So note there is a section above that starts <document then has a subsection inside of there that starts <source and that the source subsection ends with </source> and finally the document section ends with </document>. Every section that starts with <word will have to have a corresponding </word> to close out the section. There are tools, like Notepad++, to help with dealing with XML files if you really start getting into messing with them (and they can be very useful even dealing with your .user data files themselves outside of the Editor for doing large find and replace operations and the like, even if you don’t do anything else with those files that way... but I’m digressing.)

Now our source is fully set up and persistent. There’s a lot of other neat things you can do with these .1st files like creating little subsections that show up on your Character Config screen which can be useful for grouping things, such as maybe you have overall House Rules but you also want to be able to select House Rules for Sci-Fi games and a different set for Horror games, or whatever subcategories you would like to use. We won’t get into that here, though. Just look at other examples or ask around on the forum if you need help doing something like that.

Restarting/Reloading Your Data Files

You may want to restart Hero Lab so it will reload your new .1st file and recognize it as a brand new Source. However there is a bit of a shortcut you can use to force Hero Lab to recompile and reload your data files while you are working on them. Just go to the menu for Develop → Compile Data Files... select “Savage Worlds” if it isn’t already selected and click the “Compile” button. Next go to Develop → Quick Reload Data Files. You may have noticed there are shortcut keys to both of those commands so you can also just use those by hitting “Ctrl-C” then “Compile” for your Savage Worlds setting followed by “Ctrl-R”.

Note that if you create a thing in the Editor and you want to reference that thing in something else, for example you create a Drawback for an Arcane Background and then decide you want to Bootstrap that Drawback to a newly created Arcane Background, you may not see your new Drawback listed if you search for it. Recompiling and reloading like this will make those things show up for you, so do this step with some regularity as you are working. Of course be sure you also save as you work as well. In fact save a LOT!

One thing to note is that if there are errors with a data file Hero Lab will refuse to load ANY data files. It's a protective measure since it has no idea how to handle any conflicts. Just see if you can figure out what the error is (the error will usually tell you the UniqueID of the thing that is having a problem) and see if you can fix the problem. Or come to the forums with your error and folks here may be able to help you out.

Using the Editor

Now for the meat of building that data file. Let’s go into the Editor by going to Tools → Show Editor. From here on out a lot of what you will need to do will just be copy-and-paste work (if you are using a published setting) or typing in the descriptions you need along with thinking up UniqueIDs. The latter should be fairly easy as long as you have a decently unique 2-letter identifier for your setting, which we decided earlier would be “HR” for our examples here. Be sure to go to File → Save As... and save your data file with an appropriate name, maybe something like HouseRules.user would be appropriate for this example.

One of the most time consuming steps for data file authors is just getting in gear, Edges and Hindrances. For some settings adding Powers can be a long task as well. First let’s cover what things go where in all of those tabs. Most of them are pretty self explanatory, Ammunition is for... well, ammunition, and Edges is for Edges, and so on. The Arcane Background tab is a little bit special in that it is where some of the bits and pieces of an AB are defined, but you’ll notice it is separate from the Edges tab even though ABs are Edges. That’s because they are pretty special in their own right so you not only need to have an AB Edge, but also need to define some stuff for them on the Arcane Background tab. We’ll cover that a bit more later.

Arcane Power is for standard Powers used with most Arcane Backgrounds. This is different if you are working with Super Powers from the Super Powers Companion. Those items are covered in the tabs that start with “SPC” in their name. We won’t really be covering those here but it should be noted that if you are doing things with these tabs you will need to have selected the Super Powers Companion on your Character Configuration screen along with your new source when making characters for that to show up for you. If you do not have the SPC then it’s possible you may not see those tabs in the Editor at all, but I thought it important to note that here for those that do have it.

Sci-Fi companion tabs are not separately noted like the SPC ones are, but just to delineate those they are Cyberware, Modifications, Robot, Robotic Mods, Starship, and Walker in particular. You’ll need the Fantasy Companion for tabs that start with “Magic” or”MI” in their name. Again we won’t really cover the Companions with this walkthrough.

Equipment is for general gear, not weapons, armor, ammunition, vehicles, basically anything that doesn’t have a separate tab. Hand Weapons are for melee weapons, essentially those weapons using the Fighting skill, while Ranged Weapons would include weapons which could be used with Shooting or with Throwing. Special Weapons is often used for things like vehicular weapons, mines, explosives and so on. What things get put there as opposed to the other ones can often be a personal choice. Some folks might put a flamethrower as a Ranged Weapon, for example, but others might prefer to count that as a Special Weapon. If a distinction is made in the book for the setting you are working on then it’s usually best to follow their categorization because that’s probably the section your players will use based on what they see in the book.

Making Something

Let’s start with something commonly listed fairly early on in a setting book: Edges. If you click on the Edges tab you can add a new Edge by clicking on the “New (Blank)” button on the bottom left. The main thing you will need to do here is copy out the name of the Edge from the book and paste that into the Name field. For the Unique ID it’s best to leave the “edg” part of that alone but replace the “Z?” part with your previously decided 2-character designator. So we’ll have something that starts “edgHR” for our example. Then figure out something after that to name it. The entire field is only 10 characters long so just fit in something... well, unique. For “Uniqueness” this defaults to “No”, which just means that the Edge is not Unique in the sense that a character could take that Edge more than Once. If a character could only ever have one of that Edge you would change it to “Yes”. Often Summary Text can be taken from the Edges table listed in a book, but if there isn’t one just make this a short description of the text. The shorter the better. The Description Text can be a copy and paste of the description from the book, essentially the full description and rules for that Edge. The rest of the items are largely just things you can pick or figure out based on the Edge, such as the Type, Minimum Rank and so on. If you aren’t sure with most of them you can leave them blank. The Short Name is used on things like the printed character sheet. If you have an Edge with a long name you can put a shorter version of the name here. For example something like “Arcane Background: Magic” is pretty long for a summary printout, instead you might set a Short Name of something like “AB: Magic”.

There is one other thing here that’s pretty important on all things. That’s the Sources section. Be sure to hit that Edit button and you should see your new Source listed there. Hit the checkbox for it. If you do not list any Sources it will show up for EVERY setting, and you probably don’t want that. Now it is possible you want this thing to show up for not just this setting but maybe for some other ones as well. In that case you can select the other sources you want it to show up for from here as well.

One big suggestion I would add here is to “cheat”. What I mean by that is if you have something that is similar to that thing from another setting you can always use the “New (Copy)” button to make a copy of that other thing. Then you just have to change the stuff that’s different for your particular setting. Be sure to change the Sources, though, to your source and by removing the checkbox for the original source you copied this from. One thing of note is that Hero Lab doesn’t really let you copy things from the paid settings... or more precisely it will let you copy them, but it won’t let you save any changes you make to them. Instead you will need to just make a new thing and with the copied version just copy and paste each of the fields you need. Then you can save your new version and delete the copied one that you wouldn’t be able to save anyway.

All Done! Time to Copy and Paste

For the most part, that’s it. Do lots of copying and pasting away to your hearts content and you’ve got a basic data file in no time! You can even get some coded things done if you are just copying an existing thing. You can get a bit more in-depth by playing with some fairly easy to figure out stuff like how to use Pick-reqs, Expr-reqs and Pre-reqs to set up requirements. More complicated things are usually set up in Eval Scripts and usually you can try to work from examples for how to do those things, but if you just want to at least have the ability to select some things and see the text of those things in Hero Lab or a printed character sheet then you can ignore coding those game mechanics if you like.

If you aren’t too sure what a particular field does just ask on the forum. You can also get some information from the Help menu in Hero Lab.

Tips and Tricks

A few tips and tricks, may be helpful to note. One of the first places to go for more details on using the Editor itself is by checking out official documentation by going to Help → Help on Using the Editor.

When copying from PDF files some things don’t paste quite right into the Editor. Personally I prefer to paste text into Notepad or other simple text editor first, then I will delete the extra returns at the ends of lines, only having returns at the end of paragraphs. This lets Hero Lab handle the formatting of word wrapping lines much better. There are also some special characters you can use to bold, italicize and underline text. Just put the appropriate characters before and after the special text. For example use [b]for bold text[/b], [i] for italicized text[/i], or [u]to underline text[/u]. There are more things even than that but those should at least get you most of the way. I believe it just uses a lot of the same BB code just like the forum here does so this list may be helpful for some of it, but the Hero Lab documentation should give you more help on that front if you need it to some fancier text formatting. Hero Lab also does not recognize an em-dash (a long dash line commonly used), usually that will copy over from a PDF file as a simple dash. I find the best replacement for that is to just put two dashes in there instead--like that.

Now lets say you want more fancy stuff in your data file, like some of those crazy pre-requisites or eval scripts and stuff. My first recommendation would be to do everything you can without those things first. Then you can jot down what things you know will probably need more work done on them. Next see if maybe someone on the forum who is familiar with what you are wanting to do might be willing to help you out. Heck, if you’re lucky maybe someone will take over to finish things up for you after you’ve done all of the heavy cut-and-paste lifting for them!

Things Which are Different from Core Settings

In some cases some settings may state they they don’t allow certain Edges. Maybe Noble, for example, just isn’t appropriate for your setting. That’s what the *Preclude tab is for. All you’re doing there is putting in the UniqueID of what you want to remove and the Source ID for this setting. So in our example we’d do a New (Blank) and fill in “edgNoble” into the Thing Unique Id field and put “HouseRules” into our Source Id field. Then Noble will not show up. You probably don’t know the UniqueID off the top of your head for most things, but you can always use the “Find Thing...” button to try to find it.

Or maybe your setting Replaces the Noble Edge with some different information. A lot of people might just create a Noble edge on the Edges tab and look at that field on the left marked “Replaces Thing Id” and be tempted to just place edgNoble into there. Unfortunately that is a “gotcha” field. It’s very important to note that the “Replaces Thing Id” field over there is meant to be used for a GLOBAL replace. It completely ignores the Sources that you have set and will, instead, replace that thing no matter what sources you choose. That’s great if you have a House Rule that says, for example, the Shooting skill should always have certain text in that you want, no matter where it shows up. But if that should only apply when you have this particular source setting checked then you really shouldn’t be using Replaces Thing Id, especially if this is a data file for a setting you intent to share. Instead use the *Preclude tab as noted above to remove the original version of that thing from this setting and then create your own version that applies just for this source setting.

Just be a bit careful with your Precludes since they can cause errors if you Preclude something that is needed by something else. For example if you Preclude the Luck Edge but left the Great Luck Edge the program would complain when you try to load your data file about Great Luck needing Luck (well, actually it probably wouldn't complain in that example since it's just a pre-requisite for the Edge rather than a code dependency, but this is just an easy example). Arcane Backgrounds have many dependencies, so be fairly careful with those. You'll probably be fine if you just preclude the Edge but leave the rest of the AB-related things, like Drawbacks and such, alone.

Lenny Zimmermann
Metairie, LA, USA

Data files authored (please let me know if you see any issues with any of these if you have/use them):
Official (In the downloader)
50 Fathoms, Deadlands: Hell On Earth, Deadlands: Noir, East Texas University, Necessary Evil (requires Super Powers Companion), Pirates of the Spanish Main, Space 1889 (original file by Erich), Tour of Darkness, Weird War II, Weird Wars: Rome
Coming Eventually
Evernight (LWD has completed their review but I have some fixes to make first... although Pinnacle mentioned this might get an overhaul to SWADE so I may just wait for that first. If you just HAVE to have this now, though, just PM me)

Last edited by zarlor; August 1st, 2017 at 05:32 AM.
zarlor is offline   #1 Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -8. The time now is 01:06 AM.

Powered by vBulletin® - Copyright ©2000 - 2023, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.