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

Лучший ответ:
Проверить расстояние между дамми и целью. Если расстояние <= X (бери 16 или 32, ну или что тебе удобно), то твои действия.
» функция
function DistanceBetweenPoint(xa, ya, xb, yb)
local dx = xb - xa
local dy = yb - ya
return math.sqrt(dx*dx + dy*dy)
end
На гуях есть похожая, но уже с точками.


Views: 527

» Лучшие комментарии


noyl #1 - 9 months ago 5
Голосов: +5 / -0

Проверить расстояние между дамми и целью. Если расстояние <= X (бери 16 или 32, ну или что тебе удобно), то твои действия.
» функция
function DistanceBetweenPoint(xa, ya, xb, yb)
local dx = xb - xa
local dy = yb - ya
return math.sqrt(dx*dx + dy*dy)
end
На гуях есть похожая, но уже с точками.
Morningstar #3 - 9 months ago 2
Голосов: +2 / -0
На гуи звучит как DistanceBetweenPoints(Location L, Location L2)
где L,L2 это просто точки
quq_CCCP #4 - 9 months ago 2
Голосов: +2 / -0
Ну или по расстоянию, или как фрог триггер с событием.. Units in range.
Bergi_Bear #5 - 9 months ago 3
Голосов: +3 / -0
Пикать группу вокруг даммика
и условием IsUnitInRangeXY, проверять что даммик приблизился
Можно без пика вообще и проверки условий, дать даммику постоянный жар преисподней, отслеживать через событие урона
Прикрепленные файлы
Proshel_Doty #7 - 9 months ago 0
Голосов: +0 / -0
Можно скачать тонны наработок и посмотреть как там сделано
noyl #8 - 9 months ago 2
Голосов: +2 / -0
Bergi_Bear:
Пикать группу вокруг даммика
и условием IsUnitInRangeXY, проверять что даммик приблизился
Можно без пика вообще и проверки условий, дать даммику постоянный жар преисподней, отслеживать через событие урона
Kappa, что за извращения...
Yury13 #9 - 9 months ago 0
Голосов: +0 / -0
Proshel_Doty, geniously!
Proshel_Doty #10 - 9 months ago 0
Голосов: +0 / -0
Yury13:
Proshel_Doty, geniously!
Ой ну перестань
А если серьёзно, то да, вокруг тонны обучающего материала, надо просто копать
Yury13 #11 - 9 months ago 0
Голосов: +0 / -0
Proshel_Doty, да копать можно. И тогда 3/4 вопросов здесь не было бы. Но если есть такая возможность, я предпочитаю спросить. Если не было бы - тогда копать. Так что тут все по обоюдному желанию, если кто-то хочет объяснить, он сделает это, если нет - то нет, насколько я понимаю систему работы этого раздела сайта. А сказать "загугли" и.т.п. может любой, даже тот, кто вообще не играл в варкафт 3 сможет дать мне такой ответ. Вообще без претензий, просто я прекрасно знал, что есть примеры, но разобраться в них гораздо сложнее, чем получить четкий и лаконичный ответ. А времени чтобы самому во всем разбираться только у школьников много, ну и тех, кто ничем не занимается другим. Я все сказал;-)
Extremator #12 - 9 months ago (изм. ) 1
Голосов: +2 / -1
А использовать IsUnitInRange() вера не позволяет?
...или последние патчи совсем непроглядной пеленой глаза застелили?
Borodach #13 - 9 months ago 0
Голосов: +0 / -0
Еще можно создавать дамми и приказивать ему атаковать, после ловить получение урона от него
Nelloy #14 - 9 months ago 0
Голосов: +0 / -0
Borodach, тогда лучше давать абилку с нужной дальностью и отлавливать ее
Extremator #15 - 9 months ago 0
Голосов: +0 / -0
Тогда уж лучше вовсе ничего не делать и не советовать...