[Tool] GD Stash

Not true, people still do it, and will. You redirected them to the right location, I answered the question, and a moderator merged it into the proper thread. :slight_smile:

No. First off, the tool does not allow editing of existing items at all, only the creation of new ones. Also, the stats of the item are not saved with the item but are saved in the game data, the item just references them (item ID, prefix ID and suffix ID). So to change any stats of an item, you need to change them in the game, i.e. you need a mod, they cannot be changed by editing a save file, as they are not stored in the save file.

whoever merged this, merged them into the wrong orderā€¦ now the GD Stash thread is under Mod Tutorials, no longer under Tools

Well, I donā€™t know who merged the thread; and didnā€™t know it got merged incorrectly. :confused:

Perhaps Report the thread and see if a moderator can move it back?

Edit: Looks like its fixed.

Huh? Howā€™d I do that? :o Back in the Utilities and Resources where it belongs. Sorry about that mamba.

I am sorry if this has already been answered, the search does not yield an answer. How do I update GDStash to the newest version? Can I install over the old version, oder do I have to do a new install? Can I keep the Stashā€™s contents when updating?

It should just be a case of downloading and installing the new one over the old. Contents should be fine.

Assuming you have the .zip file, just overwrite the previous version or delete it and then unzip the new one in its place.

You might have to also import the GD data again if the toolā€™s internal database format changed (should be the case with the latest version, but is not the case for all versions), this will not affect your stored items.

If you have the executable version, either uninstall the previous version first or overwrite it with the new one.

Yep I have the Java version installed. After extracting the contents of the .zip in the game folder the icon of the executable appeared as Java icon, not as the old GD Stash icon.Anyway, its really a non-issue for me since Iā€™m able to run GDStash without issues. I was just wondering why the executable had a different icon after extracting the .zip. I probably did something wrong when installing.

Edit: Unpacked the .zip file over the old version of GDStash is what I meant

Edit: Unpacked the .zip file over the old version of GDStash is what I meant

there is no executable, so not sure what you are referring to. The .jar file, which is the closest thing to an executable here always had a Java icon.

Version 1.4.1 released

Support for 1.1.0.0 illusion format added

Hi. I have some sql tables related errors after upgrading to the latest version. I have upgraded from a pre FG to the latest 1.4.1 (skipped 1.4.0) and now have that message after importing the database. It repeats itself a (large) number of times for different devotion shrines (probably all)


Error reading ID records/interactive/devotionshrinea01.dbr in table GD_SHRINE
Table/View 'GD_SHRINE' does not exist.
 java.sql.SQLSyntaxErrorException: Table/View 'GD_SHRINE' does not exist.
 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement42.<init>(Unknown Source)
 	at org.apache.derby.jdbc.Driver42.newEmbedPreparedStatement(Unknown Source)
 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
 	at org.gdstash.db.DBShrine.getDB(DBShrine.java:307)
 	at org.gdstash.db.DBShrine.get(DBShrine.java:293)
 	at org.gdstash.db.DBShrine.getShrineInfo(DBShrine.java:145)
 	at org.gdstash.ui.character.GDCharShrineAct1Pane.setChar(GDCharShrineAct1Pane.java:313)
 	at org.gdstash.ui.character.GDCharRiftNShrinePane.setChar(GDCharRiftNShrinePane.java:489)
 	at org.gdstash.ui.character.GDCharRiftNShrineTabbedPane.setChar(GDCharRiftNShrineTabbedPane.java:64)
 	at org.gdstash.ui.character.GDCharEditTabbedPane.setChar(GDCharEditTabbedPane.java:58)
 	at org.gdstash.ui.character.GDCharEditPane.setChar(GDCharEditPane.java:497)
 	at org.gdstash.ui.character.GDCharEditPane$CharSelectActionListener.actionPerformed(GDCharEditPane.java:74)
 	at java.desktop/javax.swing.JComboBox.fireActionEvent(JComboBox.java:1264)
 	at java.desktop/javax.swing.JComboBox.contentsChanged(JComboBox.java:1337)
 	at java.desktop/javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:123)
 	at java.desktop/javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94)
 	at java.desktop/javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:132)
 	at java.desktop/javax.swing.JComboBox.addItem(JComboBox.java:716)
 	at org.gdstash.ui.character.GDCharEditPane.adjustUI(GDCharEditPane.java:302)
 	at org.gdstash.ui.character.GDCharEditPane.<init>(GDCharEditPane.java:210)
 	at org.gdstash.ui.GDStashFrame.<init>(GDStashFrame.java:919)
 	at org.gdstash.ui.GDStashFrame$Starter.run(GDStashFrame.java:75)
 	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
 	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
 	at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)
 	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
 	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
 	at java.base/java.security.AccessController.doPrivileged(Native Method)
 	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
 	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
 Caused by: ERROR 42X05: Table/View 'GD_SHRINE' does not exist.
 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
 	at org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(Unknown Source)
 	at org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(Unknown Source)
 	at org.apache.derby.impl.sql.compile.FromList.bindTables(Unknown Source)
 	at org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(Unknown Source)
 	at org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(Unknown Source)
 	at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(Unknown Source)
 	at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(Unknown Source)
 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
 	at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
 	... 38 more

