aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-12-29 02:13:26 +0000
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-12-29 02:13:26 +0000
commite8f67265e817bdca167fbb9970327588501be580 (patch)
treede1a5f60c67517263a294f94e397b7d78c5825fe /Northstar.CustomServers/mod
parentbbdfd874e2f6a3ad1c72c123879bdc29299bc669 (diff)
downloadNorthstarMods-e8f67265e817bdca167fbb9970327588501be580.tar.gz
NorthstarMods-e8f67265e817bdca167fbb9970327588501be580.zip
fix burnmeter and fastball crashes
Diffstat (limited to 'Northstar.CustomServers/mod')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/_menu_callbacks.gnut3
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/burnmeter/_burnmeter.gnut12
2 files changed, 13 insertions, 2 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/_menu_callbacks.gnut b/Northstar.CustomServers/mod/scripts/vscripts/_menu_callbacks.gnut
index 1feefc2b..02be47a4 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/_menu_callbacks.gnut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/_menu_callbacks.gnut
@@ -35,7 +35,8 @@ void function WritePersistenceAndLeaveForLocalPlayerOnly( entity player )
while ( GetPlayerArray().len() != 1 && Time() < time + 5.0 )
WaitFrame()
- WritePersistenceAndLeave( player )
+ if ( IsValid( player ) )
+ WritePersistenceAndLeave( player )
}
void function WritePersistenceAndLeave( entity player )
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/burnmeter/_burnmeter.gnut b/Northstar.CustomServers/mod/scripts/vscripts/burnmeter/_burnmeter.gnut
index efaea76f..3151a0f2 100644
--- a/Northstar.CustomServers/mod/scripts/vscripts/burnmeter/_burnmeter.gnut
+++ b/Northstar.CustomServers/mod/scripts/vscripts/burnmeter/_burnmeter.gnut
@@ -242,7 +242,17 @@ void function PlayerUsesAmpedWeaponsBurncardThreaded( entity player )
{
weapon.RemoveMod( "silencer" ) // both this and the burnmod will override firing fx, if a second one overrides this we crash
foreach ( string mod in GetWeaponBurnMods( weapon.GetWeaponClassName() ) )
- weapon.AddMod( mod )
+ {
+ // catch incompatibilities just in case
+ try
+ {
+ weapon.AddMod( mod )
+ }
+ catch( ex )
+ {
+ weapons.removebyvalue( weapon )
+ }
+ }
// needed to display amped weapon time left
weapon.SetScriptFlags0( weapon.GetScriptFlags0() | WEAPONFLAG_AMPED )