diff --git a/src/server/gamerules.h b/src/server/gamerules.h index 302ea3c..e9adce7 100644 --- a/src/server/gamerules.h +++ b/src/server/gamerules.h @@ -42,6 +42,7 @@ class HLMultiplayerRules:HLGameRules virtual void(void) FrameStart; virtual void(void) CheckRules; + virtual int(void) MonstersSpawn; /* client */ virtual void(base_player) PlayerSpawn; diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index d85e65b..ab0bdb4 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -176,6 +176,12 @@ HLMultiplayerRules::ConsoleCommand(base_player pp, string cmd) return (1); } +int +HLMultiplayerRules::MonstersSpawn(void) +{ + return (FALSE); +} + void HLMultiplayerRules::HLMultiplayerRules(void) { diff --git a/src/server/player.qc b/src/server/player.qc index 2b8b170..d0b7dd4 100644 --- a/src/server/player.qc +++ b/src/server/player.qc @@ -80,8 +80,11 @@ void Weapons_Draw(void); void CSEv_PlayerSwitchWeapon_i(int w) { player pl = (player)self; - pl.activeweapon = w; - Weapons_Draw(); + + if (pl.activeweapon != w) { + pl.activeweapon = w; + Weapons_Draw(); + } } void