-
Notifications
You must be signed in to change notification settings - Fork 179
Description
Hello everyone,
My terminal raises an error when i try to launch a game with python-sc2.
It says "ValueError: 3794 is not a valid AbilityId".
I don't know what to do...
Here's my code (stolen from sentdex on youtube, i try to do the same as him for now):
import sc2
from sc2 import run_game, maps, Race, Difficulty
from sc2.player import Bot, Computer
class SentdeBot(sc2.BotAI):
async def on_step(self, iteration):
# what to do every step
await self.distribute_workers() # in sc2/bot_ai.py
run_game(maps.get("AbyssalReefLE"), [
Bot(Race.Protoss, SentdeBot()),
Computer(Race.Terran, Difficulty.Easy)
], realtime=True)
It raises the error at the last line of code ( realtime=True)
Here's also the entire error message :
Traceback (most recent call last):
File "D:/Cloudstation/Machine_learning/ML_SC/test_game.py", line 27, in
main()
File "D:/Cloudstation/Machine_learning/ML_SC/test_game.py", line 24, in main
], realtime=True)
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\main.py", line 306, in run_game
_host_game(map_settings, players, **kwargs)
File "C:\Users\Home\AppData\Local\Programs\Python\Python36\lib\asyncio\base_events.py", line 466, in run_until_complete
return future.result()
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\main.py", line 233, in _host_game
result = await _play_game(players[0], client, realtime, portconfig, step_time_limit, game_time_limit, rgb_render_config)
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\main.py", line 204, in _play_game
result = await _play_game_ai(client, player_id, player.ai, realtime, step_time_limit, game_time_limit)
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\main.py", line 91, in _play_game_ai
game_data = await client.get_game_data()
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\client.py", line 143, in get_game_data
return GameData(result.data)
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\game_data.py", line 29, in init
self.abilities = {a.ability_id: AbilityData(self, a) for a in data.abilities if a.ability_id in ids}
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\game_data.py", line 29, in
self.abilities = {a.ability_id: AbilityData(self, a) for a in data.abilities if a.ability_id in ids}
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\game_data.py", line 93, in init
assert self.id != 0
File "D:\Cloudstation\Machine_learning\venv\lib\site-packages\sc2\game_data.py", line 101, in id
return AbilityId(self._proto.remaps_to_ability_id)
File "C:\Users\Home\AppData\Local\Programs\Python\Python36\lib\enum.py", line 291, in call
return cls.new(cls, value)
File "C:\Users\Home\AppData\Local\Programs\Python\Python36\lib\enum.py", line 533, in new
return cls.missing(value)
File "C:\Users\Home\AppData\Local\Programs\Python\Python36\lib\enum.py", line 546, in missing
raise ValueError("%r is not a valid %s" % (value, cls.name))
ValueError: 3794 is not a valid AbilityId
I'm using pycharm with python 3.6 and the latest starcraft version at the moment (4.9.3)
If someone could help, it would by very appreciated !!!