Інструкція з використання редактора

створення аеродрому

Насамперед створимо аеродром, на якому буде присутній ще дві пари винищувачів FW-190, готових до зльоту, і які злетять через 5 хвилин після початку бою. На цей же аеродром гравцеві треба буде приземлитися в кінці місії.

Перейдемо в закладку «Landscape» і, скориставшись кнопкою «Select Object By Name» наберемо, у вікні «air». Виберемо з результатів верхній рядок, закриємо вікно пошуку і натиснемо клавішу «Z» на клавіатурі, щоб відцентрувати камеру на виділеному об'єкті.

Повернемося на закладку «Mission Editor» і, за допомогою кнопки «Create box zone» створимо прямокутник, розмірами приблизно з модель аеродрому, зорієнтувавши її в просторі так, щоб вона збігалася з аеродромом. Виділимо її і, відкривши вікно властивостей об'єкта, змінимо ім'я на «airfield_zone».

Тепер створимо дві кульових зони, за допомогою кнопки «Create sphere zone», розмістивши одну на початку злітної смуги, а іншу в кінці. Першу з них назвіть «airfield_start», а другу «airfield_end». На прямій між двома цими зонами створіть ще чотири кульових зони, з іменами «spawn01» - «spawn04».

Створення літака гравця

Неподалік від створеного нами аеродрому знаходиться озеро. За допомогою кнопки «Create unit», переконавшись, що в поле праворуч від нього вибрано «armada», створіть над озером, на висоті 3.000 метрів літак, назвавши його «player_fw». Як літака виберіть «fw-190-a5» і виставте йому зброю за замовчуванням. Вкажіть в якості «army» «1», кількість літаків встановіть рівним «4», натисніть на кнопку «+ numInWing» і вкажіть цифру «2» Відкрийте властивості місії і в розділі «player_teamA» виберіть літак гравця.

створення оточення

Відкрийте розділ «mission», і дайте назву місії, виберіть карту, яка буде завантажуватися при старті місії (Сицилія), вкажіть що це західна кампанія, одиночна місія, дія відбувається вранці, а погода хороша.

Активація місії

Створіть новий тригер «mission_start» з одним єдиним «event»: «initMission».

Збережіть місію і запустіть її, щоб перевірити, що все працює так, як задумано.

Створення літаків противника

Прямо по курсу руху літака гравця на відстані декількох кілометрів, над морем, створіть ще один літак, назвавши його «usa_aircobra», вказавши йому армію за індексом «2», кількість літаків рівне «6» і кількість літаків в одному крилі «2».

Тепер нам необхідно приспати ці літаки, щоб вони не з'явилися завчасно. Для цього в тригер «mission_start» додамо новий «action», вибравши зі списку «unitPutToSleep», вказавши в якості «target» літаки противника «usa_aircobra».

Створення маршруту польоту

Мета польоту гравця - патрулювання. Тому давайте дамо гравцеві точку маршруту, до якої він буде летіти, і так само перше завдання - досягти цієї точки.

Для цього, за допомогою кнопки «Create point zone» створіть зону на узбережжі, на висоті 3.000 метрів і задайте їй ім'я: «patrol_waypoint».

Тепер в каталозі, куди ви зберегли файл місії, створіть новий файл з тим-же ім'ям, що і файл місії і розширенням «csv». Створіть у ньому рядок «" doPatroll ";" Follow to the checkpoint ";" Перейдіть до зазначеної зоні "» і збережіть файл в кодуванні «UTF-8».

Перевірка досягнення точки маршруту

Для перевірки чи досяг гравець точки маршруту створимо новий тригер «check_is_player_in_waypoint». Залишимо включеної галочку «Enabled», так як ми вже в повітрі і летимо до точки маршруту. Додамо умова перевірки «condition», вибравши зі списку «unitDistanceBetween» з параметрами:

  • в поле «object» виберемо «player»
  • в поле «target» виберемо «patrol_waypoint»
  • в поле «value» встановимо 2500
  • в поле «math» залишимо «2D»

Таким чином, коли ми опинимося на відстані 2500 метрів від точки патрулювання відбудеться виконання тригера. Тепер нам необхідно буде позначити завдання виконаним. Для цього викличемо «action», вибравши зі списку «moSetObjectiveStatus», як «target» вказавши завдання «doPatrol», і вибравши статус рівний «2», що означає, що завдання виконано.

