Nychus01 Posted September 3, 2018 Share Posted September 3, 2018 Is it possible, using FNVEdit, to find and remove any changes in an ESP which rope in a specific ESM file? I accidentally included a certain companion ESM file in an ESP I'm working on for a different mod and the master cleanup didn't get rid of it. There has to be some way to track down the source of the unwanted dependency and get rid of it. I'm pretty new to GECK modding, so if this comes across as a stupid question I apologize. Link to comment Share on other sites More sharing options...
dubiousintent Posted September 3, 2018 Share Posted September 3, 2018 If the "clean masters" function wouldn't remove the ESM, then there is some record which is still dependent upon that master. Unfortunately it could be any record; not merely one with a conflict (red background). It may also be a "yellow background" (override without conflict) or "green background" (multiple but no conflict) record. (It's less likely to be a "white background" (single record), but it's not impossible.) However, it should show the "master ESM" as one of the columns of plugins with a value used by a record in your plugin when you examine each. No simple way to check I am aware of other than to look at each record. Once you have identified the record that depends upon the unwanted "master", you have a couple of choices to resolve the problem. You could delete the record from your plugin, or replace the value used from that master with one from another master you do need (just drag and drop between columns), or give the record your own value. Then run the "clean masters" function again. If it still doesn't get rid of the ESM, then repeat the process as you missed a record. You appear to know, but it doesn't hurt to repeat the warning: NEVER try to manually delete a "master file" from a plugin file header. Only use the "clean masters" function or you will corrupt things. -Dubious- Link to comment Share on other sites More sharing options...
Nychus01 Posted September 4, 2018 Author Share Posted September 4, 2018 It would appear that the problem is that the GREETING dialog topic was altered for other NPCs while the unwanted master file was accidentally left open. No change was made directly to content from the master file I'm trying to remove (a companion mod, incidentally), but it looks like I might not be able to make this work without deleting all changes made to GREETING for 22 other NPCs. Link to comment Share on other sites More sharing options...
dubiousintent Posted September 4, 2018 Share Posted September 4, 2018 Sounds like a "dirty edit", which is an unintentional change to the file the GECK sometimes makes even though you didn't actually change anything deliberately. If multiple NPCs GREETING topic was altered by accident, I would suspect you accidentally modified the "Base-ID" template used for those actors. See if you can identify where the "Base-ID" resides for each of those actors (in the master or your plugin), and if it is altered. If it's in the master, you will have problems with more than just your mod; others will be affected as well. You will need to see if you can "clean" that plugin using FNVEdit. The process is described in the manual. Otherwise you will need to revert it to the original, unmodified, file. Please see the 'GECK Form-ID, Base-ID, Ref-ID, and Editor-ID' section of the wiki "Getting started creating mods using GECK" article. -Dubious- Link to comment Share on other sites More sharing options...
Nychus01 Posted September 7, 2018 Author Share Posted September 7, 2018 (edited) I think I marked the "Top-level" checkbox on GREETING while I was editing dialog for a different character. Not sure if I can come back from that. :/ I would lose hours upon hours of work reverting to the original. I really ought to get some kind of source control, instead of just copy-pasting the file before editing it. The following is returned by FNVEdit when I run the script "List records referencing specific plugin": Applying script... \ [09] SaltLakeStories - Fixes.esp \ [16] GRUP Top "DIAL" \ [0] GREETING "GREETING" [DIAL:000000C8] \ [2] Added Quests \ [242] Added Quest \ [0] QSTI - Quest = drgNVMCCompanionDialogue "Melissa Companion - Companion Dialogue" [QUST:0700194C] \ [09] SaltLakeStories - Fixes.esp \ [16] GRUP Top "DIAL" \ [0] GREETING "GREETING" [DIAL:000000C8] \ [2] Added Quests \ [243] Added Quest \ [0] QSTI - Quest = drgNVMCNPCReact "Melissa Companion - NPC's React to Her" [QUST:070033EC] \ [09] SaltLakeStories - Fixes.esp \ [16] GRUP Top "DIAL" \ [0] GREETING "GREETING" [DIAL:000000C8] \ [2] Added Quests \ [244] Added Quest \ [0] QSTI - Quest = drgNVMCHire "Melissa Companion - Hiring Sequence" [QUST:070045BF][Apply Script done] Processed Records: 1011, Elapsed Time: 00:08 Edited September 7, 2018 by Nychus01 Link to comment Share on other sites More sharing options...
dubiousintent Posted September 7, 2018 Share Posted September 7, 2018 Don't think that script result is giving you what you need. The problem is not so much with your plugin (assuming that is "SaltLakeStories - Fixes.esp"), but with the master file being referenced by some record(s) in your plugin. That "master file" is what you need as the "specific plugin" you are running that script to check. Start with that and see where it takes you. -Dubious- Link to comment Share on other sites More sharing options...
Nychus01 Posted September 8, 2018 Author Share Posted September 8, 2018 The output I quoted is what gets produced by the script when I highlight my plugin, choose "List records referencing specific plugin," and provide the load order of the Master file I'm trying to dereference in the prompt which comes up. When I try running the script from the master file against the plugin there are no results returned, as I would expect to be the case. There are multiple quests with the prefix drg added by the master file, but the only ones the script is returning as references are the ones with GREETING in them. Looking at the entries themselves I'm just not sure how to get rid of them. Deleting the quests adds to the number of changes FNVEdit detects, as does deleting the dialogue specific to GREETING. I just want to be able to cut loose the Melissa master file. I'm not seeing what changes exist unless it's counting changes to GREETING for other NPCs as a change against GREETING in the Melissa file. Link to comment Share on other sites More sharing options...
dubiousintent Posted September 8, 2018 Share Posted September 8, 2018 To be able to "clean" the "Melissa" master file from your plugin, you need to remove those "QSTI" entries that are adding quests:[QUST:0700194C][QUST:070033EC][QUST:070045BF] Find each QSTI entry in your plugin, and delete it (either the "<DEL>" key or "<Right-Click>" and select "remove" from the pop-up menu). Then try to "clean masters". If that doesn't work, suggest you ask the xEdit team at STEP or their site. Provide details such as the name of the master and your plugin and the results of the script above. Perhaps there is another script that will help. -Dubious- Link to comment Share on other sites More sharing options...
Nychus01 Posted September 8, 2018 Author Share Posted September 8, 2018 Sounds like exactly what I need. :D Those three quests aren't listed when I expand the quests tree under my ESP in FNVEdit, though. Do I need to apply (or remove) some kind of filter which is presently causing it to only show the changes I made within the plugin? I hadn't made modifications to those three quests in my plugin so they aren't showing up. Link to comment Share on other sites More sharing options...
dubiousintent Posted September 8, 2018 Share Posted September 8, 2018 First make sure your "General | Options" are not hiding any records. This is covered in the STEP guide to xEdit. I would not expect those quests to be in your plugin. They should be in the "Melissa" master file, which is why your plugin is dependent upon them. I haven't had to deal with this particular problem myself, so all you are getting is my best guess as to how I would attempt to proceed. Looking into the FOPDOC "DIAL Records" format, "QSTI" is the Quest subrecord collection "count". So it's an indicator, but not the record we need to drop. Those quests were added to your plugin because they were part of the "GREETING" dialog associated with Melissa. As you don't want "Melissa" dependent dialog, you need to remove those "Melissa" dialog entries from your plugin. It's looking like those are under the "GRUP Top "DIAL" \ [0] GREETING "GREETING" [DIAL:000000C8]" dialog records. GREETINGS should only be used once, the very first time you speak with an Actor. After that they should use the "Hello" dialog or conditional flagged topics. You might find you have to edit them in the GECK to completely remove your plugin's GREETINGS and rebuild them correctly. Not everything can be fixed in xEdit. Not clear why you are concerned about FNVEdit reporting more changes, as you are indeed making changes to your plugin. You certainly should be working with backup copies of all the plugins involved while you try to work this out so you can revert if things go wrong. -Dubious- Link to comment Share on other sites More sharing options...
Recommended Posts