python-sc2 icon indicating copy to clipboard operation
python-sc2 copied to clipboard

StarCraft II version has been updated to 5.0.14!

Open ShuranTang opened this issue 1 year ago • 3 comments

StarCraft II version has been updated to 5.0.14, when I build the ASSIMILATOR, it shows KeyError: 4132, that is, I can't find 4132 in ability_id, please do the update as soon as possible to adapt to the new version, thank you very much!

ShuranTang avatar Dec 06 '24 07:12 ShuranTang

I think it's because of the increased power of the protoss.

ShuranTang avatar Dec 06 '24 07:12 ShuranTang

Related to https://github.com/BurnySc2/python-sc2/issues/204 and https://github.com/BurnySc2/python-sc2/pull/207 However noone seems to have mentioned the issue with the id in discord yet. I updated ids in https://github.com/BurnySc2/python-sc2/pull/199 but the id 4132 does not show up.

BurnySc2 avatar Dec 18 '24 14:12 BurnySc2

KeyError: 4132 2024-12-23 19:09:24.843 | INFO | sc2.sc2process:_close_connection:231 - Closing connection at 59296... 2024-12-23 19:09:24.843 | INFO | sc2.sc2process:kill_all:33 - kill_switch: Process cleanup for 1 processes Traceback (most recent call last): File "D:\python project\starcraft2\try.py", line 98, in run_game((maps.get('AutomatonLE')),[Bot(Race.Protoss, WorkerRushBot()),Computer(Race.Protoss, Difficulty.Hard)],realtime=False) File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 496, in run_game result: Result = asyncio.run(_host_game(map_settings, players, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\asyncio\runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\asyncio\base_events.py", line 654, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 369, in _host_game result = await _play_game(players[0], client, realtime, portconfig, game_time_limit, rgb_render_config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 226, in _play_game result = await _play_game_ai(client, player_id, player.ai, realtime, game_time_limit) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 196, in _play_game_ai await run_bot_iteration(iteration) # Main bot loop ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 156, in run_bot_iteration await ai.on_step(iteration) File "D:\python project\starcraft2\try.py", line 29, in on_step await self.distribute_workers() File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\bot_ai.py", line 313, in distribute_workers local_workers = self.workers.filter( ^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\units.py", line 479, in filter return self.subgroup(filter(pred, self)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\units.py", line 456, in subgroup return Units(units, self._bot_object) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\units.py", line 30, in init super().init(units) File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\bot_ai.py", line 314, in lambda unit: unit.order_target in local_minerals_tags or ^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\functools.py", line 1001, in get val = self.func(instance) ^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 1034, in order_target if self.orders: ^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\functools.py", line 1001, in get val = self.func(instance) ^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 1028, in orders return [UnitOrder.from_proto(order, self._bot_object) for order in self._proto.orders] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 1028, in return [UnitOrder.from_proto(order, self._bot_object) for order in self._proto.orders] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 95, in from_proto ability=bot_object.game_data.abilities[proto.ability_id], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ KeyError: 4132,this is m error, you can look it.

ShuranTang avatar Dec 23 '24 11:12 ShuranTang

This should be fixed now because the ability id exists now https://github.com/BurnySc2/python-sc2/blob/b9eac3306f2dd1b67df16a8efa63533a16c38719/sc2/ids/ability_id.py#L1390 Please reopen if the issue still exists

BurnySc2 avatar Jun 27 '25 11:06 BurnySc2

收到啦!

ShuranTang avatar Jun 27 '25 11:06 ShuranTang