Так само нам необхідно заховати шляхову точку, щоб вона більше не відображалася на екрані і карті. Для цього додамо новий «action» «missionMarkAsWaypoint», вказавши в якості «target» «patrol_waypoint», і відключивши галочку «visible».

Пробудження винищувачів противника

Прийшла пора розбудити винищувачі противника і змусити їх атакувати гравця. Для цього в тригері «check_is_player_in_waypoint» створимо «action» «unitWakeUp», вказавши в якості «target» літаки противника «usa_aircobra». Відразу ж додайте новий «action» «unitAttackTarget», де в якості об'єкта виберіть американський літак, в якості мети літак противника, включіть «fireRandom» і «playerAttracted», встановивши «playerAttractedCount» в «2». Це змусить літаки противника атакувати літаки гравця, причому як мінімум 2 літаки завжди намагатиметься знищити самого гравця.

Видача нового завдання

Відкрийте «csv» файл місії і додайте в нього рядок «" holdOn ";" Hold on agains enemy fighters, till reinforcement arrival ";" Протримаєтеся до підходу літаків підкріплення "», після чого збережіть його.

Перейдіть в тригер «check_is_player_in_waypoint» і додайте «action» «wait» на 3 секунди, відразу після чого додайте в місію новий «Mission Objective» з ім'ям «holdOn», вимкнувши йому галочку «enabled». Знову перейдіть в тригер «check_is_player_in_waypoint» і додайте «action», вибравши зі списку «moAddObjectiveStatus», вказавши в якості «target» завдання «holdOn».

Виставлення маркерів на винищувачі противника

Після видачі завдання було б добре вказати гравцеві кого саме йому варто боятися, помітивши літаки противника. Для цього в тригер «check_is_player_in_waypoint» додаємо «action» «unitSetIndication», як «target» вибравши «usa_aircobra». Тепер над ворожими літаками з'явилися маркери і їх стало легше відстежувати.

Іконка підрахунку літаків противника

Так само було б добре показати гравцеві кількість літаків противника, які його атакують і регулярно оновлювати цю інформацію.

Для цього необхідно створити новий тригер з ім'ям «update_indicator», вимкнувши йому галочку «Enabled». Для того, щоб цей тригер не припиняв свою роботу після першого виконання необхідно виставити йому галочку «enableAfterComplete». Додамо в цей тригер «action» «missionSetTargetsIndicator» з параметрами:

  • в поле «target» вибрати «usa_aircobra»
  • в поле «icon» вибрати «air»
  • в поле «icon_army» вибрати «2»

Тепер запустимо цей тригер з тригера «check_is_player_in_waypoint» за допомогою «triggerEnable».

другорядне завдання

Настав час видати гравцеві другорядну задачу. Якщо основне його завдання - протриматися до підходу підкріплення, то другорядною можна назвати знищення всіх літаків противника.

Відкриємо «csv» файл місії і додамо в нього рядок «" destroyAllEnemies ";" Destroy all enemy fighters ";" знищіть всі ворожі винищувачі "». Після цього створимо новий «Mission Objective» з ім'ям «destroyAllEnemies». Знімемо з нього галочку «Enabled» і «isPrimary».

Тепер видамо це завдання в тригері «check_is_player_in_waypoint». Спочатку додамо «action» «wait» на 3 секунди, щоб зробити паузу між видачею основного завдання і другорядного, а потім додамо «action» «moAddObjectiveStatus», вказавши в якості «target» завдання «destroyAllEnemies».

Перевірка успіху другорядного завдання

Давайте зробимо перевірку на виконання другорядного завдання. Для цього додамо новий тригер «check_for_all_enemies_died», і знімемо йому галочку «Enabled». Перейдемо в тригер «check_is_player_in_waypoint» і додамо виклик тригера «check_for_all_enemies_died» за допомогою «triggerEnable».

Повернемося в тригер «check_for_all_enemies_died» і додамо йому «condition» «unitWhenStatus», як «object» вказавши «usa_aircobra», як «object_type» - «isKilled» і в якості «check_objects» вибравши «all». Тепер додамо «action», завершальний додаткове завдання. Виберіть зі списку «moSetObjectiveStatus», як «target» вказавши завдання «destroyAllEnemies», а в якості «status» - «2», що дозволить промаркувати завдання, як виконане успішно.

Включення таймера відліку

