Uninstalling scripts vs leaving them in but replacing with b

Post » Sun Jun 24, 2012 10:20 am

While debugging some of my users papyrus logs, i have been seeing a ton of uninstall-based script errors. basically the kind that are like "script not found" type errors. and when i say a lot, i mean a metric **** ton of them.

this has got me thinking whether it is a better practice to leave the scripts installed, and just erase all code from within them so that they are nothing but a ; in each one.


when i tested this on a mod i have that uses 100+ scripts, uninstalling that mod by removing the scripts will dump 100+ papyrus errors. so i tried this out:


created a blank esp and esm (named exactly the same as my other ones) with absolutely nothing in it (no traces of VMAD record). replaced all 100+ scripts with either a blank ; or a UnregisterForUpdate() etc, whatever was needed to kill any currently threaded script that may be embedded in the save game


and this is what was dumped in the papyrus log:

Spoiler

[06/21/2012 - 10:22:40PM] Papyrus log opened (PC)[06/21/2012 - 10:22:40PM] Update budget: 1.200000ms (Extra tasklet budget: 1.200000ms, Load screen budget: 500.000000ms)[06/21/2012 - 10:22:40PM] Memory page: 128 (min) 512 (max) 76800 (max total)[06/21/2012 - 10:23:08PM] VM is freezing...[06/21/2012 - 10:23:08PM] VM is frozen[06/21/2012 - 10:23:08PM] Reverting game...[06/21/2012 - 10:23:11PM] Loading game...[06/21/2012 - 10:23:11PM] VM is thawing...[06/21/2012 - 10:23:12PM] PATCH 1.6 QUEST HAS STARTED[06/21/2012 - 10:23:20PM] VM is freezing...[06/21/2012 - 10:23:20PM] VM is frozen[06/21/2012 - 10:23:20PM] Log closed

no errors whatsoever.

i made a quick save and relaunched the game without the dummy esm/esp enabled and the game ran smoothly with no additional errors.

so this leads me to think, should we not ask users to uninstall scripts, and just replace them with blanks with an uninstall process instead?
User avatar
Stephanie Kemp
 
Posts: 3329
Joined: Sun Jun 25, 2006 12:39 am

Post » Sun Jun 24, 2012 6:34 am

Wouldn't a clean save wipe out any issues with missing scripts?
User avatar
Eddie Howe
 
Posts: 3448
Joined: Sat Jun 30, 2007 6:06 am

Post » Sun Jun 24, 2012 6:30 pm

no, ive already tried that

there is no way to clean save if the umbilical chord is severed abruptly (at least not that i know of). when i simply removed the esm/esp and all files it dumped many errors, and then saving again did not get rid of those errors.

i think when this kind of residue accumulates over a long period of time this is probably causing a lot of the random CTDs. it could be from errors from a mod you uninstalled months ago
User avatar
Jessica Phoenix
 
Posts: 3420
Joined: Sat Jun 24, 2006 8:49 am

Post » Sun Jun 24, 2012 11:22 am

So the idea is that you will have a two stage uninstall - the first uninstalls your regular esp, and replaces it with a mod with the same name that basically cleans everything up, then after running the "cleanup esp", everything can be safely and cleanly uninstalled?

It sounds like a great idea to me!

I'm curious, do you still get the papyrus "script not found" type errors after stopping any quests in your esp before uninstalling normally? (I realize not all scripts maybe be associated with a quest, so this sounds like a great "cleanup" process!
User avatar
Sheeva
 
Posts: 3353
Joined: Sat Nov 11, 2006 2:46 am

Post » Sun Jun 24, 2012 10:21 am

Wouldn't a clean save wipe out any issues with missing scripts?

Nope. I maintain that a "clean save" really does not exist, especially not how people think it works.

I have found a clean save will clean up some of the errors with variables though, but not the script errors. They live differently in the save file.
User avatar
Kit Marsden
 
Posts: 3467
Joined: Thu Jul 19, 2007 2:19 pm

Post » Sun Jun 24, 2012 3:03 pm

here's the papyrus dump from an abrupt sever-uninstall:

note - i uninstalled simply by deleting all files related to the mod, then loaded the game, travelled somewhere, saved and reloaded.


Spoiler

