Jump to content

Demonic Creatures Manager (xEdit Script)


Recommended Posts

Demonic Creatures Manager (xEdit Script)

View File

Demonic Creatures Manager, or DCM, is a xEdit Script (aka Delphi GUI app) that allows to disable the spawn of any selected creatures from Thor2000's Demonic Creatures mod. If you find some creatures too disturbing/hard/scary/non-immersive/etc, now you have a convenient way to put them into eternal metadata jail! DCM implements sophisticated algorithm that removes the records that enable creature spawn via known mechanics. Please do note that DCM is considered to be in alpha testing phase either until I get multiple confirmations from users or until Thor2000 will be so kind to confirm that I haven't miss anything.

 

Even though I've tried my best to ensure the DCM to be as bug-free as possible, as well as to force the algo to respect the reference chain integrity, DCM still needs to go through the testing phase. If you notice any error message, please let me know about it.

 

Compatibility:

  • xEdit 4.0.4 / 4.1.4
  • Demonic Creatures SE/LE (should be compatible with all future versions of Demonic Creatures as long as the spawning methods stay the same)

 

Installation:

  1. Install the xEdit. Make sure to run it with correct launch arguments (-SSE for SE, -TES5 for LE, -TES5VR for VR)!
  2. [Optional] Install the NifSkope. If you don't want to be able to view 3D models of creatures, you can skip this step.
  3. Unpack and place 'DemonicCreaturesManager.pas' to the '\Edit Scripts\' directory of your xEdit installation.

 

How to start DCM:

  1. Run xEdit through Mod Manager of your choice or directly from xEdit's .exe if you don't use any Mod Manager.
  2. In 'Module Selection' popup window right click any file and click 'Select None'.
  3. Input 'dem' into the 'Filter' filed and check the checkbox of DemonicCreatures.esp.
  4. Press 'OK' to close the popup and wait until you see 'Background Loader: finished' in 'Messages' tab. It may take up to several minutes for the first time.
  5. Right click 'DemonicCreatures.esp' in the left tab and click 'Apply Script'.
  6. Input 'dem' into the 'Filter' filed, make sure that DemonicCreaturesManager script is selected and press 'OK'.

 

How to use DCM:

  1. [Optional] Press 'Bind NifSkope', go to the location where it was unpacked, select NifSkope.exe and press 'Open'. NifSkope status will change to 'Bound'. From this point you'll be able to double click any creature to view its (sadly untextured) 3D model.
  2. Uncheck creatures you want to stop from spawning, feel free to use categories filter or full-text search to make navigation a little bit easier. Please do note that 'race' categories are based on the mod's metadata and may not be always accurate.
  3. Press 'Unlink All Unchecked Creatures' and wait until unchecked creatures become 'bricked' in the list (filled with black square). This action is global and doesn't respect the filters, but you always can double check the list of creatures that are going to be unlinked in '< Unchecked >' category!
  4. Close the DCM.
  5. [ALPHA TEST WARNING] Right click 'DemonicCreatures.esp' in the left tab and click 'Check for Errors'. Make sure xEdit says 'Errors found: 0' in the 'Messages' tab. If any errors found, please follow the Bug Reporting instruction. I strongly recommend to do this step until the DCM officially leaves testing phase.
  6. Close the xEdit, the 'Save changed files' window will pop up.
  7. To save changes check the 'Demonic Creatures.esp' and 'Backup plugins' checkboxes and then press 'OK'. To cancel changes uncheck the 'Demonic Creatures.esp' and then press 'OK'.

 

Hint: DCM also has a handy profile system. Path to NifSkope and states of all checkboxes will be saved on pressing the 'Unlink All Unchecked Creatures' button or closing the DCM's window and loaded on launch by default (data is stored in xEdit's '\Edit Scripts\Demonic Creatures Manager Default Profile.csv'). Also you can manually save profile to any file (including the default one) with 'Save Profile' button and load any file with 'Load Profile' button.

 

Reverting the changes:

The only way to restore any creature that was unlinked in the already saved DemonicCreatures.esp is to manually replace modified .esp with backup. If you previously checked the 'Backup plugins' checkbox during saving, backuped .esp's will be located in '\Data/SSEEdit Backups\' directory ('\Data\TES5Edit Backups\' or '\Data\TES5VREdit Backups\' for LE/VR versions). Also you can always use default .esp from downloaded Demonic Creatures archive.

 

Bug Reporting:

Spoiler

1. Open https://pastebin.com/ website.

2. Copy the entire contents of xEdit's 'Messages' tab to 'New Paste' text filed.

3. Open '\Edit Scripts\Demonic Creatures Manager Default Profile.csv' file with Notepad and copy its contents to 'New Paste' text filed.

