НЕзаяЦ
offline
Опыт:
3,574Активность: |
Техника с экипажем
Ищу подсказки как осуществить работу техники(танка к примеру) при наличии экипажа. Стоит нейтральная техника, в нее могут сесть определенные юниты любого игрока.
Второй вариант техники это что бы юниты которые в нее сели остались снаружи(к примеру пушка второй мировой). Совсем нет идей как это сделать. Работаю только с ПО, вариант триггера может появиться только при смене принадлежности техники. Если кто знает как осуществить хотя бы один из пунктов, помогите пожалуйста. |
19.09.2013, 02:11 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Duke911
offline
Опыт:
3,907Активность: |
ускорение работы - самое простое: -делаешь behavior c periodic эффектом search area очень маленького радиуса(например 0.1) - тогда в эту область будут попадать только юниты находящиеся на одной точке( а это как раз наш случай). Вешаешь этот бехавиор на пилота который будет садиться внутрь. Ну и эта search area соответственно будет вешать другой behavior, который и будет ускорять нашего юнита. |
19.09.2013, 11:08 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
НЕзаяЦ
offline
Опыт:
3,574Активность: |
Что именно вешать на пилота? И почему на пилота а не на технику? |
19.09.2013, 17:35 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Duke911
offline
Опыт:
3,907Активность: |
Постараюсь объяснить более подробно:
-Создаём бехавиор PilotAura(Caster) типа Buff и бехавиор PilotAura(target) типа Buff, поле Duration последнего устанавливаем на 1, а поле MaximumStackCount(могу ошибаться в точном названии поля) на 256(ну или на сколько пилотов макс влезит в транспорт). -Создаём эффект PilotAura(ApplyBehavior) типа ApplyBehavior. В поле Behavior этого эффекта устанавливаем наш бехавиор PilotAura(target). Также можно воспользоваться и полем Validators только что созданного эффекта - здесь можно выбрать уже существующие валидаторы или даже создать свой в одноименной закладке DataEditora. -Создаем эффект PilotAura(SearchArea) типа SearchArea, открываем поле Area и там создаём новую область с маленьким радиусом(0.1) и эффектом PilotAura(ApplyBehavior). В настройках Targets делаем чтобы эффект находил только своих. -В поле PeriodicEffects нашего бехавиора PilotAura(Caster) вносим PilotAura(SearchArea), поле Period устанавливаем на 1. Теперь этот бехавиор PilotAura(Caster) можно добавить нашему юниту-пилоту в поле Behaviors. -Теперь нам осталось лишь выбрать что будет делать наш бехавиор PilotAura(target). Это делается через поле Modifications этого бехавиора. Там на выбор всё что угодно, думаю разберёшься сам. Как это работает: На юните-пилоте постоянно висит бафф который каждую секунду запускает нашу SearchArea которая в случае если находит кого то в радиусе 0.1(а кроме как до нашего транспорта она не до кого и не дотянется) то вешает на него бафф PilotAura(Target) который и ускоряет юнита-транспорт. Если юниты вылазят то через секунду бафф спадает и больше не обновляется. |
19.09.2013, 19:22 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
НЕзаяЦ
offline
Опыт:
3,574Активность: |
а можно как то заморозить работу юнита-технику в котором нет пилотов? А как быть если вся техника нейтральная изначально? |
19.09.2013, 23:42 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Duke911
offline
Опыт:
3,907Активность: |
заморозка работы юнита без пилотов:
-Создаем бехавиор TransportDisabler типа buff, открываем у него поле Modifications там залазим в Abilities и в Abilities Disabled ставим галочки возле типов способностей которые не будут работать без пилотов(move, attack и т.д.) -Создаем Requirement, назовем UseTransportDisabler. В поле (Basic) Basic: Requirement + переключаемся на Expression и прописываем "CountBehavior(PilotAuratarget,CompleteOnlyAtUnit) < 1". (теперь этот реквайрмент отслеживает наличие нашего вышезоданного бафа PilotAura(target) на юните) -Добавляем в поле Behavior:Requirements нашему TransportDisabler только что созданный реквайрмент UseTransportDisabler. -Добавляем нашему юниту-транспорту в поле Behaviors наш TransportDisabler. Теперь на юните транспорте постоянно висит бафф который выключает ненужные нам способности. Как только требования для него перестают выполняться(тоесть кол-во PilotAura(target) на юните больше 0) то этот бафф отключается, но продолжает висеть, чтобы включиться когда юниты вылезут. |
20.09.2013, 08:40 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|