Jump to content

[LE] Cell Resets


greyday01

Recommended Posts

The advice on the web about cell resets is confusing, contadictory and often just plain wrong.

I made a player house with mannequins, flora, food barrels, and lots of placed ingredients.

From the web it said to set the encounter zone to NoResetZone for player homes. That doesn't work if you want it to respawn.

 

What I've got so far:

Cell encounter zone set to None. My Flora and food barrels respawn.

Trash Barrel set to NoZoneZone. It empties.

Mannequins set to NoRespawnZone. They keep their armor.

Containers are all set as no reset so their contents stay.

 

Loose ingredients and Food and other items. Not respawning. I left the cell and waited 31 days and all the stuff I took is still missing.

They are all checked to respawn so that is not the problem.

Any advice? A script on the door to force a cell reset? Set the food,ect to a NoZoneZone (respawn 1 day)?

I would really like the cell to reset completely every 10 days. My maid is a hard worker. But how?

Link to comment
Share on other sites

Maybe next script will be helpful to reach your aim. Probably you read that already https://www.creationkit.com/index.php?title=Cell_Reset

 

TestCellResetScript

 

Scriptname TestCellResetScript extends ObjectReference
{ReDragon 2018}    ; use that script on object you have inside the house, or try it on xmarker only

; https://forums.nexusmods.com/index.php?/topic/7042566-cell-resets/
; greyday01 wrote: "I would really like the cell to reset completely every 10 days."

  Int PROPERTY DaysOfReset = 10 auto        ; every 10 days, force the parent cell to reset
  Int PROPERTY iCounter auto Hidden         ; [default=0]


; -- EVENTs -- 3

EVENT OnInit()
    Debug.Trace(self+ " OnInit() - has been reached..")
    iCounter = DaysOfReset + 1               ; init counter we need
    RegisterForSingleUpdateGameTime(24.0)    ; at least one day
ENDEVENT


EVENT OnReset()
; Note: that cells only reset when the player actually reenters them. Script functions like OnReset will only be called at this time.
; Scripts reset to their initial state, clear all of their variables, and re-initialize.
; https://www.creationkit.com/index.php?title=Cell_Reset

    Debug.Trace(self+ " OnReset() - has been reached..")
;;;    iCounter = DaysOfReset + 1
;;;    RegisterForSingleUpdateGameTime(24.0)
ENDEVENT


EVENT OnUpdateGameTime()
IF self.GetBaseObject()
ELSE
    RETURN    ; - STOP -    mod has been removed!
ENDIF
;---------------------
    iCounter -= 1                           ; update the counter we need

IF (iCounter == 1)
    self.GetParentCell().Reset()            ; This function can reset cells that are assigned to NoReset encounter zones.
    OnInit()
    RETURN    ; - STOP -    reset is coming!
ENDIF
;---------------------
IF (iCounter > 1)
    RegisterForSingleUpdateGameTime(24.0)
ENDIF
ENDEVENT

 

 

Link to comment
Share on other sites

Maybe next script will be helpful to reach your aim. Probably you read that already https://www.creationkit.com/index.php?title=Cell_Reset

 

TestCellResetScript

 

Scriptname TestCellResetScript extends ObjectReference
{ReDragon 2018}    ; use that script on object you have inside the house, or try it on xmarker only

; https://forums.nexusmods.com/index.php?/topic/7042566-cell-resets/
; greyday01 wrote: "I would really like the cell to reset completely every 10 days."

  Int PROPERTY DaysOfReset = 10 auto        ; every 10 days, force the parent cell to reset
  Int PROPERTY iCounter auto Hidden         ; [default=0]


; -- EVENTs -- 3

EVENT OnInit()
    Debug.Trace(self+ " OnInit() - has been reached..")
    iCounter = DaysOfReset + 1               ; init counter we need
    RegisterForSingleUpdateGameTime(24.0)    ; at least one day
ENDEVENT


EVENT OnReset()
; Note: that cells only reset when the player actually reenters them. Script functions like OnReset will only be called at this time.
; Scripts reset to their initial state, clear all of their variables, and re-initialize.
; https://www.creationkit.com/index.php?title=Cell_Reset

    Debug.Trace(self+ " OnReset() - has been reached..")
;;;    iCounter = DaysOfReset + 1
;;;    RegisterForSingleUpdateGameTime(24.0)
ENDEVENT


EVENT OnUpdateGameTime()
IF self.GetBaseObject()
ELSE
    RETURN    ; - STOP -    mod has been removed!
ENDIF
;---------------------
    iCounter -= 1                           ; update the counter we need

IF (iCounter == 1)
    self.GetParentCell().Reset()            ; This function can reset cells that are assigned to NoReset encounter zones.
    OnInit()
    RETURN    ; - STOP -    reset is coming!
ENDIF
;---------------------
IF (iCounter > 1)
    RegisterForSingleUpdateGameTime(24.0)
ENDIF
ENDEVENT

 

 

 

I thank you for your script. I'm still going over it while reading the Papyrus Wiki trying to understand how it works so I haven't actually tried it yet.

I thought of also trying to use that some items like food barrels DO reset to act as a sort of timer to reset the whole cell, but I think I'll try your method first.

Trying to understand scripting is hard with no experience, but people have been very helpful.

Link to comment
Share on other sites

If you really want the cell to reset then simply set it's zone to something that will reset. But do not reset a cell using the script functions. That will destroy all items dropped in the cell by the player! There's nothing more annoying than a cell which deletes things you've place in it.

 

The things you don't want to respawn then be marked individually to avoid the respawn.

 

The instructions to use NoResetZone for player houses is because many players get extremely frustrated if things in their house magically get reset.

Link to comment
Share on other sites

If you really want the cell to reset then simply set it's zone to something that will reset. But do not reset a cell using the script functions. That will destroy all items dropped in the cell by the player! There's nothing more annoying than a cell which deletes things you've place in it.

 

The things you don't want to respawn then be marked individually to avoid the respawn.

 

The instructions to use NoResetZone for player houses is because many players get extremely frustrated if things in their house magically get reset.

 

I've set it's zone to None. That should make the cell reset and food barrels and flora do reset after 10 days as do display cabinet lids and doors you left open. Food items and ingredients on shelves and tables do NOT reset even after 31 days. I don't know why. Is there some better Zone to set the cell to? I suppose I could set a script on an item that DOES respawn and have it individually reset the ingredient and food items I want to reset, but that's a lot of items.

 

Would it be better to instead of using "None" as the encounter zone make a custom one or use say the Jorvaskar basement's zone which I know respawns?

Link to comment
Share on other sites

  • Recently Browsing   0 members

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