Пример способности. Создаётся даммик, который должен стоять определённого время на месте. Запускается таймер с отчётом этого времени. Допустим во время этого таймера (пока время ещё не вышло) убили этого даммика. Можно ли в этом триггере с таймером узнать кто является убивающим юнитом или без события умирает никак не обойтись?

Я вижу это так:
При событии юнит умирает, для даммика в хештаблицу записываем его убийцу, а в таймере за тик опрашиваем эту ячейку, если там не null, тогда делаем действий с убийцей
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Но динамический триггер не покажет убийцу юнита.
По идее можешь в триггере сделать два события, первое на истечение времени, второе на смерть дамми. А в действиях два Если/То/Иначе, в одном будет проверка оставшегося времени таймера равно 0, а в другом проверка смерти дамми.
33
Я вижу это так:
При событии юнит умирает, для даммика в хештаблицу записываем его убийцу, а в таймере за тик опрашиваем эту ячейку, если там не null, тогда делаем действий с убийцей
Принятый ответ
30
Даммик по определению не может быть убит, это юнит для совершения действия в игре от имени другого юнита.

Если опустить это замечание, то да, можно. Создаёшь триггер с событием "юнит умирает" и в нём лепишь к даммику каким-либо методом (например через структуру) убивающего юнита.
26
Почему вы не вникаете в вопрос? Он же спрашивает, можно ли без этого события.
28
Без этого события будет только сложнее и с дополнительной нагрузкой.
30
Нет, без события просто и однозначно определить убивающего юнита невозможно.

Использование динамических триггеров никогда не обосновано, всегда можно сделать на статическом, причём не сложнее.
28
никогда не обосновано
Бывает обоснованно, особенно если событие A unit comes withing range. Но для моих целей обработка местности каждую долю секунды вышла лучше.
32
Clamp, эмм - сударь, давайте я вам нарежу задач, а вы мне расскажите как сделать не сложнее статическим триггером? Я конечно понимаю что делать как у фрога ради анимации героя спустя 0.5 сек триггер с событием время истекло это глупость, но бывают случаи когда тебе нужно следить за конкретным юнитом особенно тщательно, события урона, смерти, получения приказов.
30
события урона, смерти, получения приказов
Все эти задачи решаются статическими триггерами не сложнее, чем динамическими.
32
Clamp, ну я же говорю, плз пример в студию, то бывают не совсем примитивные задачи, мне нужно точно узнать что юнит умер EVENT_WINGED_DETAH, проверить на полученный урон в 0 ед, а так же проверить приказ без указания цели, таких юнитов может быть одновременно до 10.
DracoL1ch, боятся за производительность, триггер же тяжелее таймера + евенты не удаляются.
Хотя я когда проверял на карте где 30 юнитов херачили друг-друга, плодились и умирали на протяжении 15 минут, проблем чето не заметил, ни с памятью ни с числом хендлов...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.