Jump to content

The ESM / ESP persistency problem when doing custom worldspaces ...


Recommended Posts

Good evening everybody!

 

Somebody recently told me that ALL object references in an ESP are persistant.

And that there is a limit to how many persistent things can be loaded by the game.

 

So, the solution is to keep the number of persistent things to a minimum.

 

But since an ESP file can't have any "non-persistant" references, one should use an ESM fle for "bigger mods" (especially custom worldspace mods).

 

So far everything sounds clear and simple ...

 

 

But here is what I don't understand:

 

I am currently working on a custom worldspace.

I plan on doing LOTS of "things" in there (lots of static objects, clutter, ...).

(So, maybe I will get near that maximum-number-of-persistant-references-limit if I just use an ESP ...)

 

How does one "work" on things like that?

The CK can only edit ESP files.

So should I do the actual work on the ESP file, then convert it to an ESM file, change the "persistant flag" of everything to "non-persistent" and then load it in the game (to see how the worldspace actually looks in the game and things like that ...).

And I would have to do that everytime I want to "check the worldspace in the actual game"?

 

And of course I would have to keep track of the things that actually need to be persistant, and not change them to be "non-persistant" ....

(Or maybe have the worldspace and everything "static" as an ESM, and add things like qusts with an ESP that has that ESM as a master file ...)

 

 

What is the correct "workflow" for this?

 

 

Because while I do have LOTS of time, I don't want to sink months or years into this only to discover at some point (when it is almost completed) that everythign was "for nothing" because of something like the "maximum number of persistent references limit" thing ...

Link to comment
Share on other sites

The limit on loaded references for FO4 is 2^21, or 2,097,152*, so it is unlikely for you to hit it yourself with just your mod and Fallout4.esm+DLC. However, if your mod is as big as implied by some of your other questions/the projects listed in your signature, it is possible, and would likely take enough of a chunk of that limit that not using the ESM flag/extension for a released mod would be irresponsible. So you could leave it as an esp during development, but just flagging as ESM once done would result in a broken plugin, for the reasons you mentioned (i.e. some things need to be persistent).

 

I would recommend one of two things:

1) Work on the plugin as a .esp, test as .esm/ESM-flagged .esp That would let you see things that are broken** when they are not persistent, rather than keeping a list/trying to fix it all at once.

2) Learning the version control system for the CK, and develop your mod(s) the way Bethesda does: new work is done in a .esp, which is then merged into the main ESM, and final testing of something new is done with the ESM (though initial testing can be done with ESM and .esp loaded to see if it works before you commit). That would again let you see when things that should be flagged persistent aren't.

 

Regardless of the method you take, make frequent backups. The CK is very good at nuking a plugin into nothing but dust and ash.

 

Also, I think the CK tends to flag things that need to be persistent as persistent when working normally, but I could be wrong on that, I don't do a ton of stuff that would require persistence.

 

*it was 2^20, or 1,048,576 in Skyrim

 

**quests and things referenced by AI packages are the things that first jump to mind, but there are other things, such as if you want to make scrapping one object scrap others (like a LIGH (light) record being scrapped when you scrap a light source, something I wish Bethesda had bothered with in Vanilla) and probably a few other things.

 

 

 

Edit: Also, someone else really needs to start answering your questions, I know I am not the only one who knows some of these things :P

Link to comment
Share on other sites

  • Recently Browsing   0 members

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