From 633eaa19c8fd209ecbf7cbe2f79953ac15ba293d Mon Sep 17 00:00:00 2001 From: Steven Howard Date: Wed, 21 Nov 2018 21:07:26 +0000 Subject: [PATCH] fixes a critical bug with hardpoints, it would restore players health everytime they enter zone --- gamemodes/irresistible/cnr/features/gangs/turfs.pwn | 2 +- gamemodes/sf-cnr.pwn | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gamemodes/irresistible/cnr/features/gangs/turfs.pwn b/gamemodes/irresistible/cnr/features/gangs/turfs.pwn index f3ca37a..74f38fe 100644 --- a/gamemodes/irresistible/cnr/features/gangs/turfs.pwn +++ b/gamemodes/irresistible/cnr/features/gangs/turfs.pwn @@ -389,7 +389,7 @@ public OnPlayerUpdateGangZone( playerid, zoneid ) if ( g_gangTurfData[ g_gangHardpointTurf ] [ E_ID ] != g_gangTurfData[ zoneid ] [ E_ID ] ) { PlayerTextDrawSetString( playerid, g_ZoneOwnerTD[ playerid ], "~b~~h~(INACTIVE HARDPOINT)~n~~w~~h~Unchallenged" ); } else { - DisablePlayerSpawnProtection( playerid ); + DisablePlayerSpawnProtection( playerid, true ); PlayerTextDrawSetString( playerid, g_ZoneOwnerTD[ playerid ], sprintf( "~r~~h~(ACTIVE HARDPOINT)~n~~w~~h~%s", g_gangHardpointAttacker != INVALID_GANG_ID ? ( ReturnGangName( g_gangHardpointAttacker ) ) : ( "Unchallenged" ) ) ); } } diff --git a/gamemodes/sf-cnr.pwn b/gamemodes/sf-cnr.pwn index eb3499d..0f4bc01 100644 --- a/gamemodes/sf-cnr.pwn +++ b/gamemodes/sf-cnr.pwn @@ -13145,10 +13145,12 @@ stock IsPlayerInMinigame( playerid ) { return IsPlayerInPaintBall( playerid ) || IsPlayerDueling( playerid ) || IsPlayerPlayingPool( playerid ) || IsPlayerPlayingPoker( playerid ); } -stock DisablePlayerSpawnProtection( playerid ) +stock DisablePlayerSpawnProtection( playerid, bool: restore_health = false ) { + if ( restore_health ) + SetPlayerHealth( playerid, p_AdminOnDuty{ playerid } ? float( INVALID_PLAYER_ID ) : 100.0 ); + DisableRemoteVehicleCollisions( playerid, p_AdminOnDuty{ playerid } ); - SetPlayerHealth( playerid, p_AdminOnDuty{ playerid } ? float( INVALID_PLAYER_ID ) : 100.0 ); Delete3DTextLabel( p_SpawnKillLabel[ playerid ] ); p_SpawnKillLabel[ playerid ] = Text3D: INVALID_3DTEXT_ID; p_AntiSpawnKillEnabled{ playerid } = false;