Можно ли как-то сохранять в хеш таблицу приказ отданный юниту, а потом приказать выполнить его?

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

Да.. либо по ID либо через строку
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
4 года назад
Отредактирован Берги
0
Да.. либо по ID либо через строку
Принятый ответ
0
12
4 года назад
0
Bergi_Bear:
Да.. либо по ID либо через строку
А как это сделать? Можно пример кода? Допустим есть действе идти туда-то. Спустя 2 секунды повторить этот приказ. В какую переменную сохранять этот приказ и как потом заставить его выполнить потом?
0
32
4 года назад
0
Ну чтобы идти куда-то надо использовать IssuePointOrder(unit,x,y,"move") и вызывать эту функцию по таймеру каждые n секунд, если текущий приказ отличается от "move", то снова вызывать, и ждать через IsUnitInRangeXY когда юнит дойдёт до цели, полезная штука чтобы юнит дошёл куда либо если его например оглушили или сдвинули или воскресили после смерти.
Могу показать только на луа, там без хештаблиц и пару строк кода всего
0
12
4 года назад
0
Bergi_Bear:
Ну чтобы идти куда-то надо использовать IssuePointOrder(unit,x,y,"move") и вызывать эту функцию по таймеру каждые n секунд, если текущий приказ отличается от "move", то снова вызывать, и ждать через IsUnitInRangeXY когда юнит дойдёт до цели, полезная штука чтобы юнит дошёл куда либо если его например оглушили или сдвинули или воскресили после смерти.
Могу показать только на луа, там без хештаблиц и пару строк кода всего
Я делаю на джасс. У меня ТД и юнит сперва движеться, потом может остановиться и применить способность или сражаться с кем-то. И мне нужно сохранить отданный приказ, что бы он пошёл снова, даже при у чёте, что его например телепортируют. А двигаются юниты через области. Так что движение через точку на карти не канает.
0
32
4 года назад
0
ну теорию я дал..
						if GetUnitCurrentOrder(target)~=String2OrderIdBJ("move") then
								IssuePointOrder(target,"move", rx,ry)
						end
И вот это крутишь на периодическом триггере, например каждый 5 сек
где rx,ry - конечная точка куда надо дайти
можно чаще... юнит после каста будет продолжать движение постояв от 0 до n секунд, где N частота таймера, ещё юнит не будет стопориться если просто отдавать часто атаку
0
28
4 года назад
Отредактирован PT153
0
Можно ли как-то сохранять в хеш таблицу приказ отданный юниту, а потом приказать выполнить его?
Сохранить-то можно, только придётся не только сохранять приказ, но и сохранять координаты, куда он был отправлен.
Самый простой вариант отслеживать конец каста (событие stops casting) и отдавать приказ move в сохранённые координаты. Если сохраняется только приказ движения, то сам приказ можно и не сохранять, только его координаты.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.