From 617d13d056b354bb954c9f1bd38985679cc55886 Mon Sep 17 00:00:00 2001 From: INeedBots Date: Tue, 22 Sep 2020 13:27:13 -0600 Subject: [PATCH] rollover limit --- main/server.cfg | 3 +++ userraw/maps/mp/killstreaks/_killstreaks.gsc | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/main/server.cfg b/main/server.cfg index 32dd05c..dab2226 100644 --- a/main/server.cfg +++ b/main/server.cfg @@ -478,6 +478,8 @@ set scr_rankedmatch "1" // CUSTOM +set scr_allowFPSBooster "1" + // _bot set bot_main "1" set bots_main_GUIDs "" @@ -549,3 +551,4 @@ set onemanarmyRefillsTubes "1" // _killstreaks set scr_killstreaksRollover "1" set scr_killstreakHud "1" +set scr_maxKillstreakRollover "1" diff --git a/userraw/maps/mp/killstreaks/_killstreaks.gsc b/userraw/maps/mp/killstreaks/_killstreaks.gsc index 0d32b81..1c56e92 100644 --- a/userraw/maps/mp/killstreaks/_killstreaks.gsc +++ b/userraw/maps/mp/killstreaks/_killstreaks.gsc @@ -37,8 +37,10 @@ init() level.killstreakRoundDelay = getIntProperty( "scr_game_killstreakdelay", 8 ); setDvarIfUninitialized( "scr_killstreaksRollover", false ); + setDvarIfUninitialized( "scr_maxKillstreakRollover", 10 ); setDvarIfUninitialized( "scr_killstreakHud", false ); level.killstreaksRollOver = getDvarInt("scr_killstreaksRollover"); + level.maxKillstreakRollover = getDvarInt("scr_maxKillstreakRollover"); level.killstreakHud = getDvarInt("scr_killstreakHud"); level thread onPlayerConnect(); @@ -474,6 +476,10 @@ checkKillstreakReward( streakCount ) continue; else { + curRollover = int(strtok(streakName, "-rollover")[1]); + if (curRollover > level.maxKillstreakRollover) + continue; + if ( isDefined( game["defcon"] ) && game["defcon"] > 2 ) { self.pers["lastEarnedStreak"] = streakName; @@ -799,6 +805,10 @@ initKillstreakHud(inity) if (level.killstreaksRollover == 1 || (level.killstreaksRollover == 2 && self _hasPerk("specialty_rollover"))) curStreak %= highestStreak; + timesRolledOver = int(curStreak / highestStreak); + if (timesRolledOver > level.maxKillstreakRollover) + curStreak = highestStreak; + isUnderAStreak = false; for (i = self.killStreakHudElems.size - 1; i >= 1; i--) @@ -894,6 +904,10 @@ initMW3KillstreakHud() if (level.killstreaksRollover == 1 || (level.killstreaksRollover == 2 && self _hasPerk("specialty_rollover"))) curStreak %= highestStreak; + timesRolledOver = int(curStreak / highestStreak); + if (timesRolledOver > level.maxKillstreakRollover) + curStreak = highestStreak; + // update the shells for (i = 0; i < self.killStreakShellsElems.size; i++) {