У меня есть пара вопросов по поводу нанесения урона при помощи триггеров:
  1. Вот допустим, когда один юнит атакует другого, нужно чтобы урон наносился триггерно. Если атакующий юнит ближнего боя – то проблем нет. Пишем триггер типа «юнит атакован, атакующий юнит такой-то – нанести урон атакуемому и т. д». Но, если атакующий юнит – дальнего боя, то при таком же триггере урон будет наносится уже тогда, когда снаряд только вылетел из атакующего юнита, но ещё не долетел до атакуемого. Отсюда вопрос: как сделать так, чтобы урон наносился непосредственно, когда снаряд долетит до атакуемого?
  2. И ещё вопрос, схожий с первым. Нужно триггерно нанести урон от заклинания типа «молот бурь». Та же самая ситуация – если писать триггер «юнит применяет способность и т.д.», то урон будет нанесён при вылете молота. Как сделать, чтобы урон наносился непосредственно при попадании молота?

юнит получает урон
1 ответ на 2 вопроса
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
21
CaptainFox,
эмммммм, наносить урон при условии, что расстояние от дамми до цели меньше равно к примеру 80, и тогда все будет норм, если нужен скачок, то можно делать скачок триггерно и привинтить к юниту к примеру в КВ какое-то значение(которое будет удаляться через секунду), а в обработке того даммика проверять есть ли у цели такое-то значение, если есть, то удалить, если нет то продолжить движение
иными словами данный вариант предполагает предусматривание чрезмерного количества исключений.
а ты что хотел?
1+1=спел?
28
CaptainFox, GetEventDamageSource() возвращает юнита который нанёс урон
GetEventDamage() возвращает полученный урон
20
наносить урон при условии, что расстояние от дамми до цели меньше равно к примеру 80
ты этим самым хочешь сказать, что если кто-то стрельнул или кинул молот в движущуюся цель, то она за время полёта не дальше чем на 80 ед. продвинется?)) В таком случае, ты явно недооцениваешь ситуацию. Всё зависит от скорости движения единицы и от скорости снаряда. Пусть скорость движения юнита 400, а скорость снаряда 700, расстояние при выстреле - 600. Т.о. расстояние через секунду между юнитом и снарядом будет примерно 300 - это далеко не 80 :) так что увы - не вариант.
Sargaraser:
если нужен скачок, то можно делать скачок триггерно
во-первых, делать триггерно стандартные скилы - это то, что меньше всего хочется, а во-вторых, подобная ситуация не единственная - писать исключающий триггер на каждую ситуацию - всего просто не предусмотришь.
2 комментария удалено
21
обсчитываем расстояние от позиции дамми до позиции цели, если оно меньше 80, то удаляем, движение триггерное и с малым периодом
20
nvc123, ты меня, конечно, извини, но я вообще не шарю в джаз-коде. Потому и поместил вопрос в раздел "Академия: GUI", т.е. я хотел бы триггер получить, а не джаз-код - вопрос заключался в том, как триггерно это сделать. Ежели ты всё-таки хочешь дать ответ в джаз-коде, то напиши пожалуйста полный код.
28
Sargaraser, не думаю что он осилит это
CaptainFox, если мне не подводит память то это есть и на гуи
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.