Closed cdesilv1 closed 6 years ago
The code you're referencing is definitely correct. Attack_minimap is ability 3674, and is the general attack action that subsumes Attack_Attack_minmap, Attack_AttackBuilding_minimap, etc, which is why those ones reference it. You'll see the majority of actions (eg Behavior_CloakOff_quick) don't have a general id since they aren't subsets of some other action.
The general actions were added later, so maybe you're missing the stableid.json file that lets the game know what 3674 actually means. You say you're running 3.16, which seems unlikely given that the first version that was released was 3.16.1. Maybe give 4.0.1 a try? Alternatively try the 4.1.2 that Blizzard is about to release (linked to in the discord channel, or on their website next week).
4.1.2 is out, so give that one a try.
4.1.2 is out, so give that one a try.
have you fixed that problem? i have tried 3.17 and 4.7.1 versions, but still got that issue?
From Commit 7a04e74 (currently latest master branch commit as of 2018.05.06) to Commit b07986f (currently latest dev branch commit as of 2018.05.06),
actions.FUNCTIONS.Attack_minimap
doesn't work. When called in my created agent as:Once the agent hits the return, there is a long output of trace-backs that end at
lib.features.func_call_ability
which givesValueError: Unknown ability_id: 3674, type: cmd_quick. Likely a bug.
Pastebin link with full bash CLI trace-back: https://pastebin.com/FAVaQX7t.The issue seems to be with how the command is stored in the
actions.py
file, where stored in theFUNCTIONS
variable,FUNCTIONS
storesFunction.ability
objects in the notationFunction.ability(func_id, name, func, ab_id, general_id)
.However,
Attack_minimap
only has 4 items, not 5 like most of the rest of the items generated bygen_actions.py
. I have not tested this issue with any of the other commands that only contain 4 items, although since this failed inlib.features.func_call_ability
, it is possible this issue is only relevant to abilities that both have only 4 properties and arecmd_minimap
type commands, as I suspect, or it may cover a larger scope. Fromfunc_id
12-20, they sharegeneral_id
3674. SinceAttack_minimap
is missingab_id
,general_id
somehow gets read in asab_id
inlib.features.func_call_ability
and everything crashes, even thoughlib.features.func_call_ability
does not throw this issue in the current master branch, withFUNCTIONS
appearing unchanged from 7a04e74 to b07986f. In theFUNCTIONS
variable, changinggeneral_id
ofAttack_minimap
from 3674 to something like 13 or 14 (numbers specifically tested) causes the program not to crash any-more, butAttack_minimap
will not execute in any way, as the units will be selected, no action taken, then the step continued.Other relevant information: OS: Ubuntu 16.04 Starcraft II Patch Level: 3.16 map: Simple64 agent_race: terran use_feature_units: True, Edit: also fails with False