[Tool] GD save file editor

Howdy!

The editor now fetches faction names from the game’s data files directly! This means new AoM faction names will now show up correctly when doing “show faction-values”.

Just hit the “update” command as usual!
=)

Excellent, I will try again tonight.
Cheers.

Hi there,

just bought GD and already did some big mistakes on my attributes why i wanted to reset them. respec skills just works fine, unfortynately respecc all or attributes ends up in an error:

Caught exception: nil
java.lang.NullPointerException: null
at gd_edit.command_handlers$respec_character_attributes.invokeStatic (command_handlers.clj:1710)
gd_edit.command_handlers$respec_character_attributes.invoke (command_handlers.clj:1694)
gd_edit.command_handlers$respec_handler.invokeStatic (command_handlers.clj:1783)
gd_edit.command_handlers$respec_handler.invoke (command_handlers.clj:1758)
gd_edit.core$fn__13040.invokeStatic (core.clj:78)
gd_edit.core/fn (core.clj:78)
gd_edit.core$repl_eval.invokeStatic (core.clj:185)
gd_edit.core$repl_eval.invoke (core.clj:149)
gd_edit.core$repl_iter.invokeStatic (core.clj:205)
gd_edit.core$repl_iter.invoke (core.clj:199)
gd_edit.core$repl$fn__13106.invoke (core.clj:213)
gd_edit.core$repl.invokeStatic (core.clj:212)
gd_edit.core$repl.invoke (core.clj:208)
gd_edit.core$_main.invokeStatic (core.clj:510)
gd_edit.core$_main.doInvoke (core.clj:498)
clojure.lang.RestFn.invoke (RestFn.java:397)
clojure.lang.AFn.applyToHelper (AFn.java:152)
clojure.lang.RestFn.applyTo (RestFn.java:132)
gd_edit.core.main (:-1)

not sure if this is probably related to the latest expansion of GD.
Help would be appreciated :slight_smile:

Howdy…

I tried the respec command with the expansion. It seems to work fine. =\

From the error you posted, it looks like the editor had trouble locating a game db record that defines how a character is modified when it is leveled.

The most common cause is the editor not being able to find your game installation. To check if this is the case, run the “diag” command. You should see something along the following:


> diag

✔ JVM version: 1.8.0_152-b16
✔ Game directory exists
✔ File exists: <game installation path>/database/database.arz
✔ File exists: <game installation path>/resources/Text_EN.arc
✔ File exists: <game installation path>/resources/Items.arc

Or… it’ll ask you to use the “gamedir” command to tell the editor where your game is installed.

To set the gamedir, just do:


gamedir "c:\somewhere\a really long path here\GrimDawn"

You’ll need to put in the actual path to the game, of course. =)

Once that’s done, try the “diag” command again to verify that it really is able to find the various game files now. The full respec command should work after that.

If that still doesn’t work, try running the following:


> db r/creatures/pc/playerlevel

records/creatures/pc/playerlevels.dbr
	ActorName: Player Levels
	characterModifierPoints: 1
... <other output omitted> ...

If that doesn’t work… your game db file might have been corrupted for some reason. It’s very unlikely that this might be the case. You’ll definitely notice this because the game itself probably won’t be working correctly. x_x

Anyway, hope this works for ya! If none of this works… then drop me a link to your character file and I’ll take a look.

=)

well … thanks a lot … my bad

actually i thaught i already set the gamedir, but i guess using ’ instead of " was the problem :undecided:

seems fine now :slight_smile:

Thumbs Up for the great work (Y)

Hi Odie!
I have trouble using your GD-editor after updating new version. There’re some errors but i don’t know what they are :frowning: Could you please help me ?
This is the link to download the log
drive.google.com/open?id=0BzQEqDIY4Ff2YlROMDBSUUYtNzA

Hello, I may have missed if this was asked so apologies in advance but I edited my characters level, attribute points, skill points and devotion points so its all set for level 100. But I noticed the first time when I set it to level 60 as I wanted to level up in the game, my experience was turned off and thats why I had to set it to 100 but I’m wondering if there is a command to enable experience gain or something? Thanks

Hi there,

Are you sure your character isn’t gaining exp anymore? Did you check your character stat screen to check your exp points before and after killing a critter?

The editor doesn’t have any features to disable or enable experience points. I don’t believe there are any fields in the save file that tells to game to “stop adding experience points” either.

My best guess is that you might have manually set your level using something like “set level 60”. IIRC, when you do this, the game’s exp bar near the bottom of the screen would appear like it is not moving at all. Basically, the game is waiting for your character’s experience to catch up to level 60, before it’ll start displaying your exp gain in the bar.

If this is the issue you’re having, the best way to fix this is to use the “level” command. It should fix up your experience level to the “correct” value. Try “level 60” to bring your character up to level 60, along with the correct attribute, skill, and experience points.

Hope that helps!

I made a backup of my character, changed it’s name and wanted to test other things.

I wanted to max out a few factions but I’m not being very successful.