I downloaded the zip from nexus and unzipped it in my old GDStash folder, overwriting everything.
EDIT : I donā€™t have any mod.

Is it safe to use it anyway? Donā€™t want to loose all my stuff (not that i have that much, but iā€™d hate to loose it anyway).
EDIT : Looks like i just canā€™t use it anyway. Only the Configuration tab is available.

Donā€™t think i have thanked you before so iā€™l take the opportunity. Thanks for this great tool, you made an incredible job with GDStash. It makes inventory managements so much more convenient i donā€™t know if i could ever go back to mules again :slight_smile:

you need to import the GD data on the config page to fix this. You should have gotten a popup for that and should not have been able to leave the Config page without doing so.

If you managed to leave it, I would be interested in how you did that. If you already imported, then these messages should be outdated. If you start the tool again and they no longer show up, then they were outdated.

Thanks for the answer.

I got a popup when i launched after upgrading saying ā€œimport databaseā€ or something like that with a big OK button which i pressed. It took some time to launch which i supposed was caused by GDStash importing the database as said on the popup. Then i got the error log which i supposed was caused by an error during the import process.

Thinking about it now after reading your answer, i understand that the popup was just an information and the database wasnā€™t imported at all when i clicked OK, right?

Sorry for bothering you :o Itā€™s working now. And no, i wasnā€™t able to leave the configuration tab, other tabs were greyed out but i didnā€™t notice it at first when i posted as i didnā€™t close the error log in order to be able to copy-paste the error messages.

it does not actually import the DB, it only tells you to do so :wink:

Thinking about it now after reading your answer, i understand that the popup was just an information and the database wasnā€™t imported at all when i clicked OK, right?

yes

Sorry for bothering you :o Itā€™s working now. And no, i wasnā€™t able to leave the configuration tab, other tabs were greyed out but i didnā€™t notice it at first when i posted as i didnā€™t close the error log in order to be able to copy-paste the error messages.

ok, will have to suppress those messages then, there should be no messages shown when it has already been determined that the DB is outdated, looks like these escaped :wink:

Hey mamba, I need help. A few pages ago i posted saying that my illusions werenā€™t working and how none of the backups was showing different presets of illusion, so , i updated to 1.4.1 version and imported the new database but when i tried to add all illusions i got this;

javax.swing.ImageIcon@6b0254a6 Error reading C:\Program Files (x86)\Steam\userdata\115182916\219990\remote\save ransmutes.gst
javax.swing.ImageIcon@6b0254a6 java.io.IOException
java.io.IOException
at org.gdstash.file.GDReader.readBlockEnd(GDReader.java:122)
at org.gdstash.item.GDTransmute.read(GDTransmute.java:305)
at org.gdstash.ui.GDMassImportPane$FullTransmuteListener.actionPerformed(GDMassImportPane.java:358)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

do you think it has something to do with me using the cloud saving?

EDIT: Last time i also said that my illusions were gone after some errors, but this time ,fortunately, they didnā€™t

this basically means your illusion file is corrupted

Iā€™d suggest simply deleting it, have the game create a new one (which it should as soon as you pick up any item at that pointā€¦) and then use GD Stash to add all illusions to the new file, like you originally planned.

Doing that didnā€™t work exactly but i managed to solve it. Remember how i said my transmutes backups werenā€™t applying different presets of illusions? So, thats because a file called transmutes.cst (CST not GST as usual). This file seems to appear only when using the cloud saving, and once i removed it, it reseted my illusions, but i still couldnā€™t get my illusions to be added, even though i was getting the successful message in gdstash. The problem was, everytime i tried to delete that file, the steam would create it again.

So i moved the saves to local saving and then i could delete the transmute.cst file and all the illusions were actually being added to the game, but if as i tried to return to cloud saving, the steam create the file again and all my illusions got reseted. To pass that, i had to delete all my cloud saving through the network tab in game options and after doing that you can import your local saving to cloud saving and that way i get the game running with all the illusions.

Strangely this time, steam didnā€™t create the transmute.cst file.

I am surprised you have a .cst file, my understanding is that they get created when you install FG, as backups to use when playing without FG (e.g. to play MP with people that do not have FG)

If you actually use the .cst and the tool updated .gst, then that would explain why your illusions were not affected by the updateā€¦