From 9527c5bc9b135090cfda62b8b45767a6920047ae Mon Sep 17 00:00:00 2001 From: jenz Date: Sun, 14 Dec 2025 22:50:13 +0100 Subject: [PATCH] just a small thing to increase knockback for low population hours --- .../scripting/knockback_low_pop_modifier.sp | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 AntiNoob/scripting/knockback_low_pop_modifier.sp diff --git a/AntiNoob/scripting/knockback_low_pop_modifier.sp b/AntiNoob/scripting/knockback_low_pop_modifier.sp new file mode 100644 index 0000000..0423928 --- /dev/null +++ b/AntiNoob/scripting/knockback_low_pop_modifier.sp @@ -0,0 +1,55 @@ +#include +#include +#include + +public Plugin myinfo = +{ + name = "knockback low pop modifier", + author = "jenz", + description = "balances knockback for low population", + version = "1.0.0", + url = "" +} + +public void OnPluginStart() +{ + HookEvent("round_end", OnRoundEnd); +} + +public void OnPluginEnd() +{ + ServerCommand("zr_class_set_multiplier zombies knockback 1.0"); +} + +public void OnMapEnd() +{ + ServerCommand("zr_class_set_multiplier zombies knockback 1.0"); +} + +public void OnRoundEnd(Event hEvent, const char[] sEvent, bool bDontBroadcast) +{ + int active_player_count = 0; + for (int i = 1; i <= MaxClients; i++) + { + if(IsClientConnected(i) && IsClientInGame(i) && IsClientAuthorized(i) && !IsFakeClient(i) && !IsClientAutismBot(i) && !IsClientSourceTV(i) && GetClientTeam(i) != CS_TEAM_SPECTATOR) + { + active_player_count++; + } + } + + int zombie_ratio = GetConVarInt(FindConVar("zr_infect_mzombie_ratio")) * 2; + if (active_player_count < zombie_ratio) + { + float knockback_increase = float(zombie_ratio) / float(active_player_count); + //random capacity of 3 + if (knockback_increase > 3.0) + { + knockback_increase = 3.0; + } + + PrintToChatAll("LOW POP: increased zombie knockback to X%f to balance gameplay", knockback_increase); + PrintToChatAll("LOW POP: increased zombie knockback to X%f to balance gameplay", knockback_increase); + PrintToChatAll("LOW POP: increased zombie knockback to X%f to balance gameplay", knockback_increase); + ServerCommand("zr_class_set_multiplier zombies knockback %f", knockback_increase); + } +}