1
Fork 0

Apply the stuck help message fix only on reloads after the first

development
Eddoursul 2 months ago
parent 812e11cc72
commit b817836ef0
  1. BIN
      scripts/_00E_EngineBugfixAlias.pex
  2. 24
      source/scripts/_00E_EngineBugfixAlias.psc

@ -5,19 +5,12 @@ int function _GetScriptVersion() Global
endFunction endFunction
Event OnInit() Event OnInit()
Utility.Wait(0.1) Utility.Wait(0.05)
_ClearStuckHelpMessages() _ClearStuckHelpMessages()
EndEvent EndEvent
Event OnPlayerLoadGame() Event OnPlayerLoadGame()
; ResetHelpMessage crashes the game when called in menu mode, for instance, when loading a savegame fails due to missing mods
Utility.Wait(0.1)
; If a help message is visible during game reload, it gets stuck on screen
; This workaround shows an empty message to forcefully clear the queue
_ClearStuckHelpMessages()
Actor PlayerREF = GetReference() as Actor Actor PlayerREF = GetReference() as Actor
; Perks modifying armor weights need some push on each game load to work. ; Perks modifying armor weights need some push on each game load to work.
@ -27,6 +20,13 @@ Event OnPlayerLoadGame()
_ResetPerk(PlayerREF, _00E_Class_Keeper_P05_C_Conditioning) _ResetPerk(PlayerREF, _00E_Class_Keeper_P05_C_Conditioning)
_ResetPerk(PlayerREF, _00E_Class_Vagrant_P05_B_Lightweight) _ResetPerk(PlayerREF, _00E_Class_Vagrant_P05_B_Lightweight)
EndIf EndIf
; ResetHelpMessage crashes the game when called in menu mode, for instance, when loading a savegame fails due to missing mods
Utility.Wait(0.05)
; If a help message is visible during game reload, it gets stuck on screen
; This workaround shows an empty message to forcefully clear the queue
_ClearStuckHelpMessages()
; Workaround for broken physics on loading saves, made on a mount ; Workaround for broken physics on loading saves, made on a mount
If PlayerREF.IsOnMount() If PlayerREF.IsOnMount()
@ -43,10 +43,10 @@ Function _ResetPerk(Actor PlayerREF, Perk p)
EndFunction EndFunction
Event _ClearStuckHelpMessages() Event _ClearStuckHelpMessages()
Message.ResetHelpMessage("Empty") if EnderalFunctions.GetNewGameCount() > 1
_00E_EmptyMessage.ShowAsHelpMessage("Empty", 0.1, 1, 1) Message.ResetHelpMessage("Empty")
Utility.Wait(0.1) _00E_EmptyMessage.ShowAsHelpMessage("Empty", 0.1, 10, 1)
Message.ResetHelpMessage("Empty") endif
EndEvent EndEvent
Perk Property _00E_Class_Keeper_P05_C_Conditioning Auto Perk Property _00E_Class_Keeper_P05_C_Conditioning Auto

Loading…
Cancel
Save