From cbda94373da096af96e4ca9a437c85a36bb5b796 Mon Sep 17 00:00:00 2001 From: ThisBirchWood Date: Mon, 10 Mar 2025 17:57:38 +0100 Subject: [PATCH] PATCH: Fixed crash during round change --- game.py | 6 +++++- match.py | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/game.py b/game.py index e927b92..5713d4c 100644 --- a/game.py +++ b/game.py @@ -66,9 +66,13 @@ if __name__ == "__main__": demo_parser = demoparser2.DemoParser("demo.dem") game_info = demo_parser.parse_ticks(["X", "Y", "Z", "pitch", "yaw", "is_alive", "team", "player_steamid"]) + header_info = demo_parser.parse_header() + map_name = header_info['map_name'] players = demo_parser.parse_player_info() - m = Match("de_dust2", game_info) + start_tick = int(input()) + m = Match(map_name, game_info) + m.tick = start_tick for index, row in players.iterrows(): m.add_player(Player(row["name"], row["steamid"])) diff --git a/match.py b/match.py index dae77fa..e7c55d3 100644 --- a/match.py +++ b/match.py @@ -20,6 +20,11 @@ class Match: def _update_player_positions(self) -> None: # inefficient, might need to change current_tick = self.game_info[self.game_info["tick"] == self.tick] + + # empty tick + if current_tick.empty: + return + for player in self.players: player.x = current_tick[current_tick["player_steamid"] == player.steam_id]["X"].values[0] player.y = current_tick[current_tick["player_steamid"] == player.steam_id]["Y"].values[0]