Crick12,
тогда периодик твой выбор с сохраннением юнита, пока способка работает. То есть отдаешь приказ, запускается триггер с периодиком. Отдаешь другой приказ - отменив целевой, а значит выключаем триггер с периодиком. Так-же после срабатывания способки в периодике, он сам себя выключает.
В таком случае периодик будет работать только тогда, когда есть нужный приказ. Для контроля в периодике еще можешь проверять приказ, если отменили каким-то образом - выключаешь периодик.
Эээээх еще бы понять, что ты написал... Ты написал полу решение какой-то непонятной задачи без описания задачи. Если хочешь лучший ответ - опиши так, чтобы люди тебя смогли полностью понять, в чем у тебя проблема. В чем изначальная суть задачи, как ты сейчас реализовал (желательно со скрином тригегра/кода) и какая проблема у тебя возникла. Я на все 3 вопроса увидел только половину информации, либо плохо тебя понял.
Но из того что понял, ты в какой-то момент отдаешь приказ действия на цель, но действие произойдет через N секунд, когда юнит добежит, и еще ты можешь отдать такой-же приказ когда он войдет в область, где сделает это действие, и ты не хочешь, чтобы второй раз отдавался такой приказ при входе? Или ты хочешь отследить, когда он начнет делать то самое действие на цель?
Даже если не так понял, может несколько путей дадут тебе идею для решения:
Добавить юнита в события или условия для триггера. Типа юнит был атакован и вставляем условие "ЭТОТ юнит" == "атакующий юнит". То есть будет проверка на конкретного юнита, чтобы отследить начало его действия (события триггера может быть любое, смотря что тебе надо отследить, юз способки, вход в регион и тд, главно привязка к конкретному юниту).
Добавить юнита в группу или переменную, чтобы сохранить его. Далее через события нужного действия можешь проверять, является ли триггерный юнит из этой группы и дальше можешь его обрабатывать, и когда с ним закончишь, удалишь из группы или очистишь переменную.
Схожее с прошлым решением, когда добавляешь юнита в группу и периодиком всех в группе проверяешь, что юниты действуют как тебе надо, либо перебиваешь приказ на нужный.
А и да... А разве при входе в область не проще проверить на нужный приказ, чем проверять периодично (к примеру раз в секунду) у какой-то группы юнитов приказы?
EugeAl, O(n) в программировании обозначает сложность (или время) алгоритма, что в данном случае говорит о выполнении n операций для нахождения. К примеру плохим временм будет O(n*n) для таких поисков (это как цикл в цикле, только зачем так делать для поиска, это вопрос, но кто-то может сделать), или O(2*n). Идеал - это O(1), 1 операция для проверки без циклов.
Думаю тут мало кто увидит вопрос из знающих, шарящих в теме. Думаю такой вопрос стоит задать напрямую под ресурсом этой карты тут.
Там же в целом можно обсуждать прохождение и делиться своими впечатлениями.
За последний год и правда много что изменили в функционале, и за этим приятно и интересно наблюдать! Уверен, это еще не финал вашего виденья сайта, интересно, куда придем :)
С праздником! 🎈🎉🎉🎉🎊🎊🎊🎈
SсRealm, и заметь, этот индекс сам по себе является уникальным для юнита и ты можешь его использовать для своих задач (кроме как для хранение иных данных о юните).
SсRealm, сохранять в кастом значение этот уникальный номер как ИНДЕКС. А потом по этому индексу получать/хранить/изменять значения в массивах. При этом сами массивым могут быть любогого типа, хоть целочисленные хоть строки хоть реальные, но значение будет принадлежать конкретному юниту с конкретным индексом :)
SсRealm, по сути это личная целочисленная переменная юнита. Она всего одна такая, так что используй только для одной системы в карте)
Чтобы не пересекалась с другими системами.
» WarCraft 3 / Стихийные мечи
» WarCraft 3 / Как правильно использовать boolexpr?
» WarCraft 3 / Как правильно использовать boolexpr?
Отредактирован konvan5
» WarCraft 3 / Проверка наличия приказа
тогда периодик твой выбор с сохраннением юнита, пока способка работает. То есть отдаешь приказ, запускается триггер с периодиком. Отдаешь другой приказ - отменив целевой, а значит выключаем триггер с периодиком. Так-же после срабатывания способки в периодике, он сам себя выключает.
В таком случае периодик будет работать только тогда, когда есть нужный приказ. Для контроля в периодике еще можешь проверять приказ, если отменили каким-то образом - выключаешь периодик.
Отредактирован konvan5
» WarCraft 3 / Проверка наличия приказа
Но из того что понял, ты в какой-то момент отдаешь приказ действия на цель, но действие произойдет через N секунд, когда юнит добежит, и еще ты можешь отдать такой-же приказ когда он войдет в область, где сделает это действие, и ты не хочешь, чтобы второй раз отдавался такой приказ при входе? Или ты хочешь отследить, когда он начнет делать то самое действие на цель?
Даже если не так понял, может несколько путей дадут тебе идею для решения:
Можно.
» WarCraft 3 / Шахматы варкрафт 3
Отредактирован konvan5
» WarCraft 3 / Как правильно использовать boolexpr?
Отредактирован konvan5
» WarCraft 3 / Шахматы варкрафт 3
Отредактирован konvan5
» WarCraft 3 / Шахматы варкрафт 3
К примеру тут
» WarCraft 3 / Как правильно использовать boolexpr?
» WarCraft 3 / Как правильно использовать boolexpr?
» WarCraft 3 / Как правильно использовать boolexpr?
Как те-же многомерные массивы и другие фичи программирования, которым уже больше 20-30 лет.
Отредактирован konvan5
» WarCraft 3 / Козырная пешка: проблемы с пирамидой по квесту "шаг во тьму"
Там же в целом можно обсуждать прохождение и делиться своими впечатлениями.
» WarCraft 3 / Козырная пешка: проблемы с пирамидой по квесту "шаг во тьму"
» WarCraft 3 / Пак моделей от -Grendel
А так это классно, когда творчество не пропадает в небытие.
» WarCraft 3 / Массивы и циклы
» XGM Team / XGM 20 лет!
С праздником! 🎈🎉🎉🎉🎊🎊🎊🎈
» XGM Team / XGM 20 лет!
» WarCraft 3 / Массивы и циклы
Отредактирован konvan5
» WarCraft 3 / Массивы и циклы
» WarCraft 3 / Массивы и циклы
» WarCraft 3 / Массивы и циклы
Чтобы не пересекалась с другими системами.
Отредактирован konvan5
» WarCraft 3 / Массивы и циклы
Вот тебе простейшее решение, где каждый юнит получит свое уникальное значение 1 2 или 3 и тд в кастомное значение, при этом одноразово.
Отредактирован konvan5
» WarCraft 3 / Массивы и циклы