View Full Version : Advanced Character XML Creator

August 13th, 2005, 20:11

Second post and a tool that might be found useful....

I have spent all day writing a VB.Net application to create an XML file for an advanced character.

It's not the most friendly of layouts I suspect but any way it will save me having to do all the tables by hand.

If any one is interested let me know and I will e-mail it to you, better yet if someone wants to host it let me know and I shall send it over.


<goes to hide back with the other lurkers>

August 13th, 2005, 21:02
Sounds interesting!

Send it to me at richvalle @ yahoo.com and I'll post it over at adventuresomedreams.com.

Thanks for sharing.


August 14th, 2005, 00:18
Done: http://www.adventuresomedreams.com/forums/downloads.php?do=file&id=18


August 14th, 2005, 08:16
I have just uploaded version 1.1 of my .xml file creator. (it is currently awaiting approval)

This version lets you create either advanced or Prestige Modern classes, and also has a Features section.

The format is based on the advanced character format in the D20 Modern Ruleset.

You cannot create a table in the features section (I can't work out how to implement that).

When copying from a pdf it may have the same problem that the word macro did with quotes, I think I have resolved " ' " now.

Itís a bit rough, but I think itís still a bit easier than creating those class tables by hand.

It also includes some very basic instructions
This replaces the file uploaded by richvalle (thanks for that!)

August 14th, 2005, 14:19
I approved it!



August 14th, 2005, 22:03
Any chance that we could get this in a core d20 format?

Is there any way that I can help and or look into having one for the NPC format?

Let me know.

August 15th, 2005, 08:09

Uploaded to Adventuresome dreams...

I have not been able to test it with Fantasy grounds but the xml file matches the output for Allan in the example campaign, so should work. :|

August 15th, 2005, 11:58



August 16th, 2005, 04:57
This rocks! Looks like it is doing well, there is only one little minor bug <Squeek!>

When I use the node feature, when I go into my XML editor, the "" are missing from the code. it should read:


where it reads


well, not exactly written like so, but you get the idea.

Fantastic work!

I am a decent writer, but the coding is still pretty new to me!

You rock!

August 16th, 2005, 10:21
This looks amazing, without having tried to implement into FG.

Good job, these tools make FG module creation a delight.


August 16th, 2005, 14:55
When I use the node feature, when I go into my XML editor, the "" are missing from the code. it should read:


where it reads


Is this the NPC creator?

I wrote this at work during my lunch break and thus could not test it, sorry about that.

August 16th, 2005, 15:07
Yep, this is the NPC creator.

BTW you are making me jealous! You wrote it over your lunch break? It would take me weeks to figure out the code to do that! <sigh> I am so long out for programming!


Fantastic job!

August 16th, 2005, 18:38
BTW you are making me jealous! You wrote it over your lunch break?


All I did was re-write the advanced character program I wrote to create a different xml file.

I have not had a chance to fix that issue yet, but other than the missing quotes have you found any problems?

August 18th, 2005, 15:53
Version 1.1 has been uploaded this fixes the problem of the missing quotes.

August 26th, 2005, 14:07
First off Dos, great work. I tried your NPC Xml creator today, and all looks good. Here comes the but... :)

When I loaded it into FG, the character created looked all funny, and then the application crashed. I took a look at the xml generated, and found the discrepancy. Here is what the XML from the base FG program looks like:

