From d34c33e74b1f9894f70121d5b390842d9a32b6b4 Mon Sep 17 00:00:00 2001 From: ineedbots Date: Wed, 10 Nov 2021 15:54:34 -0600 Subject: [PATCH] fix up errors --- userraw/maps/mp/gametypes/_damage.gsc | 46 ++++++++++++-------- userraw/maps/mp/gametypes/_weapons.gsc | 2 +- userraw/maps/mp/killstreaks/_killstreaks.gsc | 7 ++- 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/userraw/maps/mp/gametypes/_damage.gsc b/userraw/maps/mp/gametypes/_damage.gsc index 1712e0e..629f52c 100644 --- a/userraw/maps/mp/gametypes/_damage.gsc +++ b/userraw/maps/mp/gametypes/_damage.gsc @@ -1594,14 +1594,16 @@ Callback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, s doPrintDamage(dmg, hitloc, flags) { + self endon( "disconnect" ); + huddamage = newclienthudelem(self); - huddamage.alignx = "center"; - huddamage.horzalign = "center"; - huddamage.x = 10; - huddamage.y = 235; - huddamage.fontscale = 1.6; - huddamage.font = "objective"; - huddamage setvalue(dmg); + huddamage.alignx = "center"; + huddamage.horzalign = "center"; + huddamage.x = 10; + huddamage.y = 235; + huddamage.fontscale = 1.6; + huddamage.font = "objective"; + huddamage setvalue(dmg); if ((flags & level.iDFLAGS_RADIUS) != 0) huddamage.color = (0.25, 0.25, 0.25); @@ -1609,23 +1611,24 @@ doPrintDamage(dmg, hitloc, flags) if ((flags & level.iDFLAGS_PENETRATION) != 0) huddamage.color = (1, 1, 0.25); - if (hitloc == "head") - huddamage.color = (1, 0.25, 0.25); + if (hitloc == "head") + huddamage.color = (1, 0.25, 0.25); - huddamage moveovertime(1); - huddamage fadeovertime(1); - huddamage.alpha = 0; - huddamage.x = randomIntRange(25, 70); + huddamage moveovertime(1); + huddamage fadeovertime(1); + huddamage.alpha = 0; + huddamage.x = randomIntRange(25, 70); val = 1; if (cointoss()) val = -1; - huddamage.y = 235 + randomIntRange(25, 70) * val; + huddamage.y = 235 + randomIntRange(25, 70) * val; - wait 1; + wait 1; - huddamage destroy(); + if ( isDefined( huddamage ) ) + huddamage destroy(); } @@ -1633,10 +1636,15 @@ finishPlayerDamageWrapper( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeat { if( level.allowPrintDamage ) { - if ( isDefined( eAttacker ) && isPlayer( eAttacker ) && eAttacker.printDamage ) - eAttacker thread doPrintDamage(iDamage, sHitLoc, iDFlags); + if ( !isDefined( eAttacker ) ) + { + if ( !isDefined( eInflictor ) ) + self thread doPrintDamage( iDamage, sHitLoc, iDFlags ); + } + if ( isPlayer( eAttacker ) && eAttacker.printDamage ) + eAttacker thread doPrintDamage( iDamage, sHitLoc, iDFlags ); else if( isDefined( eAttacker.owner ) && isPlayer( eAttacker.owner ) && eAttacker.owner.printDamage ) - eAttacker.owner thread doPrintDamage(iDamage, sHitLoc, iDFlags); + eAttacker.owner thread doPrintDamage( iDamage, sHitLoc, iDFlags ); } if( level.extraDamageFeedback ) diff --git a/userraw/maps/mp/gametypes/_weapons.gsc b/userraw/maps/mp/gametypes/_weapons.gsc index 4c831d9..7fa4c31 100644 --- a/userraw/maps/mp/gametypes/_weapons.gsc +++ b/userraw/maps/mp/gametypes/_weapons.gsc @@ -1572,7 +1572,7 @@ setClaymoreTeamHeadIcon( team ) { self endon( "death" ); - if ( self.weaponname == "claymore_mp" && !level.allowExtendedClaymoreTrace ) + if ( isDefined( self.weaponname ) && self.weaponname == "claymore_mp" && !level.allowExtendedClaymoreTrace ) { self waittill( "missile_stuck" ); self waittill( "claymore_trace_fixed" ); diff --git a/userraw/maps/mp/killstreaks/_killstreaks.gsc b/userraw/maps/mp/killstreaks/_killstreaks.gsc index 02a149f..e8bd3c6 100644 --- a/userraw/maps/mp/killstreaks/_killstreaks.gsc +++ b/userraw/maps/mp/killstreaks/_killstreaks.gsc @@ -702,8 +702,11 @@ giveKillstreakWeapon( weapon ) self takeWeapon( item ); } - self _giveWeapon( weapon, 0 ); - self _setActionSlot( 4, "weapon", weapon ); + if ( isDefined( weapon ) && weapon != "" ) + { + self _giveWeapon( weapon, 0 ); + self _setActionSlot( 4, "weapon", weapon ); + } }