Перейти к содержимому


Фотография

Как заставить ИИ-вертолет приземлится в заданную точку под огнем противника?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 07 July 2017 - 15:53

Как заставить ИИ вертолет приземлится строго в заданную точку под огнем противника?  Если противник рядом, тогда вертолет не приземляется. Нужно чтобы вертолет пробовал эвакуировать отряд игрока под огнем врага.

 

В общем прогуглил и чего только не пробовал использовать но все бесполезно.  

Я и отключал и включал FSM у вертолета, и пробовал использовать команду Land (

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

)  внутри вейпоинта для вертолета  - "Загрузить", Пробовал изменять высоту полета к нулю (с помощью FlyInHeight 0;) на заданном вейпоинте у вертолета,  так же ставил поведение вертолета как беспечное на том же самом вейпоинте - "Загрузить", но всегда один и тот же результат! Точнее нет никакого результата. А именно:

 

Вертолет зависает над точкой посадки приблизительно в 50 метрах от земли, на короткое время и...  летит в сторону противника стреляет по нему и улетает вдаль,  потом возвращается и все по новой. И так бесконечно. Поскольку точность стрельбы Минигана не велика, вертолет не может уничтожить противника, в то время как сам противник с легкостью уничтожает мой отряд на земле, который должен быть эвакуирован.

 

Два вейпоинта ("Сесть В" и "Загрузить") синхронизированы как надо, я использовал вертолет CH 67 Huron из DLC вертолеты и стандартный отряд союзных пехотинцев на земле.

 

Еще одна деталь! Если убрать противника, тогда вертолет будет приземляться, но я заметил что он приземляется не на указанной точке, а всегда и всегда только на позиции любого игрока! Даже когда я менял игрока на гражданского человека, вдали от вейпоинта "Загрузить", который указан вертолету, то вертолет всегда летел к игроку и приземлялся практически ему на голову!  Отсюда вопрос как задать строгую точку для посадки вертолета, под огнем противника или пусть даже без него?  Я не хочу сажать вертолет себе на голову


Сообщение отредактировал mickeymen: 07 July 2017 - 22:57

  • 0

#2 OFFLINE   shaman33

shaman33

    Ефрейтор

  • Пользователи
  • 81 сообщений
  • Откуда:Владимир

Отправлено 07 July 2017 - 17:09

Попробуйте прописать setBehaviour "CARELESS" всему экипажу (или только группе пилота, отделив её от группы стрелков). Пилоту прописать вейпоинт рядом с точкой эвакуации (обязательно поставив невидимую посадочную площадку), прописав скрипт по выполнению:

0 = [] spawn {
sleep 4; // без задержки точно не сработает
helliName land "GET OUT";
};

Далее как то ловите момент погрузки драпающих голозадых янки и создаёте кодом вейпоинт съ*бывния в нужную точку карты.

 

Если всё совсем плохо -

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

(это полный захват движения, запишите движения вертолёта под собственным управлением и затем воспроизведёте. Может показаться через чур, но это классная функция, только пользоваться надо умеючи).


Сообщение отредактировал shaman33: 07 July 2017 - 17:11

  • 0

#3 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 07 July 2017 - 18:52


драпающих голозадых янки
да это именно они )
  • 0

#4 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 07 July 2017 - 19:05

Попробуйте прописать setBehaviour "CARELESS" всему экипажу (или только группе пилота, отделив её от группы стрелков). Пилоту прописать вейпоинт рядом с точкой эвакуации (обязательно поставив невидимую посадочную площадку), прописав скрипт по выполнению:

0 = [] spawn {
sleep 4; // без задержки точно не сработает
helliName land "GET OUT";
};

Далее как то ловите момент погрузки драпающих голозадых янки и создаёте кодом вейпоинт съ*бывния в нужную точку карты.

 

Если всё совсем плохо -

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

(это полный захват движения, запишите движения вертолёта под собственным управлением и затем воспроизведёте. Может показаться через чур, но это классная функция, только пользоваться надо умеючи).

Спасибо за ответ, но где именно прописывается указанный скрипт по выполнению? Как я понимаю в ините вейпоинта - "Загрузить" вертолета?

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

К сожалению я не силен в скриптах... 

 

Насчет захвата движения вертолета, это уже черезчур предсказуемо будет. Хочется чтобы вертолет сам выбирал откуда подлетать, но чтобы приземлялся в пределах одной точки. Если можно будет указать рандомный радиус в пределах невидимой площадки приземления, тогда вообще супер было бы!


Сообщение отредактировал mickeymen: 07 July 2017 - 19:08

  • 0

#5 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 07 July 2017 - 19:27

И вообще интересно почему попросту не работает режим "CARELESS" внутри вейпоинта у вертолета? Ведь от должен тогда приземлится. Ну БИСы как всегда половина вещей в игре работает половина - нет


  • 0

#6 OFFLINE   shaman33

shaman33

    Ефрейтор

  • Пользователи
  • 81 сообщений
  • Откуда:Владимир

Отправлено 07 July 2017 - 20:16

По порядку.

Скрипт вставляешь в свойствах вейпоинта, в поле "on act" ("по выполнению" или как то так).

Вейпоинт обычного типа - движение.

Вертолет сам выберет ближайшую свободную площадку и приземлится точно на неё - только размести её поблизости от вейпоинта.

Рандомизация и прочее - уже не твой уровень, довольствуйся малым для начала.

Настройки вейпоинта были недостаточно гибкие для меня во многих случаях, поэтому я сразу мыслю кодом (это что касается carelles). Отдели группу бортстрелков от группы пилотов (на всякий случай).

В арме почти всё :)  работет, просто не всегда сразу ясна логика этой работы.


  • 0

#7 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 07 July 2017 - 21:55


В арме почти всё   работет, просто не всегда сразу ясна логика этой работы.
Через какое место это работает, не будем упоминать ) 

 

Спасибо товарищ, я буду пробовать!


  • 0

#8 OFFLINE   foran

foran

    Капитан

  • Пользователи (ВсВт-В)
  • 1757 сообщений
  • Откуда:Россия
  • Отряд:[WTF]

Отправлено 11 July 2017 - 14:54

есть еще вариант.  записать свой полет. и приземлиться там где тебе надо. хоть на крышу. потом тригером вызвать


  • 0

#9 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 11 July 2017 - 23:09


есть еще вариант.  записать свой полет. и приземлиться там где тебе надо. хоть на крышу. потом тригером вызвать

Спасибо. Я знал об этом варианте, но не брал его в расчет изначально ибо это лишает рандомности. Мой вертолет размещается в карте случайным образом, таким образом с какой стороны и как он подлетит должно быть каждый раз полным сюрпризом для игрока. 

 

К сожалению пока не один способ у меня не сработал. БЕСы намертво запретили вертолету в Арма3 эвакуировать своих под огнем


Сообщение отредактировал mickeymen: 11 July 2017 - 23:09

  • 0




Яндекс.Метрика