aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2022-04-09 22:01:35 +0100
committerGitHub <noreply@github.com>2022-04-09 23:01:35 +0200
commit67ec62f0c41d39fb605aad53c12d8d6fe02fb3aa (patch)
tree6110a6df58765f23cb27feea1e057c45d537b6b6
parentd8cbd386a5e1b76625e7192a147d41fc1ae12e1d (diff)
downloadNorthstarMods-67ec62f0c41d39fb605aad53c12d8d6fe02fb3aa.tar.gz
NorthstarMods-67ec62f0c41d39fb605aad53c12d8d6fe02fb3aa.zip
Fix crash issues on infection and fastball respawn (#294)
-rw-r--r--Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_fastball.gnut2
-rw-r--r--Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_inf.gnut10
2 files changed, 10 insertions, 2 deletions
diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_fastball.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_fastball.gnut
index f5fae006..a8ce6a40 100644
--- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_fastball.gnut
+++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_fastball.gnut
@@ -92,7 +92,7 @@ void function FastballRespawnPlayerEffects_Threaded()
// sometimes this seems to get called before the player has respawned clientside, so we just wait until the client thinks they're alive
entity player = GetLocalClientPlayer()
- while ( !IsAlive( player ) )
+ while ( !IsAlive( player ) || !IsValid( player.GetCockpit() ) )
WaitFrame()
StartParticleEffectOnEntity( player.GetCockpit(), GetParticleSystemIndex( $"P_pod_screen_lasers_OUT" ), FX_PATTACH_ABSORIGIN_FOLLOW, -1 )
diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_inf.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_inf.gnut
index 56763bd4..9374278a 100644
--- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_inf.gnut
+++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_inf.gnut
@@ -22,9 +22,17 @@ void function ClGamemodeInfection_Init()
void function ServerCallback_YouAreInfected()
{
+ thread ServerCallback_YouAreInfected_Threaded()
+}
+
+void function ServerCallback_YouAreInfected_Threaded()
+{
// heavily based on mfd code
entity localPlayer = GetLocalViewPlayer()
-
+
+ while ( !IsValid( localPlayer.GetCockpit() ) )
+ WaitFrame()
+
StartParticleEffectOnEntity( localPlayer.GetCockpit(), GetParticleSystemIndex( $"P_MFD" ), FX_PATTACH_ABSORIGIN_FOLLOW, -1 )
EmitSoundOnEntity( localPlayer, "UI_InGame_MarkedForDeath_PlayerMarked" )
HideEventNotification()