Scriptname _00E_PlayerSetUpScript extends ObjectReference {Initializes all the necessary Quests, maintains the player, contains various OnPlayerLoadGame() failsafes. This script is important for proper updating, do not overwrite it.} int function _GetScriptVersion() Global return 1 endFunction ;===================================================================================== ; EVENTS ;===================================================================================== Event OnInit() If self != (PlayerREF as ObjectReference) return EndIf PlayerREF.SetActorValue("speedMult", 95) PlayerREF.SetActorValue("Healrate", 0) EnableDisableKillmove() ; starts all quests that are in the formlist Int iIndex = QuestsToStart.GetSize() While iIndex > 0 iIndex -= 1 Quest kQuest = QuestsToStart.GetAt(iIndex) as Quest kQuest.Start() endwhile EndEvent Event OnPlayerLoadGame() If self == (PlayerREF as ObjectReference) ; A check just in case. Most likely this condition is always True Maintenance() EndIf EndEvent ;===================================================================================== ; ALL UPDATES ;===================================================================================== Function EnableDisableKillmove() ; it seems like that this ini setting does not do stuff by itself (or it is bugged) ; therefore we need to read it from the file and change the global with which the killmoves are conditioned If Utility.GetINIBool("bVATSDisable:VATS") == false KillMove.SetValueInt(1) Else KillMove.SetValueInt(0) EndIf EndFunction Function SetAutoSaveInterval() ; updates the autosave interval _00E_AutoSaveSystem_Functions AutoSaveSystem_Functions = Game.GetFormFromFile(0x00048141, "Skyrim.esm") as _00E_AutoSaveSystem_Functions AutoSaveSystem_Functions.UpdateAutoSaveInterval() EndFunction Function FailsafeMQ05PrologueAliases() ; failsafe for issue 1536, fills empty aliases If MQ05PrologueFunctions == None MQ05PrologueFunctions = Game.GetForm(0x00033A5B) as _00E_MQ05Prologue_Functions EndIf MQ05PrologueFunctions.FillEmptyAliasesFailsafe() EndFunction Function RefreshMountNamesOnLoad() _00E_NQ06_Functions NQ06Functions = Game.GetForm(0x725BA) as _00E_NQ06_Functions NQ06Functions.RefreshNamesOnSaveLoad() EndFunction ;===================================================================================== ; MAINTENANCE ;===================================================================================== Function Maintenance() ; changes to the actor value healrate will not persist in consecutive saves ; every time a save gets loaded the healrate needs to be set to 0, otherwise it will go back again to default at 0.7 ; this is called before active magic effects of potions or spells are applied to the player which could also alter the value PlayerREF.SetActorValue("Healrate", 0) ; Workaround for broken physics on loading saves, made on a mount If PlayerREF.IsOnMount() PlayerREF.Dismount() EndIf ; Clear stuck help messages, leaking between game loads Message.ResetHelpMessage("Clear") (Game.GetForm(0xAC80E) as Message).ShowAsHelpMessage("Clear", 0.1, 1, 1) EnableDisableKillmove() SetAutoSaveInterval() FailsafeMQ05PrologueAliases() RefreshMountNamesOnLoad() SendModEvent("Enderal_GameLoaded") EndFunction ;===================================================================================== ; PROPERTIES ;===================================================================================== _00E_MQ05Prologue_Functions Property MQ05PrologueFunctions Auto Actor Property PlayerREF Auto FormList Property QuestsToStart Auto GlobalVariable Property KillMove Auto