Начал делать мультишот, но возникла проблема. Можно использовать способность ракеты, но там менее реалистично получаются выстрелы, да и стреляют даже за спину. Поэтому решил сделать свой.
Проблема вот в чем, когда юнит начинает стрелять или кастовать в одного противника, можно определить вектор. Относительно этого сложно подобрать формулу подбора всех юнитов. Не силен в косинусах, синусах, тем более в полярных координатах. Приложен пример в картинке. Помогите.

вот система Raised
раскрыть
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
27
Все-таки в 4 варианте были ошибки. Я не правильно код сделал. Мне помог Doc исправить ошибки. Примеры исправленных ошибок
27
Обзор_в_180_градусов сделано для новичков
На основе взяты выше перечисленные примеры. Можете проверить стоит ли впереди или нет.
Кстати, формула Warden работает не так как хотелось бы. Тестировал. И выяснил, что работает если обзор не слишком большой ( angle < 180, если хотите 180 тогда придется ставить приблизительно 179). Если слишком большой, то не будет работать.
Короче тут формула берет минимальный промежуток между углами, а не большой. Пример на скрине
А так все в норме
Еще не забудьте поставить вместо udg_Target переменную GetSpellTargetUnit()
19
Короче тут формула берет минимальный промежуток между углами, а не большой. Пример на скрине
Так для "не смотрит" нужно чтобы юнит попал в большой промежуток? Если способность, скажем, через всю карту используется, а тут указывается радиус - если кастер будет за радиусом, что тогда?
27
много букв
Так для "не смотрит" нужно чтобы юнит попал в большой промежуток?
да, тебе выше скрин даже нарисовал. в твоем случае, как определить видит ли цель кастера, то очень подойдет. для твоего скила "удар в спину". Есть другие примеры, может они то тебе подойдут. Загляни на хабр по ссылке, там точь твой вариант, описывают пример про стражника (если не понятно, смотри у меня скалярные векторы в комменте 6, 7). Конечно, тебе немного переделать надо будет, вместо кастера цель.
Если способность, скажем, через всю карту используется, а тут указывается радиус - если кастер будет за радиусом, что тогда?
если ты про молнии, то тут у меня никакого ограничительного радиуса нет. Есть радиус круга = 800, но это чисто для молнии, не стал молнии растягивать на всю карту.
В первом случае, работы со многими юнитами включает с группой, там есть ограничение радиуса - сам радиус. Когда ты пикаешь вокруг юнитов в группу, есть функции, которые выбирают всех вокруг точки с радиусом. Вот это я и использовал. Если надо убрать ограничение, используй другие функции пика на всю карту, или ставь радиус 99999
В случае, с треугольником. Можно, вместо треугольника вставлять прямоугольник =)
Во втором случае, там с одним юнитом (не работаю с группой). Коммент 7 скинул пример. Там нет ограничения, и можно на всю карту. Есть надо ограничить, тогда надо еще проверять расстояние между двумя юнитами. Если расстояние между двумя юнитами меньше 800, то делать ...
Загруженные файлы
19
Steal nerves:
Я вот эту использовал.
Мои скиллы не действуют на всю карту, но я должен на будущее знать, будет ли это работать, если прописать радиус меньше дальности скилла.
Получается можно удалить строку, отвечающую за радиус?(молнии я удалил)
Загруженные файлы
27
Мои скиллы не действуют на всю карту, но я должен на будущее знать, будет ли это работать, если прописать радиус меньше дальности скилла. Получается можно удалить строку, отвечающую за радиус?
Тогда да.
27
вот система Raised
раскрыть
Загруженные файлы
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.