Добавлен
Итак, работа с отрядом. Надо сделать так, чтобы при движении дамми выбирал юнитов в определённом диапазоне и наносил им урон один раз. Именно на JASS, можно кинуть статью или наработку. Я предполагал накладывать бафф, и фильтре указать условие, но в таймере и в совокупности с циклом что-то идёт не так.

Принятый ответ

на каждый снаряд делаешь группу, в нее заносишь всех кто был поражен
done
0
19
6 лет назад
0
Похожие вопросы:

ответ
запомнить всех выбранных, затем очистить эту группу, добавить сначала твоего героя, а затем всех остальных
ответ
  • Выбираешь всех целевых юнитов в группу.
  • Создаёшь дамми.
  • Используя ForGroup и GetEnumUnit, применить на каждого юнита в группе заклинание.
  • Очищаешь групппу.
  • Удаляешь группу.
  • Удаляешь дамми.

У дамми-юнита должны стоять настройки анимации, позволяющие применять способности без задержек, у способности не должно быть кулдауна.
ответ
~8gabriel8:
bOrissko, у тебя вроде как ссылалось всегда на Паладина, так как он Hero [1], будь-то владелец юнита, либо реплика от юнита. Точно уже запамятовал, так как шустро всё переделал. У меня нет желания тратить время на проверку триггера, когда указан Tiggering unit/Переключающий юнит, потому стараюсь всегда указывать точно к ситуации, в данном случае переделал так, что диалог срабатывает при приближении героя на расстояние не более 256 к капитану. Указал везде Entering unit/Не знаю как будет в русских триггерах, наверное, Вошедший или Входящий юнит. Вместо паузы для героя поставил приказ Стоп, хотя это, наверное, неправильно я сделал, так как он погонится во время диалога за приблизившимися врагами. Пожалуй, лучше верни герою паузу вместо Стоп, а также добавь неуязвимость до распаузы.
По поводу диалогов, мне рассказал автор кампании Эфирия, в создании которой участвую, что оптимальной длительностью диалогов является 5 секунд на строчку, если строка не полная, то прикидываешь, на сколько из 5 секунд она тянет. В самой первой фразе в диалоге лучше прибавлять секунду, так как мозг не сразу переключается с игры на диалог, и его начальная реплика зачастую кажется быстрой. Например, у тебя первая фраза "Привет!", это одна секунда, но так как она первая, то я поставил две. Следующая фраза тянет на 4 секунды, так и поставил.
Чтобы прикинуть расстояние до юнита, необходимо пользоваться сеткой:
Сетка в редакторе (кнопка G):
большой квадрат = 512х512
средний квадрат = 128х128
малый квадрат = 32х32
Считается расстояние от центра юнита, а не крайних точек модели. У тебя было 150, но мне показалось, что это мало, ведь подходить надо очень близко, потому поставил 256.
ответ
XGM Bot:
Похожие вопросы:

ответ
Частично не понял, тоесть нужно что бы в кинематике был несуществующий юнит?
Допустим в окне кинематики паладин с каким либо именем что то говорит, но на карте его нет. Если да то это Спецэффекты - Transmission From Unit-Type
ответ
А касательно остальной части, если UnitUserData нигде не используется, создаешь массив юнитов и отрядов. Массив юнитов забиваешь своими капитанами. В UnitUserData капитана пихаешь его порядковый номер в массиве. Создаешь группу юнитов для этого капитана.
  1. Добавление через каст способности.
Я бы делал через 2 разные абилки с одной и той же позицией в интерфейсе. Пока нужный тебе юнит не является частью отряда - у него таргетная абилка при касте которой на капитана он добавляется в группу соответствующего капитана и получает 2ю абилку взамен первой.
Касательно выделения этих пехотинцев - можно намутить что-то с передачей контроля или создать триггер, который будет снимать выделение с юнитов у которых есть 2я абилка. Если ты хочешь чтобы по одиночке можно было выделять пехотинцев - можешь создать переменную для каждого игрока с капитанами, куда будет просто записываться последний выбранный юнит. При снятии выделения - проверять не выбран ли этот же юнит, в случае чего не снимать выделение. Правда не уверен будет ли корректно работать :> В крайнем случае - будет работать в три клика вместо двух. Если я не ошибаюсь.
Касательно поведения этих пехотинцев - что-то реально стоящее сделать сложно. Возможно, но мне не с руки все расписывать :> Простейший вариант - приказывать пехотинцам после добавления в группу следовать за капитаном.
  1. Добавление через атаку капитана
Триггер, проверяющий что капитан получил урон или атакован, как угодно. Далее любым способом проверяешь есть ли в группе этого капитана юниты. Если нет - выбираешь всех пехотинцев N радиусе, добавляешь в отряд, заменяешь абилку/либо просто приказываешь кастануть в капитана первую абилку.
ответ
Ну только триггерные системы отрядов, была такая...
Вот пример ссылочка
Были и другие, поиск в помощь.
Вот еще ссылка
ответ
запомнить всех выбранных, затем очистить эту группу, добавить сначала твоего героя, а затем всех остальных
ответ
  • Выбираешь всех целевых юнитов в группу.
  • Создаёшь дамми.
  • Используя ForGroup и GetEnumUnit, применить на каждого юнита в группе заклинание.
  • Очищаешь групппу.
  • Удаляешь группу.
  • Удаляешь дамми.

У дамми-юнита должны стоять настройки анимации, позволяющие применять способности без задержек, у способности не должно быть кулдауна.


0
7
6 лет назад
0
Итак, видимо мой косяк. Я накладывал бафф с помощью скилла, и из за него была задержка, поэтому повторно юзался скилл, и всё-таки у кого-нибудь есть пример с подобным спеллом?
4
26
6 лет назад
4
на каждый снаряд делаешь группу, в нее заносишь всех кто был поражен
done
Принятый ответ
0
7
6 лет назад
0
Hate:
на каждый снаряд делаешь группу, в нее заносишь всех кто был поражен
done
Тогда у меня будет целые две группы в таймере, мне итак горя хватает.
15
26
6 лет назад
15
Загруженные файлы
0
10
6 лет назад
0
Можешь добавлять юнитам способность-маркер и чекать наличие оной
0
21
6 лет назад
0
LordDracula, проще на хэш значение для них сохранить
0
10
6 лет назад
0
ClotPh:
ну или так.
2
28
6 лет назад
2
LordDracula, ClotPh, WoLLFeR, и без не муи
т.е. при одновременном запуске 2 снарядов в одних и тех же юнитов продамажит лишь 1
правильный ответ дал Hate
Чтобы оставить комментарий, пожалуйста, войдите на сайт.