From 53b5d3bc08db46d77dd5d428a8cd0878bcc81cb9 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Wed, 10 Aug 2022 22:21:49 +0200 Subject: [PATCH] Increased delay before showing health bars on game load, fixes some actors not showing up --- scripts/_00e_gui_actorhealthbar.pex | Bin 5681 -> 5452 bytes source/scripts/_00e_gui_actorhealthbar.psc | 47 ++++++++------------- 2 files changed, 17 insertions(+), 30 deletions(-) diff --git a/scripts/_00e_gui_actorhealthbar.pex b/scripts/_00e_gui_actorhealthbar.pex index 941c2b42b6190d7475e9fb4a87a527e21e0159ef..c4370f8b1ebb5add9339132d69f962d4a32d28d1 100644 GIT binary patch literal 5452 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 0 - n -= 1 - _currentlyDisplayedActors[n] = None - EndWhile - return - endif - - Utility.Wait(FadeOutDuration / 1000.0 + 0.05) - int i = _currentlyDisplayedActors.Length While i > 0 i -= 1 @@ -150,15 +141,15 @@ event OnGameReload() EndIf EndWhile - Cell kCell = PlayerRef.GetParentCell() - Int iIndex = kCell.GetNumRefs(43) ; NPC - While iIndex - iIndex -= 1 - Actor akActor = kCell.GetNthRef(iIndex, 43) as Actor - if akActor && akActor.IsPlayerTeammate() - AddActors(akActor) + Actor[] aFollowers = EnderalFunctions.GetPlayerFollowers() + i = aFollowers.length + while i > 0 + i -= 1 + if aFollowers[i] && _currentlyDisplayedActors.find(aFollowers[i]) < 0 + AddActors(aFollowers[i]) endif - EndWhile + endwhile + Endevent Function UpdateWidgetScale() @@ -189,29 +180,25 @@ Function AddActors(Form aForm) if ! aForm return endif + AddActorRaw(aForm) if _currentlyDisplayedActors.find(aForm) < 0 - int i = _currentlyDisplayedActors.length - while i > 0 - i = i - 1 - if _currentlyDisplayedActors[i] == None - _currentlyDisplayedActors[i] = aForm - i = 0 ; Break - Endif - Endwhile + int i = _currentlyDisplayedActors.find(none) + if i >= 0 + _currentlyDisplayedActors[i] = aForm + endif ;we do not have enough place in the array - the added actor will not be save game persistent endif - AddActorRaw(aForm) EndFunction Function RemoveActors(Form aForm) if ! aForm return endif + RemoveActorRaw(aForm) int i = _currentlyDisplayedActors.find(aForm) if i >= 0 _currentlyDisplayedActors[i] = None Endif - RemoveActorRaw(aForm) EndFunction Function AddActorRaw(Form aActor)