[06/21/2012 - 10:42:58PM] Papyrus log opened (PC)[06/21/2012 - 10:42:58PM] Update budget: 1.200000ms (Extra tasklet budget: 1.200000ms, Load screen budget: 500.000000ms)[06/21/2012 - 10:42:58PM] Memory page: 128 (min) 512 (max) 76800 (max total)[06/21/2012 - 10:43:10PM] VM is freezing...[06/21/2012 - 10:43:10PM] VM is frozen[06/21/2012 - 10:43:11PM] Reverting game...[06/21/2012 - 10:43:16PM] Loading game...[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_BTASecretDoorTrigger", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_BTASecretDoorTrigger referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAfavorOpheliaScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAfavorOpheliaScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAMannequinActivatorScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAMannequinActivatorScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "OpheliaDeath", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type OpheliaDeath referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTA02PlayerScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTA02PlayerScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BlackTowerEntranceIntroScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BlackTowerEntranceIntroScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "AleDispenserScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type AleDispenserScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAinbox01Script", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAinbox01Script referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_OpheliaWorkPackage_0101790B", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_OpheliaWorkPackage_0101790B referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAhelgenActivateScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAhelgenActivateScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTAfavorOphelia_0101B5AA", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTAfavorOphelia_0101B5AA referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "XMarkerLoad", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type XMarkerLoad referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_BSAkeyScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_BSAkeyScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTAinbox02_0101894C", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTAinbox02_0101894C referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "MapMarkerDisableScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type MapMarkerDisableScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_BlackTowerSuiteConcub_0102E493", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_BlackTowerSuiteConcub_0102E493 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "HousePurchaseScriptBTA", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type HousePurchaseScriptBTA referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAKazDialogueScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAKazDialogueScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTACardiologistObject_01024D9B", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTACardiologistObject_01024D9B referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_OpheliaBedroomWorkPac_0102E7D6", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_OpheliaBedroomWorkPac_0102E7D6 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BlackTowerMessageBoxScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BlackTowerMessageBoxScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAinbox02Script", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAinbox02Script referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTAinbox01_0101B047", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTAinbox01_0101B047 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_OpheliaIdlePackage_0101A57B", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_OpheliaIdlePackage_0101A57B referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_MannequinnStayPUT_0100BB50", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_MannequinnStayPUT_0100BB50 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BSArmorPerks_02006937", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BSArmorPerks_02006937 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTAManslayer_01023801", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTAManslayer_01023801 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTA02FinalRequest_0101E157", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTA02FinalRequest_0101E157 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_LiannWorkPackage_0101790C", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_LiannWorkPackage_0101790C referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "KyraHirelingScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type KyraHirelingScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTAconcubine_010158A2", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTAconcubine_010158A2 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTA01intro_01014DDC", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTA01intro_01014DDC referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BlackTowerDoorScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BlackTowerDoorScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTA01introScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTA01introScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "OpheliaNoteScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type OpheliaNoteScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTA02Script", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTA02Script referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTA02toDB10starter_0102BEE8", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTA02toDB10starter_0102BEE8 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTAconcubineScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTAconcubineScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_LiannDismissSandbox_0102EF5C", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_LiannDismissSandbox_0102EF5C referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_WallSconceTrigger", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_WallSconceTrigger referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_HousePurchaseBTA_01013D88", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_HousePurchaseBTA_01013D88 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_QF_BTACardiologist_01024D96", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_QF_BTACardiologist_01024D96 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "BTADisplayMannequinScript", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type BTADisplayMannequinScript referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "XMarkerLoad2", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type XMarkerLoad2 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] Cannot open store for class "DCVR_PF_OpheliaBedroomIdlePac_0102E7D4", missing file?[06/21/2012 - 10:43:16PM] warning: Unable to get type DCVR_PF_OpheliaBedroomIdlePac_0102E7D4 referenced by the save game. Objects of this type will not be loaded.[06/21/2012 - 10:43:16PM] warning: Could not find type BTAfavorOpheliaScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTAfavorOphelia_0101B5AA in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTAManslayer_01023801 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type KyraHirelingScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_OpheliaBedroomIdlePac_0102E7D4 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type XMarkerLoad in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type XMarkerLoad2 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTADisplayMannequinScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTAMannequinActivatorScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTAKazDialogueScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTACardiologist_01024D96 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_HousePurchaseBTA_01013D88 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type HousePurchaseScriptBTA in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type AleDispenserScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_BTASecretDoorTrigger in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_WallSconceTrigger in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTA02Script in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTA02FinalRequest_0101E157 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_MannequinnStayPUT_0100BB50 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTACardiologistObject_01024D9B in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_LiannDismissSandbox_0102EF5C in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTAinbox01Script in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTAinbox01_0101B047 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTAconcubine_010158A2 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTAconcubineScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type MapMarkerDisableScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTAinbox02Script in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTAinbox02_0101894C in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTA02toDB10starter_0102BEE8 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTA01introScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BTA01intro_01014DDC in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_OpheliaIdlePackage_0101A57B in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_OpheliaBedroomWorkPac_0102E7D6 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_BlackTowerSuiteConcub_0102E493 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_QF_BSArmorPerks_02006937 in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_LiannWorkPackage_0101790C in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_PF_OpheliaWorkPackage_0101790B in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTA02PlayerScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type OpheliaNoteScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BTAhelgenActivateScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BlackTowerMessageBoxScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BlackTowerEntranceIntroScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type OpheliaDeath in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_BSAkeyScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type DCVR_BSAkeyScript in the type table in save[06/21/2012 - 10:43:16PM] warning: Could not find type BlackTowerDoorScript in the type table in save[06/21/2012 - 10:43:16PM] VM is thawing...[06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000B6F6A)>] running OnCellLoad() and AlreadyInit = TRUE[06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000ACD81)>] running OnCellLoad() and AlreadyInit = TRUE[06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000ACD7F)>] running OnCellLoad() and AlreadyInit = TRUE[06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000B6F6A)>] The TriggerMarker is [WeaponRackTriggerSCRIPT < (000B6F69)>][06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000ACD81)>] The TriggerMarker is [WeaponRackTriggerSCRIPT < (000ACD80)>][06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000ACD7F)>] The TriggerMarker is [WeaponRackTriggerSCRIPT < (000ACD7E)>][06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000ACD81)>] finishing OnCellLoad() and AlreadyInit = TRUE[06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000B6F6A)>] finishing OnCellLoad() and AlreadyInit = TRUE[06/21/2012 - 10:43:16PM] DARYL - [WeaponRackActivateSCRIPT < (000ACD7F)>] finishing OnCellLoad() and AlreadyInit = TRUE[06/21/2012 - 10:43:28PM] VM is freezing...[06/21/2012 - 10:43:28PM] VM is frozen[06/21/2012 - 10:43:28PM] Saving game...[06/21/2012 - 10:43:28PM] VM is thawing...[06/21/2012 - 10:43:33PM] VM is freezing...[06/21/2012 - 10:43:33PM] VM is frozen[06/21/2012 - 10:43:33PM] Log closed
User avatar
Janeth Valenzuela Castelo
 
