diff --git a/src/server/gamerules.h b/src/server/gamerules.h index e2b9cd2..ed57c99 100644 --- a/src/server/gamerules.h +++ b/src/server/gamerules.h @@ -19,7 +19,7 @@ class CSGameRules:CGameRules virtual void PlayerConnect(NSClientPlayer); virtual void PlayerDisconnect(NSClientPlayer); virtual void PlayerKill(NSClientPlayer); - virtual void PlayerPostFrame(NSClientPlayer); + virtual void PlayerPreFrame(NSClientPlayer); virtual void PlayerDeath(NSClientPlayer); virtual void PlayerPain(NSClientPlayer); diff --git a/src/server/gamerules.qc b/src/server/gamerules.qc index 9adfae2..b17f3e7 100644 --- a/src/server/gamerules.qc +++ b/src/server/gamerules.qc @@ -33,8 +33,11 @@ CSGameRules::BuyingPossible(NSClientPlayer pl) /* we check what fields have changed over the course of the frame and network * only the ones that have actually changed */ void -CSGameRules::PlayerPostFrame(NSClientPlayer pp) +CSGameRules::PlayerPreFrame(NSClientPlayer pp) { + pp.gflags &= ~GF_BUYZONE; + pp.gflags &= ~GF_RESCUEZONE; + pp.gflags &= ~GF_BOMBZONE; } void diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index 38f6ef0..5c25514 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -107,8 +107,7 @@ CSMultiplayerRules::PlayerDeath(NSClientPlayer pl) void CSMultiplayerRules::PlayerPreFrame(NSClientPlayer pl) { - player pp = (player)pl; - + super::PlayerPreFrame(pl); } void diff --git a/src/shared/player.h b/src/shared/player.h index e02db23..cd76e18 100644 --- a/src/shared/player.h +++ b/src/shared/player.h @@ -495,9 +495,6 @@ void player::ServerInputFrame(void) { super::ServerInputFrame(); - gflags &= ~GF_BUYZONE; - gflags &= ~GF_RESCUEZONE; - gflags &= ~GF_BOMBZONE; } void