Необхідно дати гравцеві деякий час перед тим як в повітрі з'являться літаки підтримки. Для цього давайте заведемо змінну, назвавши її «holdOnTimer». Виберемо цієї змінної тип «Integer». Виділивши змінну змінимо її значення на «300». Значення змінної можна поміняти в поле з ім'ям змінної, розташованої нижче списку змінних місії. Для того, щоб змінювати змінну нам необхідно створити новий тригер, з ім'ям «hold_on_time_add», а так само вимкнути йому галочку «Enabled» і включити «enableAfterComplete». Додамо цього триггеру новий «action», вибравши зі списку «varModify», і налаштувавши йому параметри:

  • в поле «var» виберіть змінну «holdOnTimer»
  • в поле «operator» виберіть «add»
  • в поле «value» залишіть «-1»

Таким чином кожну секунду значення нашої змінної буде зменшуватися на 1.

Перейдіть в тригер «check_is_player_in_waypoint» і, в уже існуючий «triggerEnable» додайте виклик «hold_on_time_add».

Перевірка завершення таймера відліку

Створимо новий тригер з ім'ям «check_for_hold_on_timer» і знімемо галочку «Enabled». За допомогою вже існуючого «tirggerEnable» додамо виклик цього тригера в тригері «check_is_player_in_waypoint».

Додамо в «check_for_hold_on_timer» новий «condition» «varCompareInt», де в якості «var_value» виберемо змінну «holdOnTimer», а всі інші поля залишимо без змін. Першим же «action» додамо «triggerDisable» де заборонимо наступні виклики тригера «hold_on_time_add».

На цьому тимчасово призупинимо роботу над тригером і займемося створенням винищувачів підтримки.

Створення винищувачів підтримки

За допомогою кнопки «Create unit» створіть новий винищувач над тим же озером, над яким з'являвся гравець, виставте йому ту ж армію, що у гравця, і налаштуйте клас винищувача на «bf-109g-2». Змініть йому ім'я на «support_fighters» і встановіть зброю за замовчуванням. Так само вкажіть кількість нових винищувачів рівне 8, а кількість їх в крилі рівне 2.

Усипляння винищувачів підтримки

Винищувачі створяться з початком місії, тому приспимо їх. Для цього в тригері «mission_start» додамо до вже існуючого «unitPutToSleep» щойно створені винищувачі.

Пробудження винищувачів підтримки

Винищувачі підтримки повинні прокинутися коли змінна «holdOnTimer» стане менше нуля. Для відстеження цієї події у нас вже створено тригер «check_for_hold_on_timer». Відкриємо цей тригер і додамо в нього «action» «unitWakeUp», вказавши в якості «target» літаки супроводу «support_fighters».

Видача винищувачам підтримки завдання

Тепер коли винищувачі прокинулися треба дати їм завдання. Для цього в тригер «check_for_hold_on_timer» додамо «action», вибравши зі списку «unitMoveTo», і налаштувавши параметри:

  • в поле «object» вибрати «support_fighters»
  • в поле «target» вибрати «player_fw»
  • поставити галочку «follow_target» і «shouldKeepFormation»

Перевірка успіху основної місії

Успіх основної місії відбудеться в момент, коли літаки супроводу досягнутий літаків гравця. Для перевірки цієї події створимо новий тригер «check_for_support_near», і знімаємо галочку «Enabled». Як «condition» додаємо «unitDistanceBetween» з параметрами:

  • в поле «object» вибираємо «support_fighters»
  • в поле «target» вибираємо «player_fw»
  • в поле «value» виставляємо «500»
  • інші поля залишаємо без змін

Додаємо виклик цього тригера в тригер «check_for_hold_on_timer» за допомогою «triggerEnable».

Створення короткого ролика

Перед закінченням місії давайте покажемо гравцеві короткий ролик. Для цього в тригері «check_for_support_near» створимо «action», вибравши зі списку «missionStartCutscene», з параметрами:

  • в поле «target» виберіть «support_fighters»
  • в поле «second_target» виберіть «player_fw»
  • в поле «duration» поставте 15 секунд
  • в поле «camera_type» виберіть «two_obj»

Відразу після нього додайте «action» «moSetObjectiveStatus», як «target» вказавши «holdOn», а в якості «status» - «2». Додайте «wait» на 3 секунди і «missionCompleted».

Схожі статті