Posts: 3411
Joined: Wed Jun 21, 2006 3:03 am

Post » Sun Jun 24, 2012 4:35 am

Geez. Im starting to wish for the old scripting system.

How are end users supposed to deal with this issue? Specially with the Workshop providing such easy access to mod.
User avatar
SaVino GοΜ
 
Posts: 3360
Joined: Mon Sep 17, 2007 8:00 pm

Post » Sun Jun 24, 2012 10:03 am

So the idea is that you will have a two stage uninstall - the first uninstalls your regular esp, and replaces it with a mod with the same name that basically cleans everything up, then after running the "cleanup esp", everything can be safely and cleanly uninstalled?

It sounds like a great idea to me!

I'm curious, do you still get the papyrus "script not found" type errors after stopping any quests in your esp before uninstalling normally? (I realize not all scripts maybe be associated with a quest, so this sounds like a great "cleanup" process!

yea, 2 step uninstall process.


step 1 - download the "uninstaller" (this is just a dummy file, blank esp and/or esm, and all your blank scripts with proper unregister calls) - this will overwrite the previously "active" mod
step 2 - disable or delete the esp/esm plugins ONLY (leaving the scripts in the folder forever), then make your clean save and go about your merry way with no errors in the trace log
User avatar
Joe Bonney
 
Posts: 3466
Joined: Tue Jul 17, 2007 12:00 pm

Post » Sun Jun 24, 2012 5:14 am

here's the papyrus dump from an abrupt sever-uninstall:

note - i uninstalled simply by deleting all files related to the mod, then loaded the game, travelled somewhere, saved and reloaded.


From my experience and testing, some of the errors in the log file will go away after doing a "clean" save, but the most disturbing ones that refer to the missing script files do not go away. And yes, I found references to mods I had uninstalled months earlier in my save game file!
User avatar
Lexy Corpsey
 
Posts: 3448
Joined: Tue Jun 27, 2006 12:39 am

Post » Sun Jun 24, 2012 5:27 am

Geez. Im starting to wish for the old scripting system.

How are end users supposed to deal with this issue? Specially with the Workshop providing such easy access to mod.
i havent tested this with a bsa yet, but if i remember correctly if the associated esp is not loaded, the bsa also does not get loaded, which means the scripts are as good as deleted (i still have to test this)
User avatar
Damien Mulvenna
 
