Jump to content

Editing dialogue files - saving issue with database - log errors


Recommended Posts

I've tried searching online to see if anyone has ever had this problem before, but I can't find anything anywhere. I'm going a bit crazy at this point, and I'm hoping someone more knowledgeable than me can help.

Ever since I installed the Toolset on my newer PC (with Windows 11) I've had this odd issue where I can't add new lines to a vanilla dialogue file and save it. I've used the toolset on 3 previous PCs and never had this problem. And it's not the only file type I can't edit. While I can edit vanilla scripts and save them, I can't edit existing plot files. And I can only add new lines to dialogue if I open a local copy, and of course, that's useless if I want to expand upon existing scenes because it doesn't assign the new lines string IDs, so I can't attach cutscenes, existing or new, to any existing line that I copy and paste (without linking it) to create a new dialogue tree for that conversation. I can edit plot flags on existing lines and save them, but the toolset throws up an error whenever I try to add a new line to an existing dialogue and save it. I have a dialogue overhaul mod I'm working on, and this issue has severely limited my ability to expand the dialogue the way I want.

I can create new modules and new dialogue files, new facial animation, and voice-over with no issues. However, editing vanilla files in the database is impossible.

I uninstalled and reinstalled the toolset, thinking I did something wrong with the installation and following the same instructions I've used in the past. But it didn't change anything. I thought it was a permission issue with Windows or the SQL database, so, based on the many posts online on how to set up the SQL database, I checked every place I could to make sure permissions were open, files were writable, etc. I have no idea what else to do or how to tell if I'm missing files or if I installed something wrong.

Has anyone ever had this problem before? Or know of a solution?

This is the error I get and the error log. I don't have enough knowledge or expertise to understand exactly what it's saying in the log. I'd appreciate help from anyone who does.

 

 

Screenshot2024-04-16224210.png.daec7bc42253125ba08e92020d49da6a.png

 

Error Log:

Text: You seem nice.
Description: "
Tue Apr 16 22:41:49 2024, ERROR, ".\ResourceIOBase.cpp", 756, "ResourceIOBase::WriteResourceInternal caught an exception: Unable to save to the database the resource ""lot101lt_allison"" in campaign 2."
Tue Apr 16 22:41:49 2024, ERROR, ".\toolsoledb.cpp", 971, "Tools::DBTransaction::~Tools::DBTransaction: Abort failed."
Tue Apr 16 22:45:47 2024, ERROR, "d:\DASecuROMBuild\main\dev\tools\sdk\include\toolsoledb.h", 226, "Violation of PRIMARY KEY constraint 'PK_t_String'. Cannot insert duplicate key in object 'dbo.t_String'. The duplicate key value is (610000189)."
Tue Apr 16 22:45:47 2024, ERROR, ".\dbstring.cpp", 267, "CDBString::Add caught an exception: Bad HRESULT: 80040e2f"
Tue Apr 16 22:45:47 2024, ERROR, ".\toolsoledb.cpp", 971, "Tools::DBTransaction::~Tools::DBTransaction: Abort failed."
Tue Apr 16 22:45:47 2024, ERROR, ".\dbbase.cpp", 918, "CDBBase::Write caught an exception: Could Not add new String to DB.
Text: You seem nice.
Description: "
Tue Apr 16 22:45:47 2024, ERROR, ".\ResourceIOBase.cpp", 756, "ResourceIOBase::WriteResourceInternal caught an exception: Unable to save to the database the resource ""lot101lt_allison"" in campaign 2."
Tue Apr 16 22:45:47 2024, ERROR, ".\toolsoledb.cpp", 971, "Tools::DBTransaction::~Tools::DBTransaction: Abort failed."

 

Edit:

This was the closest thing I could find to a similar problem. So, perhaps it's a string ID issue?

https://fextralife.com/forums/t145983/resource-can-not-be-saved--stringids-solved-it-seems

Edited by SarahCousland
Link to comment
Share on other sites

Quote

Cannot insert duplicate key in object 'dbo.t_String'. The duplicate key value is (610000189)."

That appears to be the cause of the problem.  You're trying to create a string with a string ID that already exists in the DB.

Usually, when we add lines of dialogue through the conversation tool in the toolset, it automatically assigns a string id behind the scenes.  But then when you try to save it, the string ID it automatically assigned already exists in the DB so the save fails.

As for a solution - I'm not sure what to tell you as it isn't something I've ever done, but there are some things you could try.  You could try creating a duplicate of the conversation you want to modify and edit it to see if you can get that to work and save your changes.  Here's a quick description of a series of steps...

  1. Create a duplicate with a slightly different name, like prepend "new" to the filename.
  2. Make the desired edits and save them.  If that works, continue with the next step.
  3. Rename the vanilla file by prepending "old" to the filename.
  4. Now rename the new file you just edited by removing the "new" you had prepended.  So now the file you've edited has the vanilla filename and the vanilla  file has "old" prepended to it.
  5. Export/distribute the files so you can test them and test.

I have no idea whether that will get you where you want to go, but it may be worth a try.  Good luck.

Link to comment
Share on other sites

Thank you for the advice. I'll try duplicating conversations as a workaround. In that case, I was trying to copy an existing line with its existing vo and animation to create a duplicate branch of dialogue with new plot checks, so what you're saying makes sense.
 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...