From 4dcea05c2ae85296483da7b860326be354316e0e Mon Sep 17 00:00:00 2001 From: ineedbots Date: Fri, 4 Jun 2021 14:07:11 -0600 Subject: [PATCH] Reduce more script usage --- main_shared/maps/mp/bots/_bot_internal.gsc | 9 ++++----- main_shared/maps/mp/bots/_bot_script.gsc | 3 +++ main_shared/maps/mp/bots/_bot_utility.gsc | 21 +++++++++++++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/main_shared/maps/mp/bots/_bot_internal.gsc b/main_shared/maps/mp/bots/_bot_internal.gsc index 8f2aecd..e2cd15a 100644 --- a/main_shared/maps/mp/bots/_bot_internal.gsc +++ b/main_shared/maps/mp/bots/_bot_internal.gsc @@ -1750,7 +1750,7 @@ killWalkOnEvents() self endon("disconnect"); self endon("death"); - ret = self waittill_any_return("flash_rumble_loop", "new_enemy", "new_goal_internal", "goal_internal", "bad_path_internal"); + self waittill_any("flash_rumble_loop", "new_enemy", "new_goal_internal", "goal_internal", "bad_path_internal"); waittillframeend; @@ -1764,12 +1764,11 @@ doWalkScriptNotify() { self endon("disconnect"); self endon("death"); + self endon("kill_goal"); - ret = self waittill_any_return("kill_goal", "goal_internal", "bad_path_internal"); - - if (ret == "goal_internal") + if (self waittill_either_return("goal_internal", "bad_path_internal") == "goal_internal") self notify("goal"); - else if (ret == "bad_path_internal") + else self notify("bad_path"); } diff --git a/main_shared/maps/mp/bots/_bot_script.gsc b/main_shared/maps/mp/bots/_bot_script.gsc index 861b14f..aa691e5 100644 --- a/main_shared/maps/mp/bots/_bot_script.gsc +++ b/main_shared/maps/mp/bots/_bot_script.gsc @@ -37,6 +37,9 @@ connected() self thread onSpawned(); // cod4x has a force respawn in the exe + + wait 0.1; + self.challengeData = []; } /* diff --git a/main_shared/maps/mp/bots/_bot_utility.gsc b/main_shared/maps/mp/bots/_bot_utility.gsc index e92566c..8c8721d 100644 --- a/main_shared/maps/mp/bots/_bot_utility.gsc +++ b/main_shared/maps/mp/bots/_bot_utility.gsc @@ -459,6 +459,27 @@ GetEyePos() return self getTagOrigin("tag_eye"); } +/* + helper +*/ +waittill_either_return_(str1, str2) +{ + self endon(str1); + self waittill(str2); + return true; +} + +/* + Returns which string gets notified first +*/ +waittill_either_return(str1, str2) +{ + if (!isDefined(self waittill_either_return_(str1, str2))) + return str1; + + return str2; +} + /* Waits until either of the nots. */