<node name="00095">
<stringvalue name="ac" value="" />
<stringvalue name="advancement" value="" />
<stringvalue name="alignment" value="" />
<stringvalue name="atk" value="" />
<stringvalue name="babgrp" value="" />
<intvalue name="charisma" value="0" />
<intvalue name="constitution" value="0" />
<intvalue name="cr" value="0" />
<intvalue name="dexterity" value="0" />
<stringvalue name="environment" value="" />
<stringvalue name="feats" value="" />
<intvalue name="fortitudesave" value="0" />
<stringvalue name="fullatk" value="" />
<stringvalue name="hd" value="" />
<intvalue name="hp" value="0" />
<intvalue name="init" value="0" />
<intvalue name="intelligence" value="0" />
<stringvalue name="leveladjustment" value="" />
<stringvalue name="name" value="Daign " />
<stringvalue name="organization" value="" />
<intvalue name="reflexsave" value="0" />
<stringvalue name="skills" value="" />
<stringvalue name="spacereach" value="" />
<stringvalue name="specialattacks" value="" />
<stringvalue name="specialqualities" value="" />
<stringvalue name="speed" value="" />
<intvalue name="strength" value="0" />
<formattedtext name="text">
<p>War 1 </p>
<stringvalue name="treasure" value="" />
<stringvalue name="type" value="" />
<intvalue name="willsave" value="0" />
<intvalue name="wisdom" value="0" />
Here is what your program generates:

