Как обратиться к юниту?
Привет я тут делал способность, которая превращала бы твою ловкость в урон, 1 ловкость = 1 урон(бонусы считаются). Я понимаю что мне нужно сделать, но не знаю как обратиться к юниту, его просто нет на карте. Вариант на скрине не рабочий, это для понимания, но проверял ставил юнита на карут и работало.

Лучший ответ:
Qulore, вот пример


Views: 69

XGM Bot #1 - 1 month ago 0
Голосов: +0 / -0
Похожие вопросы:

» ответ
никак
событие привязывается к юниту а не к переменной
переменная лишь способ хранения данных
делай общее событие (юнит умирает)
а в условии проверяй что умерший юнит == твоя переменная
» ответ
Можно сделать локально прозрачность, а если и управлять не нужно, то добавить москитов и будет не видимый юнит для других игроков
» ответ
Может, поставить нулевую скорость в редакторе объектов?
Или не нулевую, но триггерно каждые 0.03 с. задавать ему координаты, на которых он изначально поставлен.
» ответ
как сделать лимит 1 на все войска сразу?
Можно на каждый тип отдельно. Смотри Действия -> Игрок.
Перечислив все типы, поставишь лимит на все.
» ответ
Мне в итоге неоткуда брать этот h - ключ, по которому я всё записал...
Это будет юнит, которого атаковали т.е. GetTriggerUnit(). Вся задача шаринга между несколькими триггерами в том, чтобы определить какие данные между этими триггерами у нас уже есть общие и отталкиваясь от них записать другие данные в хеш. В данном случае мы вешаем данные на GetSpellAbilityUnit() и загружаем по GetTriggerUnit(). Самого кастера, как я понимаю, здесь записывать никуда не нужно.
А некоторым комментаторам советую постыдиться, редкий случай, когда человек сам что-то пытается понять и пробует что-то делать, а вам лишь бы эго потешить.

ScopteRectuS #2 - 1 month ago (изм. ) 0
Голосов: +0 / -0
Нужно использовать следующие события:
  • юнит прокачал способность, если это геройская пассивка,
  • юнит использовал способность, если это активка,
  • юнит вошел в карту, если негеройская пассивка.
Qulore #3 - 1 month ago 0
Голосов: +0 / -0
ScopteRectuS:
Нужно использовать следующие события:
  • юнит прокачал способность, если это геройская пассивка,
  • юнит использовал способность, если это активка,
  • юнит вошел в карту, если негеройская пассивка.
Это пасивка, и она у него с начала игры, она "Возможная способность" это так вроде называется. И ещё нужно по ходу игры проверять чтоб ловкость юниты не превышала 29, так надо.
ScopteRectuS #4 - 1 month ago (изм. ) 0
Голосов: +0 / -0
Я так понимаю, что это пассивная негеройская способность, которая даёт герою зеленый урон, зависящий от ловкости героя, если так, то создаём триггер, который регистрирует появление юнита на карте (событые: юнит вошел в карту), затем проверяем наш ли этот юнит (условие: уровень способности юнита больше 0). Если это наш юнит, то создаём таймер, который будет проверять периодически ловкость героя и давать ему зелёный урон.

Это можно всё оптимизировать, если на карте будет много таких героев, то лучше создавать только один таймер, который будет проверять всех героев. Но это уже лучше делать на JASS или Lua.

Насчёт "Возможной способности" я не понял.
Qulore #5 - 1 month ago 0
Голосов: +0 / -0
ScopteRectuS:
Я так понимаю, что это пассивная негеройская способность, которая даёт герою зеленый урон, зависящий от ловкости героя, если так, то создаём триггер, который регистрирует появление юнита на карте (событые: юнит вошел в карту), затем проверяем наш ли этот юнит (условие: уровень способности юнита больше 0). Если это наш юнит, то создаём таймер, который будет проверять периодически ловкость героя и давать ему зелёный урон.

Это можно всё оптимизировать, если на карте будет много таких героев, то лучше создавать только один таймер, который будет проверять всех героев. Но это уже лучше делать на JASS или Lua.

