What these be
The data tools package has some random tools to convert character data to XML and then do various things to it. These are ugly. These work.
Note: These scripts are provided as is. They're very very ugly code mostly coded to help me do some random simple thing. You're hereby invited to reprogram these to actually look pretty. These aren't, you know.
Especially noteworthy is the fact that There is no warranty of any kind. Don't blame me if these things blow up. I know they didn't blow up when I used them, but hey, you never know. Better do some backups.
I think that's worth repeating:
- These are ugly,
- I know that,
- I'm working on less uglier tools when I have time,
- If you think you have any improvements for these, please implement your own tools instead - these things aren't worth improving, but rather are ripe for complete rewrite,
- If these blow up, please don't bother me - I know they're prone for blowing up ocassionally. You're on your own. Like I said, these are better when rewritten.
- These are pretty useless anyway =)
itpxml.pl is particularly being rewritten. It was my first GFF reader and it bloody well looks like it. I have rewritten most of it in Common Lisp, which is more elegant than Perl in this respect, but regrettably is not as good when reading binary data. I can only hope NWN2 will have full XML data files, that would be a great improvement =)
Included in the data tools
In order of increasing ugliness
- itpxml.pl - tool for converting GFF files into XML. This is useful because the other scripts only deal with XML representations of the GFF data. Ugly.
- nwnchareqcostcalc.pl - Shows the prices of each item in the character inventory, and shows the total cost. This might be useful if you are DMing a game and want to make sure there's no Leet People in the group. Pretty ugly.
- statgen.pl - Takes an archive of PW characters (as generated by PW Character Archiver) and turns them into a CSV file. Basically, it's a Very Ugly hack that can be customised to produce all kinds of statistics. Some Perl expertise needed for that. Damn ugly.
- toplot.pl, plotgoldeq - Takes the CSV file produced by statgen.pl and produces graphs. Again, customizable if you know how. plotgoldeq requires GNUPLOT. Not only is toplot.pl indescribably ugly, it also goes in direct violation of Virtue of Hubris.
Aside of Perl 5.6 or later (written and tested in and works with 5.8), you need XML::Twig and perhaps some other stuff. All of this stuff is in Debian. Windows users might be able to get this thing to work, but basically need to ask their insurance companies for plans covering cases of sudden mental health problems.
An example plot
Narla's status, as of 2004-04-28, with some interpretation later on:
In early October 2003, Narla started the adventures in Arabel. (My second character on the server - the first was a rather boring concept. Ummm, I suppose Narla is still a boring concept. Anyway...) There we went, with rather steady growth, onward. Until I the end of the year, where I started to play rather slowly, because of the holidays and all.
Then, my slowness meant that I didn't play much in January. I had got HotU and had to play some of it because I couldn't on the holidays. Also, I had got a GameCube. That sort of hindered my PC gaming. In February, the Plunge in XP and Gold. What happened? Arabel had moved to v3, with support for HotU content and other stuff like that. There was this thing called The Purge™® that happened around the same time. Oh well, time to change the character descs and stuff like that. =)
After that, there was some rockiness because some of the stuff I had been doing turned out to be rather nightmarish in this brand new world. Marauding bands of gypsies killed Narla and stole the stuff at one point. I can't remember ehat the first big spike in EQ cost is for (probably random garbage collected from one adventure?), but I know that the tumbles some time after that were directly caused by me getting a brand new bow and suddenly getting that robbed by the gypsies, or something. After that, it's been mostly about getting the stuff funded by doing random errands.
![[XP graph]](narla-xp-20040428.png)
![[Gold graph]](narla-gold-20040428.png)