Example #1
0
 def parse_lobby(self, player_var, rating_var, team_var, lobby):
     """Fill the ui with info about the players in an AoE2 lobby."""
     try:
         pm.load_process("AoK HD.exe")
     except ProcessLookupError as err:
         print(err)
         print("Autoparsing was disabled. Try restarting when AoE2HD is running.")
     else:
         try:
             lobby.update()
         except NullAddress:
             print("nulladdy")
         else:
             for i, player in enumerate(lobby.players):
                 if player.name is None:
                     if player_var[i-1].get():
                         player_var[i-1].set("")
                     if rating_var[i-1].get():
                         rating_var[i-1].set("")
                     if team_var[i-1].get():
                         team_var[i-1].set("")
                     continue
                 name = player.name.decode(encoding="utf-8", errors="replace")
                 # try:
                     # name = player.name.decode("utf-8")
                 # except UnicodeDecodeError:
                     # name = f"Player {player.number}"
                 player_var[player.number-1].set(name)
         self.root.after(1000, BalanceTeamsUi.parse_lobby, self, player_var, rating_var, team_var, lobby)
Example #2
0
 def __load_process_loop__(self):
     self.print_info(f"Loading the process {AOK_PROCESS_NAME}. Be sure it is running.")
     try:
         pm.load_process(AOK_PROCESS_NAME)
     except ProcessLookupError: 
         return
     self.state = 0
     self.process_timer.stop()
     self.app.exit()        
Example #3
0
                elo = min(stuff)
                current.append(elo)
                stuff.remove(elo)
                current = team1

        #t1, t2, diff, numbers = lobby.balance_minmax()
        teams = [team1, team2]
        team1 = [p[1] for p in team1]
        team2 = [p[1] for p in team2]
        return None, make_str(players, team1, team2), teams


if __name__ == '__main__':
    import time
    proc_name = "AoK HD.exe"
    pm.load_process(proc_name)
    lobby = Lobby()
    lobby.update()
    for player in lobby.players:
        if player.name is None:
            continue
        try:
            name = player.name.decode("utf-8").ljust(32)
        except:
            name = f"Player #{player.number}".ljust(32)
        print(f"{name} {player.rating}")

    diff, string, teams = lobby.balance_minmax()
    print(f"{diff}:: {string}:: {teams}")

    diff, string, teams = lobby.balance_diff()