Posts: 3498
Joined: Wed Jun 27, 2007 3:33 pm

Post » Sun Jun 24, 2012 9:35 am

yea, 2 step uninstall process.


step 1 - download the "uninstaller" (this is just a dummy file, blank esp and/or esm, and all your blank scripts with proper unregister calls) - this will overwrite the previously "active" mod
step 2 - disable or delete the esp/esm plugins ONLY (leaving the scripts in the folder forever), then make your clean save and go about your merry way with no errors in the trace log

If you do that for your mod(s) Amethyst Deceiver, you're doing a BIG favor for people who used your mod!! (Sadly, so many will still not follow the steps, but at least you are providing something to help preserve their save game!)
User avatar
Mark Hepworth
 
Posts: 3490
Joined: Wed Jul 11, 2007 1:51 pm

Post » Sun Jun 24, 2012 4:51 am

well, i really need to get to the bottom of this because both of my mods have 100+ scripts on them, thats a TON of garbage that i am inadvertently putting on my users who uninstall

i definitely feel a bit guilty as i am sure i have contributed to some poor chap's CTDs unknowingly
User avatar
Bambi
 
Posts: 3380
Joined: Tue Jan 30, 2007 1:20 pm

Post » Sun Jun 24, 2012 5:58 am

What about doing the reverse? Deleting the scripts but not the mod?

This seems like a huge oversight. I cant imagine Bethesda having to deal with this.
User avatar
Bethany Watkin
 
Posts: 3445
Joined: Sun Jul 23, 2006 4:13 pm

Post » Sun Jun 24, 2012 11:40 am

that would probably cause more errors, because the VMAD records are embedded in the esp/esm.

i did try deleting just scripts and switcheroo-ing with blank esp/esm's and i still get the missing file errors
User avatar
James Potter
 
Posts: 3418
Joined: Sat Jul 07, 2007 11:40 am

Post » Sun Jun 24, 2012 7:30 am

well, i really need to get to the bottom of this because both of my mods have 100+ scripts on them, thats a TON of garbage that i am inadvertently putting on my users who uninstall

i definitely feel a bit guilty as i am sure i have contributed to some poor chap's CTDs unknowingly

I'm curious, do you still get the papyrus "script not found" type errors after stopping any quests in your esp before uninstalling normally? (I realize not all scripts maybe be associated with a quest, so this sounds like a great "cleanup" process!
Not sure if you saw this comment earlier.

I'm wondering if you have tried using:
StopQuest ?

After testing using the console commands, I created Shutdown code that stops the quests related to my mod. That covers most, but not all of my scripts. So maybe you won't have to create dummy scripts for all 100+ scripts?
User avatar
Aaron Clark
 
Posts: 3439
Joined: Fri Oct 26, 2007 2:23 pm

Post » Sun Jun 24, 2012 8:16 am

Im convinced there is something more to this. I honestly can't imagine this being an issue for Bethesda, and if so, how did they deal with it? They undoubtedly went through thousands of script iterations, so what happened when they removed all their old and unused scripts?
User avatar
Reven Lord
 
Posts: 3452
Joined: Mon May 21, 2007 9:56 pm

Post » Sun Jun 24, 2012 5:35 am

yeah, as long as the threads are killed and all functions go black, it should be fine. you might not need to blank out the scripts if you can end them cleanly
User avatar
Sunny Under
 
Posts: 3368
Joined: Wed Apr 11, 2007 5:31 pm

Post » Sun Jun 24, 2012 6:01 pm

Im convinced there is something more to this. I honestly can't imagine this being an issue for Bethesda, and if so, how did they deal with it? They undoubtedly went through thousands of script iterations, so what happened when they removed all their old and unused scripts?

actually i think a lot of them are littered in the bsa, unused.
User avatar
ImmaTakeYour
 
Posts: 3383
Joined: Mon Sep 03, 2007 12:45 pm

Post » Sun Jun 24, 2012 2:38 am

Yeah, there will be many unused scripts, but they deleted many as well. What happened there? This seems like too big of an issue for Bethesda to just overlook from their development perspective.
User avatar
Sarah Evason
 
Posts: 3507
Joined: Mon Nov 13, 2006 10:47 pm

Post » Sun Jun 24, 2012 2:30 pm

This seems like a huge oversight. I cant imagine Bethesda having to deal with this.

I would suggest taking a look at this little app: http://skyrim.nexusmods.com/mods/15054

This provided some eye-opening information! Basically, imo, Bethesda is NOT "dealing" with it, hence the issues Amethyst Deceiver is seeing.
User avatar
Emmie Cate
 