Насчёт "Возможной способности" я не понял.
В ро у этого героя есть скрытая пасивка на осове предмета доп урон, Возможные способности это строчка в ро, которая даёт способнсоть изначально, то есть когда ты играешь за этого героя то она у тебя есть. А разве этот триггер не будет работать 1 раз, юнит зашел в область , создался таймер он установит ловкость на урон и всё, или я что-то не понимаю? А ещё этот юнит будет 1 на карте.

Блин я не понимаю, я создал как ты сказал, но я вот делаю 2 триггер, событие таймер истек и делать действия, установить ловкость в урон и там просят юнита, какого не входящего же, у нас другое событие.
Прикрепленные файлы
ScopteRectuS #6 - 1 month ago 0
Голосов: +0 / -0
Нет, ты же говоришь, что не можешь обратиться к юниту. Событием юнит вошел в карту мы его ловим и сохраняем в переменную, а дальше через таймер (или периодический триггер в GUI) проходимся по этому юниту каждые несколько секунд и проверяем его ловкость.
Qulore #7 - 1 month ago 0
Голосов: +0 / -0
ScopteRectuS:
Нет, ты же говоришь, что не можешь обратиться к юниту. Событием юнит вошел в карту мы его ловим и сохраняем в переменную, а дальше через таймер (или периодический триггер в GUI) проходимся по этому юниту каждые несколько секунд и проверяем его ловкость.
Вроде логично, но почему-то не работает
Прикрепленные файлы
ScopteRectuS #8 - 1 month ago 0
Голосов: +0 / -0
Qulore, в Безымянном триггере 047 условие верно выставлено? Там у тебя урон изменится ТОЛЬКО, ЕСЛИ ловкость больше 29.
Qulore #9 - 1 month ago 0
Голосов: +0 / -0
ScopteRectuS:
Qulore, в Безымянном триггере 047 условие верно выставлено? Там у тебя урон изменится ТОЛЬКО, ЕСЛИ ловкость больше 29.
Да, верно, я даже 2 уровень апал, но урона не стало больше.
ScopteRectuS #10 - 1 month ago (изм. ) 0
Голосов: +0 / -0
Qulore, нет, у тебя неверное условие. У тебя это условие должно быть в действии и выглядеть примерно так:
  1. Новое условие в действии - Если ловкость больше 29, то:
  2. Сделать ловкость = 29
  3. Конец условия.
  4. Установить уровень способности...
Vlod #11 - 1 month ago 0
Голосов: +0 / -0

Qulore, вот пример
Прикрепленные файлы
Qulore #12 - 1 month ago 0
Голосов: +0 / -0
Vlod:
Qulore, вот пример
Cпасибо, но можно на гуи? Если нет то при копировании, какие поля нужно заменить?
Esea #13 - 1 month ago (изм. ) 1
Голосов: +1 / -0
Qulore:
Vlod:
Qulore, вот пример
Cпасибо, но можно на гуи? Если нет то при копировании, какие поля нужно заменить?
Никакие. Автоматически будет работать на всех юнитов, если нужно на определенного то укажи его в событии триггера RegisterEnterRegion
Qulore #14 - 1 month ago 0
Голосов: +0 / -0
Esea:
Qulore:
Vlod:
Qulore, вот пример
Cпасибо, но можно на гуи? Если нет то при копировании, какие поля нужно заменить?
Никакие. Автоматически будет работать на всех юнитов, если нужно на определенного то укажи его в событии триггера RegisterEnterRegion
Как мне на него указать если его нету на карте? Через переменную?

Vlod:
Qulore, вот пример
Спасибо, я сделал, а то весь день мучался.

Esea:
Qulore:
Vlod:
Qulore, вот пример
Cпасибо, но можно на гуи? Если нет то при копировании, какие поля нужно заменить?
Никакие. Автоматически будет работать на всех юнитов, если нужно на определенного то укажи его в событии триггера RegisterEnterRegion
Тебе тоже спасибо