Isn’t the command set faction-values Devil’s Crossing 5000 right?

It just claims faction-values can’t be set.

Thanks.

Howdy,

You’ll want to do something like


set faction-values/4/faction-value 5000

You’ll want to replace the “4” with the correct “index” of the faction you want to change. To see a list of factions and their corresponding index, use “show faction-values”. The index number will appear right next to the faction labels.

Sorry, I don’t have the editor handy and the moment. So you’ll have to find the right index for “devil’s crossing’.

Hope that helps!

Now I tried a bunch of different stuff with numbers, even names but I would never had been able to figure out that one haha.

It worked great so thanks!

Great!

The “set” command usually follows the pattern “set <path to value> <new value>”.

One way to think about this is that the editor is viewing your save file like a big directory/tree structure. You can change whatever field you’d like if you give it an exact path to the field.

Lemme know if you run into any more problems!
:slight_smile:

can i change the result of quest with children in Malmuth?

Sorry! The editor can’t deal with quests. X(

Hello,

Thanks for this great tool!

I’m having an issue with a copy of a lvl 100 character.
I wanted to copy a character, and change one mastery to another.

The commands I ran:

  • choose original character
  • write NewName
  • class remove Shaman
  • class add Necromancer
  • respec

I imported my character on grimtools, and it’s telling me I have 26 missing points.
I have done all 3 hidden path quests, all 3 Kasparov’s Experiment quest, and I still need to do The Other You for 1 skill point.

Here is the profile:
http://www.grimtools.com/calc/YZe9xvkZ
And here is the profile of the original character, which has 1 missing point:
http://www.grimtools.com/calc/RZR96GOV

Any idea why this is?

Thanks1

Are you’re using Steam Cloud Saving? If so, make sure you totally exit Steam first. Not doing so can cause issues.

Yes I am, and of course yes I did that. I made this character a couple of days ago, rebooted pc in that time too.
Not rebooting steam would not show that character on the list, not somehow have missing skill points though, I think.

Just wanted to make sure. :slight_smile:

Hi,

I just creat a new one:


> show sack

     focused-sack : 0
  inventory-sacks : collection of 1 items
       sack-count : 1
    selected-sack : 0

When I do:


> set sack-count 6
> w

I got:

Exception in thread “main” java.lang.AssertionError: Assert failed: (= (:sack-count block) (count (:inventory-sacks block)))
at gd_edit.gdc_reader$write_block3.invokeStatic(gdc_reader.clj:191)
at gd_edit.gdc_reader$write_block3.invoke(gdc_reader.clj:182)
at gd_edit.gdc_reader$write_block.invokeStatic(gdc_reader.clj:990)
at gd_edit.gdc_reader$write_block.invoke(gdc_reader.clj:960)
at gd_edit.gdc_reader$write_block.invokeStatic(gdc_reader.clj:962)
at gd_edit.gdc_reader$write_block.invoke(gdc_reader.clj:960)
at gd_edit.gdc_reader$write_character_file.invokeStatic(gdc_reader.clj:1125)
at gd_edit.gdc_reader$write_character_file.invoke(gdc_reader.clj:1077)
at gd_edit.command_handlers$write_character_file_after_backup.invokeStatic(command_handlers.clj:767)
at gd_edit.command_handlers$write_character_file_after_backup.invoke(command_handlers.clj:743)
at gd_edit.command_handlers$write_character_file.invokeStatic(command_handlers.clj:822)
at gd_edit.command_handlers$write_character_file.invoke(command_handlers.clj:785)
at gd_edit.command_handlers$write_loaded_character_file_BANG_.invokeStatic(command_handlers.clj:830)
at gd_edit.command_handlers$write_loaded_character_file_BANG_.invoke(command_handlers.clj:825)
at gd_edit.command_handlers$write_handler.invokeStatic(command_handlers.clj:906)
at gd_edit.command_handlers$write_handler.invoke(command_handlers.clj:890)
at gd_edit.command_handlers$character_manipulation_screen$fn__12571.invoke(command_handlers.clj:222)
at gd_edit.core$repl_eval.invokeStatic(core.clj:173)
at gd_edit.core$repl_eval.invoke(core.clj:149)
at gd_edit.core$repl_iter.invokeStatic(core.clj:205)
at gd_edit.core$repl_iter.invoke(core.clj:199)
at gd_edit.core$repl$fn__13106.invoke(core.clj:213)
at gd_edit.core$repl.invokeStatic(core.clj:212)
at gd_edit.core$repl.invoke(core.clj:208)
at gd_edit.core$_main.invokeStatic(core.clj:510)
at gd_edit.core$_main.doInvoke(core.clj:498)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at gd_edit.core.main(Unknown Source)

Is there any other way to do?
And thank you for your effort! :smiley:

Howdy!

It sounds like some 25 skill points vanished when you respec’ed. Do you mind sending me the original character save file to play around with? I’ll try to see if I can track down the issue.

Thanks!