4. Press 'Create New Paste' and give me the link with short description of your actions.

 

Algo Description:

Spoiler

For each selected NPC_ record:

  For each reference to NPC_ record:

    1) If referenced by QUST record: Replace all related ALCO records in Alias entries of QUST record's Aliases container with EncBandit01Melee1HNordM [NPC_:0001BCD8].

    2) If referenced by LVLN record: Remove all related LVLO records from LVLN record's Leveled List Entries container.

      If LVLN record's Leveled List Entries container became empty:

        For each reference to LVLN record:

          2.1) If referenced by another LVLN record: Remove all related LVLO records from its Leveled List Entries container.

            If LVLN record's Leveled List Entries container became empty:

              2.1.1) Recursively call #2 for LVLN record.
          2.2) If referenced by NPC_ record: (it's DEMLvlEncXXX 'dummy' leveled NPC_ record for spawn mechanics)

            For each reference to NPC_ record:
              2.2.1) If referenced by QUST record: Replace all related ALCO records in Alias entries of QUST record's Aliases container with LvlBanditMelee1H [NPC_:0003DECB].
              2.2.2) If referenced by ACHR record: Call #3 for ACHR record to remove it.
              2.2.3) If no references left for NPC_ record: Remove NPC_ record.
          2.3) If no references left for LVLN record: Remove LVLN record.

    3) If referenced by ACHR record:

      For each reference to ACHR record:

        3.1) If referenced by another ACHR record: Recursively call #3 for ACHR record to remove it.

        3.2) If referenced by PACK record:

          For each reference to PACK record:

            3.2.1) If referenced by NPC_ record: Remove all related PKID records from NPC_ record's Packages container.

            3.2.2) If no references left for PACK record: Remove PACK record.
        3.3) If no references left for ACHR record: Remove ACHR record.

 

Credits:

Thor2000 (Demonic Creatures)

ElminsterAU and co (xEdit)

NifTools team (NifSkope)


 

Link to comment
10 minutes ago, Mark Antony said:

Great mod, I disabled a bunch and it went through with no errors

Lets hope it'll work as intended! ?

 

Just to be clear: basically I've implemented Thor2000's creature removal instructions in code and added cleanup procedures based on my own limited understanding of how wheels are spinning for LVLN/ACHR/QUST records. I consider said cleanup procedures required as, for example, I'm just not sure what's going to happen if random encounter quest will attempt to spawn enemies via empty LVLN records (and most of them will eventually become empty with removal of multiple creatures). So testing is still required to confirm that everything works good.

 

I would like to know how it works for existing saves, how it works for load orders of different users and so on. Hope to get some feedback. ?

Link to comment
  • 5 weeks later...

Oh, to bind NifSkope, you should unpack its archive in any folder (i.e. to 'C:\\NifSkope\') and then 'show' the path to NifSkope.exe to the script (press 'Bind NifSkope', go to 'C:\\NifSkope\' in the popup window and select 'NifSkope.exe'). So mod managers have nothing to do with using NifSkope through this script actually. ?

Edited by SpectrumQT
Link to comment
On 8/6/2022 at 2:04 PM, Nikett7 said:

What you need, demonic creatures are now finally usable. And then before you had to pick your ass to remove a bunch of garbage.

I wouldn't call it garbage, Thor put a lot of work into the mod. Some peeps may have asked for certain critters, some might not. Not everyone likes peanut butter with tomato sauce....I do.

 

If I could time travel I would visit Thor before she had the idea and said...

 

How about making separate creature packs that have their own download page (so she can see via downloads which is popular). i.e...

 

Dino Pack .. Dinosaurs related

Insect Pack

Bird Pack

Monster Pack

etc

etc

 

Would probably reduce the overall download size too! I'm waffling gn.

 

Link to comment
  • 2 weeks later...

I am under the impression that using this script does a pure "removal" of the creatures, rather than replace them with the vanilla equivalent. Is this correct ?

 

For instance, I have removed most skeleton monsters and zombie monsters. The mod works, since I encountered a drowner near Riverwood.

However, when I delve into Bleak Falls Barrow, some of the draugr spawn points are empty. For instance, the first sleeping draugr in the room after Arvel, or the draugr that pops from the coffin just before the underground river passage.

 

Is this the intended way the mod works, and I should not worry (too much) ?

Link to comment
  • 2 weeks later...
On 9/26/2022 at 1:56 AM, Kernog said:

Is this the intended way the mod works, and I should not worry (too much) ?

 

Yes, that's exactly how script works. If some spawn point that was added by DCM ends up with no valid creature to spawn during script execution, it's getting removed. Replacement happens only for random encounter quests (bandits spawn instead of removed creatures).

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use