У меня большинство способностей основаны на Канале, и большинство из них имеют немного уникальных айди приказа. Ультимейты у меня для удобства либо dreadlordinferno, либо drain. Вторая способность обычно dismount или blizzard.
Проблема в том, что некоторые юниты попросту не хотят применять свои способности при отдаче приказа триггерно. Сами способности друг с другом не конфликтуют. Если поменять базовый айди приказа на какой-нибудь другой, то это может заработать. Но у каждого юнита эта проблема наблюдается по-разному: у кого-то способность с айди drain не работает, а у других она кастуется.
Еще я смог уловить очень нелогичную закономерность (из-за чего уже запутался): триггерный приказ в разных матчах то работает, то нет. Встречался с тем, что мой бот в одной игре спокойно давал прокасты, а в другой игре ну просто не хочет использовать свои способности на основе канала.
Что это за баг такой и как его исправить?

Принятый ответ

JackFastGame, старый знакомый баг с каналом из доты, лекарство только одно применять для канала ID приказа которых больше не будет ни у 1 юнита, или все способности ID приказа которых ты копируешь для канала, должны появится у юнитов и быть применены до того как твои герои выучат способность на основе канала.
Движок вара кеширует приказ и тип цели для этого приказа, поэтому триггерно невозможно отдать приказ, у него по мнению движка другой тип цели.
Нельзя применить высасывание жизни на юнита, потому что записано что для этого приказа не требуется цель...
Подробности можно спросить у DracoL1ch.
0
32
7 лет назад
Отредактирован quq_CCCP
0
JackFastGame, старый знакомый баг с каналом из доты, лекарство только одно применять для канала ID приказа которых больше не будет ни у 1 юнита, или все способности ID приказа которых ты копируешь для канала, должны появится у юнитов и быть применены до того как твои герои выучат способность на основе канала.
Движок вара кеширует приказ и тип цели для этого приказа, поэтому триггерно невозможно отдать приказ, у него по мнению движка другой тип цели.
Нельзя применить высасывание жизни на юнита, потому что записано что для этого приказа не требуется цель...
Подробности можно спросить у DracoL1ch.
Принятый ответ
0
15
7 лет назад
0
quq_CCCP:
JackFastGame, старый знакомый баг с каналом из доты, лекарство только одно применять для канала ID приказа которых больше не будет ни у 1 юнита, или все способности ID приказа которых ты копируешь для канала, должны появится у юнитов и быть применены до того как твои герои выучат способность на основе канала.
Движок вара кеширует приказ и тип цели для этого приказа, поэтому триггерно невозможно отдать приказ, у него по мнению движка другой тип цели.
Нельзя применить высасывание жизни на юнита, потому что записано что для этого приказа не требуется цель...
Подробности можно спросить у DracoL1ch.
У меня не герои, а юниты.
То есть решением проблемы будет взятие за основу 3 приказа, которые отдельно отвечают за мгновенный каст, таргетный и по области (точке), и использовать нужный приказ в тех способностях, которые соответствуют этому приказу по типу цели?
0
32
7 лет назад
0
JackFastGame, еще желательно чтобы реальных способностей, юзающих эти приказы не было на карте, а если и были то до канала..
Так же юзай проверку каста
if not IssueTargetOrder(юнит, приказ, цель) then
	call BJDebugMsg("Невозможно выполнить приказ!")
endif
Для проверки бага, нужен цикл с проверкой, можно ли кинуть во врага, можно ли кинуть в себя, можно ли кинуть под себя данный спелл...
0
15
7 лет назад
0
quq_CCCP:
JackFastGame, еще желательно чтобы реальных способностей, юзающих эти приказы не было на карте, а если и были то до канала..
Так же юзай проверку каста
if not IssueTargetOrder(юнит, приказ, цель) then
	call BJDebugMsg("Невозможно выполнить приказ!")
endif
Для проверки бага, нужен цикл с проверкой, можно ли кинуть во врага, можно ли кинуть в себя, можно ли кинуть под себя данный спелл...
Смотри, у меня еще дамми-юнит имеет способность Кровожадность. Когда играет человек, то даммик спокойно отдает приказ bloodlust, а когда играет компьютер, то приказ не отдается и фиксится только двойной отдачей приказа call Issue... и снова call Issue...
Что это может быть? Каналов, основанных на этом приказе - нет.
0
32
7 лет назад
0
JackFastGame, боты могут не давать юзать скиллы как ты хочешь, у меня нейтралы в друг друга нехотя ледяные стрелы, не смотря на то что в целях разрешено...
2
16
7 лет назад
2
Чтобы оставить комментарий, пожалуйста, войдите на сайт.