Jump to content

Recommended Posts

I have always been a little uncomfortable with my findings, some time ago, that Cell Reset removes references when the game is saved, while several texts state that it happens when the player reenters the cell.

 

It just happens that both are true.

 

Triggered by a dicussion elsewhere about actors, I decided to go deeper and do a more comprehensive test. So I spent this last week stressing the engine with all scenarios I could think of.

 

The bottom line is that there are two Cell Resets: one ‘external’ to the cell, when the game is saved, and the other ‘internal’, when the player reenters the cell. I have reported the details in the “Cell Reset x Actors” section of the Cell Reset article in the CS WIKI. (the rest of the article still needs some adjustments to this new data, which I will do soon).

 

I don’t want to clutter the WIKI article with the methodology used, so, for the record, I will briefly describe it here for those that may be interested.

 

First, I created 24 NPC Base Objects with all the combinations of the following flags:

· Quest item

· Essential

· Respawns

· Persistent

· Dead / alive

(some may notice that there should be 32 (2^5) NPCs. The 8 NPCs missing are the impossible combination Respawn + Dead)

 

I placed one of each in an internal cell and created a series of scripts to trigger events related to Cell Reset, collecting the state of those NPCs at each step. Each script followed a different flow of events.

 

All the flows start by loading a clean save, entering the cell, creating a copy of each of the 24 NPCs (so I had a non-dynamic and a dynamic reference of each), save data to be used as a baseline and exit the cell.

 

After leaving the cell, the flows used were:

  1. Wait 72 and save
  2. Wait 72 hours, reenter the cell, exit the cell and save
  3. Wait 72 hours, save, reenter the cell, exit the cell and save
  4. Wait 72 hours, use ResetInterior and
    1. Save
    2. Reenter the cell, exit the cell and save
  5. Wait 72 hours, save, use ResetInterior and
    1. Save
    2. Reenter the cell, exit the cell and save
  6. Wait 72 hours, reenter the cell, exit the cell, use ResetInterior and
    1. Save
    2. Reenter the cell, exit the cell and save
  7. Wait 72 hours, save, reenter the cell, exit the cell, use ResetInterior and
    1. Save
    2. Reenter the cell, exit the cell and save

Flows 4-7 also had versions without the initial 72 hours wait, but the results were not different from the experienced in other flows and did not add any new info to the test.

 

With these flows I had very good evidences of what happens when saving and what happens when reentering the cell, either after using ResetInterior or not.

 

All the results proved reproducible and repeatable. The data collected was analyzed and the conclusions described in the WIKI, as linked above.

 

Please, feel free to question, comment, correct me or share your experience in this matter.

 

 

Link to comment
Share on other sites

  • 1 month later...

I thought this just happened if you were not in the cell for [default] days.

 

I wanted to rely on the "respawn" container checkbox for a mod, then realized the fallacy if the player makes repeated entry into the same cell as the container within said [default] time, such as in a home.

 

This later grew into the question of how to best remove any slain enemy bodies from a 'home" cell having repeat visits by the player.

 

I'll admit my current "solution" feels totally archaic and overblown, if not still not completely necessary to achieve this affect within a fundamentally archaic system.

 

So without doing the same, I'm still not sure what new information you have or how it can be applied practically for modders.

Link to comment
Share on other sites

Pretty much everything I could figure out about Actors x Cell Reset are in that WIKI article.

 

I still was planning a couple of minor tests about enabled/disabled Actors, but my Oblivion stopped working after I upgraded to Windows 10 and I do not know when I will be able to install it again.

Link to comment
Share on other sites

Sorry to hear that. I also heard it invalidates/removes Classic Shell and probably anything else they don't like.

 

Anyway, I have not dug into the obse commands file for a while and am not the greatest scripter but I'm guessing there is no way to delete reference objects from cells like in Fallout 3 and later which also removes it from the save data I think. I know this is more about cell reset but this other question (rhetorical) stemmed from that. Would be nice if that was possible though.

Link to comment
Share on other sites

OBSE has the DeleteReference function, which may be used to delete most references, except Actors.

 

That is why I was stressing the Cell Reset behavior to see when actors are removed by the engine and/or what you can do to place your dynamic actors in a situation that the engine removes them.

 

(I am convinced that my Oblivion x Windows 10 problem was caused by the upgrade process from Windows 8, not by any incompatibility)

Link to comment
Share on other sites

I wonder why they can't make it delete expired actors. Maybe someone with the knowledge can create some workaround like a DLL file in conjunction with "DeleteReference"? ...I don't even know if that's possible in this way and am only thinking of such mods as Universal Silent Voice which uses DLL, I believe, as a work around to something hard-coded into the game.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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