Moved stuck help messages fix to a separate quest, other player setup updates

This commit is contained in:
Eddoursul 2023-11-28 19:31:31 +01:00
parent e6e3f324fb
commit 57b68c6864
14 changed files with 26 additions and 46 deletions

BIN
FixStuckHelpMessages.esp Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
Scriptname ArmorWeightPerkFixAlias extends ReferenceAlias Hidden Scriptname _00E_ArmorWeightPerkFixAlias extends ReferenceAlias Hidden
Event OnPlayerLoadGame() Event OnPlayerLoadGame()

View File

@ -0,0 +1,11 @@
Scriptname _00E_FixStuckHelpMessagesAlias extends ReferenceAlias Hidden
Event OnPlayerLoadGame()
; Clear stuck help messages, leaking between game loads
Message.ResetHelpMessage("Clear")
_00E_MQP01_Thoughts01.ShowAsHelpMessage("Clear", 0.1, 1, 1)
EndEvent
Message Property _00E_MQP01_Thoughts01 Auto

View File

@ -1,37 +1,25 @@
Scriptname _00E_IntegrityCheckAlias extends ReferenceAlias Hidden Scriptname _00E_IntegrityCheckAlias extends ReferenceAlias Hidden
Event OnInit() Event OnInit()
RegisterForSingleUpdate(2.0) ; Give a few seconds for the game to warm up at the start
; needs the IsInMenuMode() check to prevent stuck messages
While Utility.IsInMenuMode()
Utility.WaitMenuMode(0.1)
EndWhile
CheckForgottenStories()
_00E_Func_CheckSKSE.Run()
_00E_Func_CheckEnderalDLL.Run()
EndEvent EndEvent
Event OnPlayerLoadGame() Event OnPlayerLoadGame()
RegisterForSingleUpdate(1.2)
EndEvent
CheckForgottenStories() Event OnUpdate()
; If Enderal - Forgotten Stories.esm is not loaded, kick the player back to main menu
if _00E_FS_IsForgottenStoriesActivated.GetValue() as Int != 1
Utility.wait(0.1)
Game.QuitToMainMenu()
Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! The game will not run properly.")
EndIf
_00E_Func_CheckSKSE.Run() _00E_Func_CheckSKSE.Run()
_00E_Func_CheckEnderalDLL.Run() _00E_Func_CheckEnderalDLL.Run()
EndEvent EndEvent
function CheckForgottenStories()
; If Enderal - Forgotten Stories.esm is not loaded, kick the player back to main menu
if _00E_FS_IsForgottenStoriesActivated.GetValue() as Int != 1
Utility.wait(2.0)
Game.QuitToMainMenu()
Debug.MessageBox("Enderal - Forgotten Stories.esm is not loaded! The game will not run properly. Open Data Files and enable it.")
return
EndIf
endfunction
GlobalVariable Property _00E_FS_IsForgottenStoriesActivated Auto GlobalVariable Property _00E_FS_IsForgottenStoriesActivated Auto

View File

@ -1,5 +1,5 @@
Scriptname _00E_PlayerSetUpScript extends ObjectReference 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.} {Initializes player's actor values}
int function _GetScriptVersion() Global int function _GetScriptVersion() Global
return 1 return 1
@ -11,27 +11,12 @@ endFunction
Event OnInit() Event OnInit()
If self != (PlayerREF as ObjectReference)
return
EndIf
PlayerREF.SetActorValue("speedMult", 95) PlayerREF.SetActorValue("speedMult", 95)
PlayerREF.SetActorValue("Healrate", 0) PlayerREF.SetActorValue("Healrate", 0)
EndEvent EndEvent
Event OnPlayerLoadGame() Event OnPlayerLoadGame()
If self == (PlayerREF as ObjectReference) ; A check just in case. Most likely this condition is always True
Maintenance()
EndIf
EndEvent
;=====================================================================================
; MAINTENANCE
;=====================================================================================
Function Maintenance()
; changes to the actor value healrate will not persist in consecutive saves ; 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 ; 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
@ -43,11 +28,7 @@ Function Maintenance()
PlayerREF.Dismount() PlayerREF.Dismount()
EndIf EndIf
; Clear stuck help messages, leaking between game loads EndEvent
Message.ResetHelpMessage("Clear")
(Game.GetForm(0xAC80E) as Message).ShowAsHelpMessage("Clear", 0.1, 1, 1)
EndFunction
;===================================================================================== ;=====================================================================================
; PROPERTIES ; PROPERTIES