Posts: 3372
Joined: Sun Mar 11, 2007 12:01 am

Post » Sun Jun 24, 2012 10:04 am

Yeah, there will be many unused scripts, but they deleted many as well. What happened there? This seems like too big of an issue for Bethesda to just overlook from their development perspective.

Remember, these issues are ONLY in the save game file. And it only applies to scripts that are NOT cleaned up properly. So under "normal" conditions, there isn't a problem. But when you start adding mods that people can (and do) uninstall anytime, well, then you start seeing problems. Again, take a look at that link I posted and look at some save game files.

Personally, I think how Bethesda handles the save game and how easily it gets corrupted is really bad. And it has surprised me for some time that more poeople are not complaining! I think they just "blame" the mods not really understanding, or they get random CTD's, etc. But, I do know, a lot of people (myself included) have to start new games because of the save game corruption.

So again, congrats to Amethyst Deceiver trying to do the best to clean up his mod!
User avatar
Chloé
 
Posts: 3351
Joined: Sun Apr 08, 2007 8:15 am

Post » Sun Jun 24, 2012 5:56 pm

So, Dawngard will have this issue if you decide to uninstall it? (Pending the script in BSA test)
User avatar
Noely Ulloa
 
Posts: 3596
Joined: Tue Jul 04, 2006 1:33 am

Post » Sun Jun 24, 2012 3:35 am

well, its fairly easy to remove a script cleanly in an active esp/esm, so long as you unload all properties before removing the script object on the reference/base object first. then you can delete the script (most of the time at least)

but the issue here is that the missing file error is sticking in the save game not the plugin.


if bethesda testers experienced errors while testing the game and had to remove scripts, they can cleanly remove them from the plugin (same as we can). it's not like they are including a pre-saved game (which is also why i never knew of this issue until recently, because while testing my own mod, its not like i am uninstalling it as well, so i never knew about it until a user sent me their papyrus log) i am sure bethesda wasnt aware of this as well


what im afraid of is, what happens when you do this uninstall process but in the end you have a script folder that has 50000 scripts in it? will that cause an even worse consequence than severing and leaving the file missing errors?
User avatar
Trevor Bostwick
 
Posts: 3393
Joined: Tue Sep 25, 2007 10:51 am

Post » Sun Jun 24, 2012 3:43 pm

Let me add my 2 cents here based on experiences I've had with editing scripts already in the save:

1. Erasing a script does NOT erase the data being kept on it in the save. This means any properties or variables in the old saved version of the script, the game will still attempt to load those every time the script gets loaded (and fail, resulting in an error dump). I actually avoid this now by moving Properties I'm not using anymore to a "Deprecated properties" area down at the very bottom of my script, so that the game will still load them and not dump an error into the log. They won't do anything because I'm not referencing them in the script at all, so they don't do any harm remaining there.

2. If the script was registered to update, even if the "cleaner" script is empty, it will still continue attempting updates. This is why RegisterForSingleUpdate() is preferred, since if the update fails, it won't re-register. You'll also get a truckload of errors about being unable to compare NONEs to types and not being able to call functions on NONE objects when the script makes that inevitable final update. In the end, you'll probably end up with a debug log several megabytes in size by blanking out a script that regularly updates.

Once a script is in your save, it is in there, as-is, PERMANENTLY. Absolutely nothing come hell or high water can change the data stored about that script once it has been saved, and if ANY of that data goes missing, the game will vehemently complain.

I do not think "blanking out" a script as a form of cleanup will have the intended effect. In fact, I think it will actually make things worse, as the log will mushroom big time with complaints about missing variables and properties.
User avatar
Maeva
 
Posts: 3349
Joined: Mon Mar 26, 2007 11:27 pm

Post » Sun Jun 24, 2012 1:51 pm

So, Dawngard will have this issue if you decide to uninstall it? (Pending the script in BSA test)

Don't know about Dawngard as I haven't tried it, but what Amethyst Deceiver is showing is very easy to reproduce. (But remember, Bethesda can, and does, code things in to their application that we cannot. So it's not really a fair comparision anyway.)

Just take a mod you know well (so you will know if it has scripts running) and uninstall/delete it from your data directory. Enable Papyrus logging and restart the game. You should see the "This save relies on data that is no longer available" (not sure of the exact message) and chose to continue. Exit the game and go look at your log file. You'll see the errors Amethyst Deceiver posted.
User avatar
ezra
 
Posts: 3510
Joined: Sun Aug 12, 2007 6:40 pm

Next

Return to V - Skyrim