These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

cak2eft - an EFT character skill file generator

Author
Lutz Major
Austriae Est Imperare Orbi Universo
#1 - 2011-10-12 10:44:02 UTC  |  Edited by: Lutz Major
We are all waiting for the new EFT version, which allows customizable API keys (CAK).

Until then, we have to manually update our skills in EFT Sad (or use the old API system - which might be shut down in the next weeks)


So I created a small JAVA application, which fetches the CharacterSheet and converts it to a EFT character skill file - it's really easy and I wondered why nobody has done it already.

Current Version: 0.1.16
You need this jar file : cak2eft.jar
You can download the source (and jar) files from my single-version SVN Lol: cak2eft.zip

What you need:
* You need Java 1.6 - the most people should have at least the JRE (Java Runtime Environment) installed. Check your version (either in the System Controls (Windows) or on the shell: open it with Windows -key + R - type in 'cmd' and enter 'java -version' in the DOS box).

* Now you need an API key. Go to http://support.eveonline.com and create a customizeable API key with at least access to the CharacterSheet (accessMask = 8). You can either make a key for an Account (all three characters will be used) or for an single Character.


When everything is done: open a shell and change to the folder where you have the cak2eft.jar file
(e.g. cd /downloads/stuff/cak2eft/ )

now execute java -jar cak2eft.jar keyID vCode destinationPath

The destination path is the folder where your EFT character skill files will be stored!

If everything worked out, you should have some *.chr files in the destination folder. Copy them into the EFT/Characters folder and start EFT (you can also provide the EFT/Character folder as parameter!)


Please use this thread if you have any issues - other pilots might have the same questions/problems/praises Big smile

Regards,
Lutz
mxzf
Shovel Bros
#2 - 2011-10-12 14:37:53 UTC
Nice work. I've actually been planning on doing this exact same thing in Python for a little bit now, but classes and work have been getting in the way.

It seems to be fairly easy to do, the biggest headaches are parsing the XML and then connecting skill numbers to English names. I'm planning on looking at your source code to see how you do that (I still want to make my own one too, just because, lol).
Lutz Major
Austriae Est Imperare Orbi Universo
#3 - 2011-10-12 14:55:19 UTC
mxzf wrote:
Nice work. I've actually been planning on doing this exact same thing in Python for a little bit now, but classes and work have been getting in the way.

It seems to be fairly easy to do, the biggest headaches are parsing the XML and then connecting skill numbers to English names. I'm planning on looking at your source code to see how you do that (I still want to make my own one too, just because, lol).

Do it :) It's really not hard.

The EFT character skill file has an easy format: skillName=skillLevel ... that's it.

I extracted all skills from the static database (yeah - I know - all skills! I was too lazy to check the skillGroups actually needed by EFT!) and wrote them into a XML file.

For the application I create the URL to fetch the ApiKey. Do some checking (type / access mask / expiry date) and then load the skills from the character sheet.

The XML transformation is done by XPath expressions and JAXB (totally easy!).

Then iterate over the available skills and check the skill level of the character(s). Print them to a file. Voila!

Granted, the error handling could be a bit better, but I started the project this morning, when I had to update EFT for the hundreth time manually :(



I'm just working on a web solution, but I'm uncertain, whether or not the people are too paranoid to use it ...
Desmont McCallock
#4 - 2011-10-12 19:28:37 UTC
I don't want to nullify the work you have put into creating the app Lutz but EVEMon already has such a converter.
Any EVE pilot that uses EVEMon can export his/her character in EFT format and drop the file into the EFT 'Characters' folder.

Then start EFT and your character is updated.
mxzf
Shovel Bros
#5 - 2011-10-12 22:26:15 UTC
Desmont McCallock wrote:
I don't want to nullify the work you have put into creating the app Lutz but EVEMon already has such a converter.
Any EVE pilot that uses EVEMon can export his/her character in EFT format and drop the file into the EFT 'Characters' folder.

Then start EFT and your character is updated.


Hey, cool, that's handy.

I'll likely end up making my own version anyways (the more I look at it, the easier it seems). From what I'm looking at, once I turn that XML file of skills into a Python dict in a json file for easy lookup, it should be fairly simple to simply iterate over the skill sheet and spit out a file (and the way I design it I'll be able to keep a txt file of API keys and just iterate over it and spit out a few characters).
Lutz Major
Austriae Est Imperare Orbi Universo
#6 - 2011-10-13 08:37:26 UTC
Desmont McCallock wrote:
I don't want to nullify the work you have put into creating the app Lutz but EVEMon already has such a converter.
Any EVE pilot that uses EVEMon can export his/her character in EFT format and drop the file into the EFT 'Characters' folder.

Then start EFT and your character is updated.


\o/ EVEMON!!! *whoooo*

No prob. I've already dawdled (? is that the correct word for wasted?) so many hours in my life with less output. So those two and a half hours won't make a difference Big smile



But remember ... when we next meet in space, I'll nullify you! *hrrr* Pirate
Desmont McCallock
#7 - 2011-10-13 10:02:42 UTC
Lutz Major wrote:
But remember ... when we next meet in space, I'll nullify you! *hrrr* Pirate


Lol See you in next Mass Test...