def load_stats_file(name: str): """Return player object given a name""" if not hash_stats(name): return None try: with open(stats_path(name), "r", encoding='UTF-8') as stats_file: player = Player(name) player.kills = int(stats_file.readline()) player.deaths = int(stats_file.readline()) player.flag_grabs = int(stats_file.readline()) player.flag_caps_red = int(stats_file.readline()) player.flag_caps_blue = int(stats_file.readline()) player.flag_time = float(stats_file.readline()) player.flagger_kills = int(stats_file.readline()) player.best_spree = int(stats_file.readline()) player.wins = int(stats_file.readline()) player.looses = int(stats_file.readline()) player.a_haxx0r = str(stats_file.readline()) player.a_blazeit = str(stats_file.readline()) player.a_satan = str(stats_file.readline()) player.a_virgin = str(stats_file.readline()) stats_file.close() return player except OSError: say("[ERROR] (load) failed to loaded stats for name='" + name + "' filename='" + stats_path(name) + "'") sys.exit(1) return None
def init_player(self, name, cid, ip_addr, team, show_stats, spree): """Create player object""" player = None load_player = load_stats(name) if load_player: if show_stats and self.settings.get("show_stats_on_join") == 1: load_player.show_stats() player = Player(name, cid, ip_addr, load_player.flag_time, load_player.best_spree, team) player.a_haxx0r = load_player.a_haxx0r player.a_blazeit = load_player.a_blazeit player.a_satan = load_player.a_satan player.a_virgin = load_player.a_virgin player.killingspree = spree player.weapon_kills[0] = load_player.weapon_kills[0] player.weapon_kills[1] = load_player.weapon_kills[1] player.weapon_kills[2] = load_player.weapon_kills[2] player.weapon_kills[3] = load_player.weapon_kills[3] player.weapon_kills[4] = load_player.weapon_kills[4] player.weapon_kills[5] = load_player.weapon_kills[5] else: player = Player(name, cid=cid, ip_addr=ip_addr, team=team) return player