Как сделать, чтобы определённое здание не было целью автоатаки войск и его можно было атаковать только если отдать юнитам приказ ( правая кнопка мыши/ кнопка А)?

Делаем нейтральным, и примерно как предложил Lord_Teo
+ pro100master хочет, чтобы ты с целями пошаманил, как я понял:
великан не подходит, тк его нет в целях атаки или абилки. Указать не получится. Но можно взять другие типы цели: самоубийца, древа, техника. Вот с ними и шаманить можно. Их можно триггерно добавлять или удалять. Вот например, даем зданию классификацию войск: самоубийца. В целях тех юнитов, которые будут атаковать здание: ставим в целях атаки "не самоубийца". Теперь автоатака у юнита отключена, вернее не отключена, а просто он не может атаковать здание. Что происходит с юнитом, которому ты отдаешь приказ атаковать то здание? У него вместо атаковать (attack), сменяет приказ на smart (следовать в точку). Можно отследить момент атаки: даем невидимый канал с приказом smart. И когда ты даешь приказ атаковать, срабатывает абилка. Нужно сделать триггер, который отслеживает срабатывание канала, и убрать классификацию у цели или может быть переключить атаку.

вот пример, там заменяю на вторую атаку
но вот что делать, если у юнита несколько атак включено. Тогда можно что-то другое придумать, как вариант паузу давать или приказ отмены.

недостаток: активация канала на 1 сек стопит юнита, еще сбивает очередь приказов
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
Нейтральное здание или пауза - тогда у него будет самый низкий приоритет.
2
wetalq:
поставить приоритет 0, но его будут атаковать если целей совсем уже нет и есть только это здание
В этом и проблема. Нужно чтобы здание вообще не было целью автоатаки.
Vlod:
Отдать здание нейтральному игроку?
Не представляется возможным, поскольку здания привязаны к триггеру, который даёт определённое кол-во ресурсов в зависимости от количества захваченных построек.
18
Отмечайте захваченное здание цветом, оставляя его нейтральным
26
Если должно быть красиво, то нужно всем юнитам убирать автоатаку и делать систему триггерной автоатаки.
2
8gabriel8:
Если должно быть красиво, то нужно всем юнитам убирать автоатаку и делать систему триггерной автоатаки.
О, а вот тут можно поподробнее?
26
Всем юнитам ставишь классификацию Рабочий, либо обнуляешь радиус реагирования, по-английски это acquisition range, нужно не только в РО это сделать, но и в игровых константах найти. Потом заносишь в триггеры всех юнитов с событием unit enters range, например, 600, и условием, что юнит видим игроку, а также приказ stop или <пусто>, в действиях приказ Атаковать или Атаковать однократно, не уверен, что после однократной атаки юнит продолжит атаковать, а вот если приказать просто Атаковать, то по всей карте будет носиться, пока не убьёт или не умрёт, посмотришь. Ещё один триггер с событием на приказ без цели и условием, что приказ stop или <пусто>, для случаев, когда юнит или юниты убивают цель, в действиях идёт поиск вражеских юнитов в радиусе 600, на одного из которых нападаешь. Тут надо придумать систему приоритетов, чтобы атаковал в первую очередь войска, а не здания, чтобы атаковал ближнего, а не дальнего, чтобы атаковал юнита с наименьшим здоровьем. Мне такого делать не приходилось, лишь что-то похожее давно, там многое надо будет учитывать.
27
Elus:
Не представляется возможным, поскольку здания привязаны к триггеру, который даёт определённое кол-во ресурсов в зависимости от количества захваченных построек.
Если я правильно уловил суть карты, то, может быть, сделать вот так?
При захвате здания (радиус, урон, здоровье или другие условия) передавать его во владение игроку (захватившему) и добавлять это здание в группу, например, Buildings_for_player1. И ресурсы уже рассчитывать по количеству зданий в этой группе. Т.к. здание будет принадлежать захватившему игроку, то атаковать он его сможет только при помощи клавиши A.
При захвате этого здания другим игроком, соответственно, удаляем здание из группы buildings_for_player1 и передаем его в группу buildings_for_player2, при этом меняя владельца.
2
8gabriel8:
Всем юнитам ставишь классификацию Рабочий, либо обнуляешь радиус реагирования, по-английски это acquisition range, нужно не только в РО это сделать, но и в игровых константах найти. Потом заносишь в триггеры всех юнитов с событием unit enters range, например, 600, и условием, что юнит видим игроку, а также приказ stop или <пусто>, в действиях приказ Атаковать или Атаковать однократно, не уверен, что после однократной атаки юнит продолжит атаковать, а вот если приказать просто Атаковать, то по всей карте будет носиться, пока не убьёт или не умрёт, посмотришь. Ещё один триггер с событием на приказ без цели и условием, что приказ stop или <пусто>, для случаев, когда юнит или юниты убивают цель, в действиях идёт поиск вражеских юнитов в радиусе 600, на одного из которых нападаешь. Тут надо придумать систему приоритетов, чтобы атаковал в первую очередь войска, а не здания, чтобы атаковал ближнего, а не дальнего, чтобы атаковал юнита с наименьшим здоровьем. Мне такого делать не приходилось, лишь что-то похожее давно, там многое надо будет учитывать.
Тут маленькая проблема возникла с событием unit within range. Как бы я ни изощрался, там можно указать только на конкретный юнит на карте. Создавал переменную тип объект, а в событии её попросту нет. Может есть какое решение?
26
В категории Триггер есть действие на создание события, где можно любого юнита указать.
22
чтобы не атаковали делаем изврашеным способом!
У здание даем классификация великан или у который не использует в игре.
Все войска с тип цели убрать великанов или другие и они не будет его бить игнорируя его.

а приказ удаляем и вручаем канал с приказ smart чтобы при нажатии его отдал приказ к цель сменили способность возможность автаковать тип классификации а потом при stop приказ возврашаем исходную

4-5 лет назад когда так делал что автоатака не могли ломать вороты а при клик били врата и он являлся юнит

если речь как бочки юниты его не атакует в автоатаке но при нажатии пкм бьет его
2
pro100master:
чтобы не атаковали делаем изврашеным способом!
У здание даем классификация великан или у который не использует в игре.
Все войска с тип цели убрать великанов или другие и они не будет его бить игнорируя его.

а приказ удаляем и вручаем канал с приказ smart чтобы при нажатии его отдал приказ к цель сменили способность возможность автаковать тип классификации а потом при stop приказ возврашаем исходную

4-5 лет назад когда так делал что автоатака не могли ломать вороты а при клик били врата и он являлся юнит

если речь как бочки юниты его не атакует в автоатаке но при нажатии пкм бьет его
Если не составит труда, можешь закинуть пару скринов триггеров, чтоб я сориентировался?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.