<node name="00098">
<stringvalue name="ac" value="21 (Flatfooted:21 Touch:10)"/>
<stringvalue name="advancement" value=""/>
<stringvalue name="alignment" value="CE"/>
<stringvalue name="atk" value=" +10 (1d8+4, +1 Mace, heavy); +8 (1d6+3, Armor Spikes); +10 (1d8+5, +1 Mace, heavy)"/>
<stringvalue name="babgrp" value="+8/+8"/>
<stringvalue name="charisma" value="7"/>
<stringvalue name="constitution" value="15"/>
<stringvalue name="atk" value=" +10 (1d8+4, +1 Mace, heavy); +8 (1d6+3, Armor Spikes); +10 (1d8+5, +1 Mace, heavy)"/>
<stringvalue name="cr" value="6"/>
<stringvalue name="dexterity" value="11"/>
<stringvalue name="enviroment" value=""/>
<stringvalue name="feats" value="Armor Proficiency: heavy, Armor Proficiency: light, Armor Proficiency: medium, Disciple of Darkness, Improved Initiative, Power Attack, Shield Proficiency, Simple Weapon Proficiency, Toughness, Tower Shield Proficiency, Weapon Focus: Mace, heavy"/>
<stringvalue name="fortitudesave" value="8"/>
<stringvalue name="fullatk" value=""/>
<stringvalue name="hd" value="HD (3d10+6) + (3d8+6)"/>
<stringvalue name="hp" value="53"/>
<stringvalue name="init" value="4"/>
<stringvalue name="intelligence" value="8"/>
<stringvalue name="leveladjustment" value=""/>
<stringvalue name="name" value="Holg Bloodaxe"/>
<stringvalue name="organization" value=""/>
<stringvalue name="reflexsave" value="2"/>
<stringvalue name="skills" value=""/>
<stringvalue name="spacereach" value="5/5"/>
<stringvalue name="specialattacks" value=""/>
<stringvalue name="specialqualities" value="Darkvision (Ex): 60 ft., Orc Blood"/>
<stringvalue name="speed" value="20"/>
<stringvalue name="strength" value="17"/>
<formattedtext name="text">
<p>Spells Prepared (Clr 4/3/1)</p>
<p>2nd - Dance of Ruin, Desecrate (d)</p>
<p>1st - Bane, Doom, Heartache, Protection from Good</p>
<p>0 - Detect Magic, Inflict Minor Wounds, Read Magic, Resistance</p>
<p>Spells Known</p>
<p>2nd -- Addiction, Aid, Align Weapon, Augury, Avoid Planar Effects, Bear`s Endurance, Black Lungs, Boneblast, Brambles, Bull`s Strength, Calm Emotions, Consecrate, Cure Moderate Wounds, Dance of Ruin, Darkbolt, Darkness, Death Knell, Delay Manifestation, Delay Poison, Desecrate, Devil`s Tongue, Divine Flame, Divine Zephyr, Eagle`s Splendor, Enthrall, Eyes of the Zombie, Fangs of the Vampire King, Filter, Find Traps, Gaze Screen, Gentle Repose, Ghost Lock, Ghost Touch Armor, Hold Person, Inflict Moderate Wounds, Knife Spray, Lahm`s Finger Darts, Make Whole, Mark of the Outcast, Owl`s Wisdom, Remove Paralysis, Resist Energy, Restoration, Lesser, Sap Strength, Shatter, Shield Other, Silence, Sound Burst, Spider Legs, Spiritual Weapon, Spores of the Vrock, Status, Stone Bones, Summon Monster II, Tharzidun`s Touch, Undetectable Alignment, Wave of Grief, Wither Limb, Zone of Truth.</p>
<p>1st -- Angry Ache, Bane, Bless, Bless Water, Burial Blessing, Cause Fear, Command, Comprehend Languages, Create Ectoplasm, Cure Light Wounds, Curse Water, Deathwatch, Detect Chaos, Detect Evil, Detect Good, Detect Law, Detect Undead, Divine Favor, Doom, Drug Resistance, Endure Elements, Entropic Shield, Extract Drug, Heartache, Hide from Undead, Inflict Light Wounds, Magic Stone, Magic Weapon, Obscuring Mist, Painless Death, Pleasant Visage, Portal Beacon, Protection from Chaos, Protection from Evil, Protection from Good, Protection from Law, Protection from Possession, Regenerate Light Wounds, Remove Fear, Sacrificial Skill, Sanctuary, Seething Eyebane, Shield of Faith, Slow Consumption, Sorrow, Spider Hand, Spittle Spray, Stupor, Summon Monster I, Suspend Disease, Tongue of Baalzebul</p>
<p>0 -- Create Water, Cure Minor Wounds, Detect Ghost, Detect Magic, Detect Poison, Disrupt Ectoplasm, Guidance, Inflict Minor Wounds, Light, Mending, No Light, Preserve Organ, Purify Food and Drink, Read Magic, Resistance, Slash Tongue, Virtue</p>
<p>Weapons: +1 Mace, heavy (2,312 gp); Armor Spikes (50 gp).</p>
<p>Armor: +2 Half-plate (4,750 gp).</p>
<p>Shields: +1 Darkwood Shield, light wooden (1,203 gp).</p>
<p>Goods: Coin: gp (305) (305 gp); Citrine (50 gp); White pearl (100 gp); Onyx (30 gp).</p>
<p>Magic: Potion: Cure Serious Wounds (7) (1,050 gp).</p>
<stringvalue name="treasure" value=""/>
<stringvalue name="type" value="Male Half-Orc Ftr3/Clr3"/>
<stringvalue name="willsave" value="5"/>
<stringvalue name="wisdom" value="13"/>

I have gone ahead and highlighted the differences for you. The problem is that some of the numbers call for a integer value, (<intvalue name=""/>) so that it can recognise it as a number, if the data is displayed as a string value, FG does not understand. It shows a whole bunch of letters jumbled together.

As another request, if you do not mind, is there a way to attach code to the <nodename=""> so that it reads <node name="00096" category="8">

When you have multiple NPCs (I have over 250 in this campaign!) it helps with the sorting.

Cheers, hope this helps you out.

August 26th, 2005, 16:46
Thanks for the pointers, I've been working my way through the feats at the moment (I'm seemed to have caused some upset on that front :oops: ).

I will look into fixing this weekend, I'll need it when I start creating the module.

August 27th, 2005, 06:55

All reorted issues should now have been fixed.

Also I added the category option as requested.

August 27th, 2005, 07:00
Thank you!

When I get a chance to check it out, I will let you know!

You rock!

Jus one question though... How do you feel about coming up with an NPC Xml creator based on the new NPC sheets crusader and myself are working on??

Let me know...


August 28th, 2005, 01:30
When you have got them finalised let me know...


August 28th, 2005, 01:36
Hopefully it won't be long. I provided kalmarjan with the first version today.

August 28th, 2005, 20:18

When you have got them finalised let me know...

The code is almost finalised. I will Pm you the code when I get a chance.

As for this expansion, I am currently plugging through the data entry portion, to fix the monster.xml files so they display correctly with this, and they will be a part of this zip file as well. Should be a week.

Thank you for everything!

The cards look good. Can't wait to figure out how to dynamically resize everything.


September 14th, 2005, 21:22
The code is almost finalised. I will Pm you the code when I get a chance.

Is this done?

I am soon going to be entering my NPCs and I want to use your version....


And I still have to write the program to di it!


September 15th, 2005, 04:22
Sorry, RL has gotten in the way here....

I am waiting for a few changes to be finalized by Crusader, then I will be able to finish the data entry.
I am plugging away at it, and I will be done oh, I swear by the year 2988.

(Sound familiar?? LOL)


P.S. Seriously, it should be a couple of weeks. :)

September 15th, 2005, 05:53
Yeah, I've had a lot of work lately as well. I will finish the alterations this weekend though.

Sorry for the delay.

September 15th, 2005, 11:46
PDP mon ami!

I cnat wait to see the result!


September 15th, 2005, 13:27

September 15th, 2005, 16:08
Pas de Problem - PDP

Sorry, could not resist.

Gods I am tired today!


September 21st, 2005, 00:16
Hello folks, just looking for help inusing the .XML converter. I have no problems with using it, only how to get the completed NPC into the game? Someon mentioned editing the DB file ? Do I have to do this? Really hoping to get some NPC's into my7 game. Thanks Graiskye

September 22nd, 2005, 09:10
The NPC XML Creator is something I knocked up quickly because there was a request for it, I have not used myself yet and I think it's a bit flaky...

A new version will be done (with some notes on how to use it) when the new NPC stat block is created by others on this board.

But a brief explanation is in order...

Add the following to db.xml in your campaign folder:

<node name="npc">
<category name="" mergeid="" baseicon="0" decalicon="0">

This will hold all the entries that are created.

The XML file that is created needs to be copied between the category entries e.g.

<category name......
<node name="00001" category="">
<stringvalue name="ac" value="13, touch 13, flatfooted 11 (+0 size, +2 Dex, +1 class)"/>

Node Name - FG stores each NPC as a numerical number (so make sure that every time you create a NPC you increase the node number.

Category - This was a requested (I do not know what it does though)

Type - Again this was a field used by FG I think the idea is to put class details or type e.g. Humanoid, Beast, etc.

Sorry for the lack of notes as I say I knocked this up as quick fix for someone (I am terrible at remembering handles) on this board and have not looked at it since.

Hope the above helps in some way....

September 23rd, 2005, 07:45
Hey thx, Well Im not sure if it'll get me where I want to go, but its a heck of a lot better than a poke in the eye with a sharp stik, I'll try and stumble thru adding a NPC, one last thing do people edit the .xml files with an xml editor, or do you just use notepad ? Thanks again Grai.

September 26th, 2005, 20:48
Just curious and sorry if this is off topic a bit.
I was wondering if anyone had thought about creating an online xml NPC creator? Say a web page opens up, you select various things (races, age, class, etc) then select basic equipment from a list, skills, etc and the scripts generate the XML that could then be copied and pasted into the database that FG uses. My thought is that if you could get it to produce code that could easily be copied and paste (wth either no changes or very very minor ones) it would allow for many many more NPCs to be entered into the FG system.
Would this even be possible? Not sure as I have not looked into the code side of FG, but can you cut and paste into the database file?

September 27th, 2005, 02:35
I thought about that, just wish I had time to make something like that, I think it would be nice to have. Hopefully someone else will take the time to do it.

October 24th, 2005, 16:49
Since msd revamped the downloads area on the AD site I cannot find a link to the NPC xml creator... does anyone have a current link to this?

October 25th, 2005, 09:53
I have just uploaded it again.

ONLY the NPC software not a certain other program that caused a lot of trouble before :oops:

October 25th, 2005, 13:46
Whats the scoop on that? I thought it might be made available as a free download?


October 25th, 2005, 18:44
I lost my copy of the source code on that and wrote a new version for myself taht used a different format completely that would work with my Darwin's World Ruleset.