aaronjreeves wrote: ↑Thu Aug 17, 2023 2:19 am
TO EVERYONE TRYING TO SPAWN NPCS:
Unless the NPC you are trying to spawn is a companion, you will not be able to talk to them once you've spawned them into the game using the NPC spawn table with their UUID. They will just stand there lifeless unless you perfectly place them in the world AND perfectly execute the entire fragile string of flags for the events and world states that load their animations and even once you got them properly executing their animations, you still cant talk to them. You can even flag them as having dialogue, making them glow when you hover over them and giving you a speech bubble icon, but when you click, nothing happens. Ive spent 20+ hours researching and digging to try to make it work, and as of this moment, you cannot.
Specifically, there is a database in your safe file named "PermaDead" (theres actually 4 variants of this DB), and when a NPC dies they are added to this database. YOU CANNOT REMOVE THEM FROM THE DB WITHOUT EDITING THE SAVE FILE. As of this moment, the LSLib ConverterTool CANNOT properly re-package a save file even if you dont edit the save at all.
You can test this yourself, download the LSLib converter tool (
[Link]) then open the converter app, choose BG3 at the top, use the extract package tab, choose your .lsv save file in package path and whatever folder you want as destination path, this will unpack your save file into a bunch of .lsf files, take the folder you just used as your destination to the LSX/LSF tab and in batch convert choose it as the input AND output directory and input format lsf and output format lsx. this will take those unreadable .lsf files and convert them to a xml readable lsx. you now have a fully editable copy of your save file that you can dig through to edit as much as you want.
this is the point where I spent countless hours researching quest flags, game states and event triggers. Let me tell you that I have EXHAUSTED every possibility of editing a save file and no matter WHAT you do, when you repackage the save file by reversing the above steps, it will crash on load. Even if you just unpack and repack the save file with no changes, it still crashes on load.
in the story (OSI) tools tab you can load your save file as well and browse the flags in the database editor. This is where you can see the PermaDead DB. You can even edit the DB on this tab as well but again, no matter what changes you make, even if you make no changes at all, when you click "save" you get a warning that LSLib cannot properly repackage the .lsv save file and you get a crash on load.
Theres no way to spawn a USABLE dead NPC until we get a way to properly repackage a save file and hopefully a better tool to edit them, having to do all that work to unpack/repack the save is a pain in the ass, and the database editor on the OSI tab sucks ass, for example there is a DB for "TieflingSurvivors" that lists all the tieflings that survived the druid den attack and if they died in your save, the DB is blank, and you CANT ADD ANY ROWS meaning you cant just type in the name of the tieflings because the DB is empty and you cant add rows.
maybe someone else figures someth9ing out with our existing toolset that ive overlooked or dont understand, but I think were AWOL until the LSLib tools get a bit better or we get some alternate save game editing tool