Difference between revisions of "Talk:Save File Notes (Papyrus)"

Jump to navigation Jump to search
imported>Cipscis
(→‎Removing Scripts from Objects: Unanswered questions)
 
imported>Kuertee
Line 12: Line 12:
** Is the only good way to "nullify" that script and attach a copy of it to the objects to which it should remain attached?
** Is the only good way to "nullify" that script and attach a copy of it to the objects to which it should remain attached?
** Would it be appropriate, if such a change is made to a mod between versions, to include such nullified scripts in the package for users upgrading from previous versions?
** Would it be appropriate, if such a change is made to a mod between versions, to include such nullified scripts in the package for users upgrading from previous versions?
== ESP and Script deactivation tests - OnUpdate () Event, Variables and Properties () ==
Here's a conclusive test. It is free from gameplay features nor objects in the base ESM.
All it contains are:
#A Quest with a RegisterForUpdate (1) in its OnInit ()
#An OnUpdate () with a Debug.Notification () and a Debug.Trace ().
#Both Debugs trace out a custom FormList and a custom Armor.
With the mod active, both Debug.Notification () and Debug.Trace () worked on screen and in the log every 1 second.<br/>
I then save then quit the game.<br/>
Then I deactivated and deleted the ESP and the Script.<br/>
Mod managers will delete both the ESP and the Script. So I'm mirroring this behaviour.<br/>
The log detected that kuFLQS was missing. I highlighted these lines in the log below.<br/>
And the Debug.Notification () nor Debug.Trace () did not show on screen nor in the log.<br/>
So, it looks like the OnUpdate () was terminated.<br/>
[03/01/2012 - 07:13:13PM] Papyrus log opened (PC)
[03/01/2012 - 07:13:13PM] Update budget: 1.200000ms (Extra tasklet budget: 1.200000ms, Load screen budget: 500.000000ms)
[03/01/2012 - 07:13:13PM] Memory page: 128 (min) 512 (max) 76800 (max total)
[03/01/2012 - 07:13:26PM] VM is freezing...
[03/01/2012 - 07:13:26PM] VM is frozen
[03/01/2012 - 07:13:26PM] Reverting game...
[03/01/2012 - 07:13:30PM] Loading game...
'''[03/01/2012 - 07:13:31PM] Cannot open store for class "kuFLQS", missing file?
'''[03/01/2012 - 07:13:31PM] warning: Unable to get type kuFLQS referenced by the save game. Objects of this type will not be loaded.
'''[03/01/2012 - 07:13:31PM] warning: Could not find type kuFLQS in the type table in save
[03/01/2012 - 07:13:31PM] VM is thawing...
[03/01/2012 - 07:13:38PM] VM is freezing...
[03/01/2012 - 07:13:38PM] VM is frozen
[03/01/2012 - 07:13:39PM] Saving game...
[03/01/2012 - 07:13:39PM] VM is thawing...
[03/01/2012 - 07:13:47PM] VM is freezing...
[03/01/2012 - 07:13:47PM] VM is frozen
[03/01/2012 - 07:13:47PM] Log closed
So, I save the game again at this point - a 2nd clean save.<br/>
In normal play-time, this 2nd clean save will naturally as you play the game after deactivating the mod.<br/>
I quit the game.<br/>
Then reloaded it with the mod STILL deactivated (i.e. no ESP nor Script in the file system).<br/>
Unfortunately, the reference to kuFLQS is still in the game as shown with the highlighted errors in the log.<br/>
So, the references to the ESP still exist after 2 clean saves.<br/>
But again, Debugs from the registered OnUpdate (). A good sign that the event is not firing.<br/>
This, I think, is acceptable.<br/>
In Oblivion, some objects from deactivated mods persisted as NULL objects.<br/>
[03/01/2012 - 07:13:56PM] Papyrus log opened (PC)
[03/01/2012 - 07:13:56PM] Update budget: 1.200000ms (Extra tasklet budget: 1.200000ms, Load screen budget: 500.000000ms)
[03/01/2012 - 07:13:56PM] Memory page: 128 (min) 512 (max) 76800 (max total)
[03/01/2012 - 07:14:09PM] VM is freezing...
[03/01/2012 - 07:14:09PM] VM is frozen
[03/01/2012 - 07:14:09PM] Reverting game...
[03/01/2012 - 07:14:13PM] Loading game...
'''[03/01/2012 - 07:14:14PM] Cannot open store for class "kuFLQS", missing file?
'''[03/01/2012 - 07:14:14PM] warning: Unable to get type kuFLQS referenced by the save game. Objects of this type will not be loaded.
'''[03/01/2012 - 07:14:14PM] warning: Could not find type kuFLQS in the type table in save[/color]
[code][03/01/2012 - 07:14:14PM] VM is thawing...
[03/01/2012 - 07:14:26PM] VM is freezing...
[03/01/2012 - 07:14:26PM] VM is frozen
[03/01/2012 - 07:14:27PM] Log closed
So, I then changed the mod: removed a Property and so removed that Property's reference from my Debugs.<br/>
I returned the mod to the file system but I DID NOT activate it. I.e. the ESP and Script exist but the ESP is not active.<br/>
This is to test if the OnUpdate () event was still firing from the time I deactivated the mod.<br/>
I.e. removed the ESP and the Script from the file system.<br/>
Remember that there were no indications of the OnUpdate () running from previous logs.<br/>
This is the log after I loaded the game.<br/>
[03/01/2012 - 07:22:42PM] Papyrus log opened (PC)
[03/01/2012 - 07:22:42PM] Update budget: 1.200000ms (Extra tasklet budget: 1.200000ms, Load screen budget: 500.000000ms)
[03/01/2012 - 07:22:42PM] Memory page: 128 (min) 512 (max) 76800 (max total)
[03/01/2012 - 07:22:57PM] VM is freezing...
[03/01/2012 - 07:22:57PM] VM is frozen
[03/01/2012 - 07:22:58PM] Reverting game...
[03/01/2012 - 07:23:01PM] Loading game...
[03/01/2012 - 07:23:02PM] VM is thawing...
[03/01/2012 - 07:23:03PM] OnUpdate None
[03/01/2012 - 07:23:04PM] OnUpdate None
[03/01/2012 - 07:23:05PM] OnUpdate None
[03/01/2012 - 07:23:12PM] OnUpdate None
[03/01/2012 - 07:23:13PM] OnUpdate None
[03/01/2012 - 07:23:14PM] OnUpdate None
[03/01/2012 - 07:23:15PM] OnUpdate None
[03/01/2012 - 07:23:20PM] VM is freezing...
[03/01/2012 - 07:23:20PM] VM is frozen
[03/01/2012 - 07:23:20PM] Log closed
"None" in the OnUpdate () Debug.Trace () tells me that the variables were truly discarded at the save AFTER first deactivation.<br/>
However, the Onupdate () Event is still firing!<br/>
What this tells me is that the Event manager pings the Script even if it doesn't exist in the file system.<br/>
Anonymous user

Navigation menu