арма 3 редактор обучение
Арма 3 редактор обучение
В настоящий момент, в связи с введением 3D-редактора и изменением системы брифингов и заданий, руководство можно признать на 40% неактуальным. Оставляю для общей информации. Тем не менее, общие принципы установки юнитов, триггеров и вейпоинтов остались без изменений.
Первый туториал к редактору ArmA 3 в формате Quick Start. На его протяжении мы создадим свою первую настоящую миссию для ArmA 3, и в результате вы будете иметь готовое играбельное задание.
Вашему вниманию представляется руководство по редактору АрмА 3 для начинающих или, иными словами, «Краткий ОЗнакомительный Ликбез Игрового Конструирования». Немного позднее, будет добавлена оффлайновая версия данного руководства и миссия-пример. Данный текст впервые опубликован 10 марта 2013.
О чем это руководство?
На момент написания данного Ликбеза, с момента релиза ArmA 3 Alpha прошел всего один день, и данная версия игры поддерживает всего один язык — английский. Поэтому, будем ориентироваться на то, что видим в английской версии редактора, а в скобочках будут указаны приблизительные русские эквиваленты (из редактора ArmA 2).
Откроем, наконец, редактор, щелкнув на кнопке EDITOR в главном меню игры и выбрав остров Stratis! Со времен предыдущих игр серии, редактор миссий претерпел небольшие косметические изменения — старые добрые текстовые меню заменены на зеленые пиктограммки. На момент Альфы, данные пиктограммки не имеют четкого текстового пояснения — поэтому, чтобы не путаться, предлагаю сразу переключиться в более классический вид. Для этого, нажмем кнопку Shoose editor’s layout(крайняя правая в верхнем ряду), выберем Traditional и нажмем RESTART NOW, чтобы перезапустить интерфейс.
Итак, справа мы имеем выбор инструментов, сверху — стандартное меню сохранения-загрузки. Нажав на кнопку ADVANCED INTEL, мы сможем заняться настройкой погоды, но пока нас это не интересует. Навигация по карте происходит с зажатой правой клавишей мыши, масштаб изменяется колесиком.
Действия нашей первой миссии развернутся на Северо-Восточной оконечности острова — вблизи бухты Камино (Kamino bay), квадрат 065-049. Как видим, в бухте стоит небольшая постройка, а от нее к Северу в сторону маяка ведет грунтовая дорога. Здесь мы и расположим наш отряд!
В появившемся окне выберем SIDE – OPFOR(Сторона — Красные), FACTION – Red(Фракция — Красные), CLASS – Infantry(Класс — пехота) и UNIT – Infantry squad(Подразделение — Стрелковое отделение). А затем, нажмем ОК. Суть понятна — мы выбрали среди заранее заготовленных групп стрелковое отделение иранцев и поставили его на карту. Сейчас у нас не выбран игрок, и редактор нам об этом напомнит.
Скажем ему «CLOSE» (Закрыть) и сделаем двойной клик по третьему справа бойцу, именуемому Grenadier (Стрелок с ГП) перед нами откроется меню редактирования отдельного юнита. В нем нас интересует, прежде всего, пункт CONTROL(Контроль) в панели слева. Он имеет три опции — None (нет, бойцом будет управлять AI), Player(Этим юнитом будет управлять игрок) и Playable («Играет» Этим юнитом игрок может управлять. Все слоты в сетевой игре представляют собой юнитов с параметром Playable, а в одиночной — игрок имеет возможность переключаться в таких юнитов через меню выбора). Еще одно важное поле, которое мы заполним — это поле NAME(Имя). Это не то имя, которое отображается в игре, а условное имя, по которому к этому юниту смогут обращаться триггеры и скрипты. Зададим нашему протагонисту имя aP.
После этого, откроем аналогичным образом командира нашей группы и зададим ему имя Com. И прежде, чем нажать ОК, давайте окинем взором меню редактирования юнита.
CLASS – это класс юнита. Пехотинцы, бронетехника, авиация и так далее собраны по разным классам, а UNIT (Юнит) — это, собственно, тип самого персонажа или машины.
SPECIAL (Особенности) — здесь можно выбрать, появится юнит на карте в строю (In Formation) или будет стоять свободно (None). Для воздушных юнитов можно выбрать Flying (В полете), и тогда они появятся прямо в воздухе. А если в группе есть грузовой транспорт — можно выбрать In Cargo (В грузовом отсеке), тогда боец появится прямо в машине.
Назначение поля CONTROL мы уже поняли — здесь мы выбираем, кто будет игроком, а VEHICLE LOCK (Доступ) нужен для техники — позволяет поставить ее на карту закрытой. RANK – это Звание юнита. Юнит с более высоким званием автоматически становится командиром группы. AZIMUTH и ELEVATION – это направление и высота, на которой юнит появится. Справа есть колесо азимута, а в главном меню редактора можно крутить объекты, зажимая Shift.
А теперь, закроем меню игрока и укажем нашему отряду путь!
Одиночным щелчком по любому члену отряда, сделаем его активным, а затем — в правом меню выберем Waypoints (Вейпоинты) или просто нажмем F4. К северу от места нашей высадки расположен маяк — туда и назначим первую точку, два раза щелкнув.
В появившемся окне мы можем гибко редактировать поведение группы в движении. Оставим все поля по умолчанию кроме поля FORMATION (Построение) — там выберем Column (compact), в колонне нашему отряду будет проще подниматься в горку. Ах, да! Не лишним будет также поставить скорость движения на полную (SPEED – Full), чтобы маневр был более решительным.
Поле ON ACT. (По активации) позволяет нам выполнить разные скриптовые команды, когда группа достигнет этой точки. Пусть в нашем случае командир отряда (которого мы назвали Com, помните?) доложит на базу о занятии позиции для атаки. Впишем в это поле com sideChat «Base, this is Viper-1. We have reached the lighthouse! Over.«; Поскольку в Альфа-версии игры поддержки русского языка и кирилицы нет — мы не сможем написать ничего по-русски, поэтому, давайте пока условимся на простых английских фразах. В данном случае, все должно быть понятно. Com – это мы обращаемся к соответствующему юниту, SideChat – это команда, заставляющая юнита сказать в синий чат фразу в кавычках «База, это Гадюка-1. Мы достигли маяка! Прием.»
Ну что же, если хотите — можно закрыть окно вейпоинта, нажать PREVIEW (Предпросмотр) и убедиться, что группа иранцев побежала в горку плотным строем, а по прибытии на место командир об этом доложил.
Давайте прямо сейчас сохраним нашу миссию, нажав в верхней панели Save (Сохранить) или просто Ctrl+S, если вы еще этого не сделали. Зададим ей имя, скажем — dk_tutor.
Следующая маршрутная точка будет указывать на Kamino firing range, что под горой к Северу. В отличие от первого вейпоинта, тип этой точки будет SEEK AND DESTROY (Найти и уничтожить), а построение установим в Line (Цепь), чтобы наше отделение развернулось для атаки.
Установим на базе первую группу противников. Для начала, войдем в меню Units (F1), кликнем дважды неподалеку от центра базы. Юнит будет иметь сторону BLUFOR (Синие), Class – Men, юнит — Riffleman (Light). Звание (Rank) установим в Sergeant, чтобы он автоматически стал командиром группы. Рядом с ним разместим еще двоих-троих аналогичных бойцов, но в звании рядового (Private). Если эти бойцы помещены достаточно близко от сержанта — они автоматически свяжутся с ним голубыми линиями. Этой группе мы поставим вейпоинт прямо рядом, практически под ноги. Но тип (SELECT TYPE) выберем не MOVE (Перемещение), а SENTRY (Защищать). Это «умный» вейпоинт — с ним группа будет не просто стоять в указанной точке, а станет атаковать любого противника, замеченного союзниками, даже если сама его еще не видела.
Вокруг базы мы пустим патрули! Создадим пару синих бойцов слева от базы и добавим им вейпоинт MOVE (Перемещение) с параметрами SPEED – Limited (Скорость — ограничено), BEHAVIOUR – Safe (Поведение — Безопасно). Примерно в трех сотнях метров. Еще два аналогичных вейпоинта создадим в другой точке патрулирования и в начальной точке, образовав, таким образом, треугольник. А потом, недалеко от самого первого вейпоинта добавим точку с типом CYCLE (Зациклить). Обратите внимание, как она автоматически свяжется с первым вейпоинтом, если расположена достаточно близко.
Таким образом, патруль будет ходить по трем точкам по кругу. Скопируйте патруль вместе со всеми вейпоинтами клавишей Ctrl+C и клавишей Ctrl+V разместите на противоположной стороне базы. Так у нас будет выглядеть оборона базы в конечном итоге.
Итак, задача на бой у нас сформулирована, теперь надо как-то определить его результаты, чтобы миссия могла закончиться или идти дальше. Поэтому, теперь мы познакомимся с триггерами!
Создадим первый триггер (кнопка F3, меню Triggers) в центре атакуемого военного лагеря. Размеры зоны задаются параметрами Axis X и Axis Y – установим их по 150 метров. Имя триггера установим как BAZA_BLUE и для удобства введем то же самое в поле TEXT, чтобы легко опознавать его на карте. Условием активации данного триггера будет отсутствие в его зоне солдат Синих. Поэтому, в поле ACTIVATION (Активация) выберем сторону BLUFOR (Синие), а ниже выберем Not present (Отсутствуют). Теперь определим, что произойдет, когда он активируется — нам нужно, чтобы истинной стала одна из переменных, назовем ее BaseIsClear. В поле ON ACT. (По активации) так и напишем BaseIsClear=true;
Второй триггер сработает, когда в зону войдет кто-нибудь из Красных. Создадим триггер такого же размера, назовем его BAZA_RED, в поле ACTIVATION (Активация) выберем OPFOR (Красные) и на этот раз — Present. В поле ON ACT. напишем WeAreHere=true; Ну, то-есть, «мы здесь».
Теперь нам нужен третий триггер, который увидит, что оба события состоялись, и заставит командира сказать об этом.
Наверное, самое время запустить превью и посмотреть, все ли работает.
Ну что же, нам удалось сделать выполнимой первую задачу, но давайте разовьем ход миссии дальше. Противник успел доложить о нападении, и теперь к базе выдвинулось подкрепление на броневике!
Западнее атакуемой нами базы в квадрате 055-047 расположена постройка, а от нее ведет дорога к самому лагерю. Здесь и расположим группу подкрепления и ее машину. Установим здесь четверых бойцов команды Синих — на этот раз не раздетых стрелков с карабинами, а кого-нибудь посерьезнее, вроде пулеметчиков или солдат с ГП. Мы сформируем эту группу аналогично предыдущей — один из юнитов будет сержантом, а все поставленные возле него рядовые автоматически соединятся с ним линией. Если вы поставили солдата слишком далеко — не беда, вы можете нажать F2 (Группы) и провести тонкую голубую линию между ними вручную.
Теперь нам надо сделать, чтобы группа начала движение не сразу, а только тогда, когда база будет нами захвачена. Поставим стандартный вейпоинт движения (MOVE) со скоростью «Полная» (Speed – Full) «под ноги» новой группе. Тепь выберем в меню (F5) Syncronization (Синхронизация), щелкнем на этом вейпоинте и протянем темно-синюю линию к недавно созданному триггеру BAZA_CLEAR.
Как уже, наверное, понятно — группа не двинется дальше этого вейпоинта, пока не сработает связанный с ним триггер. Вейпоинты полезно временно блокировать, и делать это можно не только с помощью триггера, можно синхронизировать вейпоинты нескольких групп друг с другом — например, чтобы они подходили на позиции с разных сторон, но атаковали одновременно.
Продолжим устанавливать маршрутные точки группе подкрепления! Следующий вейпоинт поставим непосредственно на машину, а тип его установим GET IN (Войти). Заметьте, что точка поставилась поверх машины, и если нам впоследствии понадобится «залезть под» путевую линию и открыть меню самого броневика — надо удерживать Shift.
Итак, когда триггер сработает — группа сядет в броневик. В дальнейшем, нам достаточно только указать точку высадки неподалеку от базы, а как туда добраться, боты решат самостоятельно. Поставим вейпоинт GET OUT (Выйти) на дороге неподалеку от базы, а следующую точку для подкрепления поставим уже на самой базе и зададим ей тип SEEK AND DESTROY (Найти и уничтожить), чтобы бойцы попытались атаковать нашу группу. Поведение на последней точке (Behaviour) логичным будет поставить «В бою» (Combat), так как по нашей задумке, подкрепление уже знает, что их ждет контакт с противником.
Кстати, в триггеры и вейпоинты мы можем добавлять эффекты, в частности — можно включить музыку в момент высадки подкрепления. Для этого, надо войти в соответствующий вейпоинт, нажать EFFECTS (Эффекты) внизу и выбрать трек. Кроме того, можно добавить кое-какого текста. Давайте сделаем это!
Окей! Теперь добавим условие, которое окончит миссию, когда подкрепление будет уничтожено, а контратака — отбита. Для этого мы поставим триггер, который сработает, когда число юнитов в группе подкрепления будет равно нулю.
Таким образом, когда количество юнитов группы Podkrepбудет равно нулю — триггер сработает, и наступит финал миссии.
Ну что ж, мы задумали сюжет миссии, создали ее логику и последовательность событий, поставили обрабатывающие эти события триггеры и создали финальный триггер — который завершает миссию.
Наша группа выходит на позицию, атакует лагерь противника, отражает контратаку — понятно. Но это нам понятно, а для игрока необходимо поставить условие, ведь сюжет он будет воспринимать из поставленных задач и заметок в дневнике!
Редактор ArmA 3позволяет создавать брифинги относительно легко и непринужденно. Относительно предыдущих игр серии, конечно — там для этого необходимо было осваивать html и скриптовый язык. Теперь — нет, для создания обычного задания это не обязательно. Теперь нам помогают в этом Модули! Они доступны по горячей клавише F7.
Модули устанавливаются на карте точно так же, двойным кликом. Некоторые из них можно и нужно синхронизировать клавишей F5с юнитами и другими модулями, как правило, эта логика интуитивно понятна.
В целях создания брифинга, нас интересует несколько модулей, все они находятся в категории Intel (Разведка, сведения).
Рядом поставим такой же модуль, но со статусом Succeeded (Выполнено успешно) и так же свяжем его с модулем первой задачи. «Вторым концом» мы в последствии свяжем этот модуль с триггером, который будет отслеживать, что игрок забрался на маяк. Этому модулю тоже желательно дать имя, чтобы его было видно на карте.
Как мы помним, о том, что отряд забрался на гору, нам сигнализирует команда в вейпоинте группы. К сожалению, синхронизировать модуль Succeeded с вейпоинтом нельзя, поэтому, создадим небольшой триггер диаметром 20 и с условием активации на присутствие Красных, а затем, свяжем его с нашим модулем.
Должно быть понятно — по умолчанию у нас включится статус Assigned, а статус Succeeded связан с триггером и включится только тогда, когда и он.
Наконец, третье задание — отразить контратаку.
Само собой, надо еще разок пробежать всю миссию и посмотреть, все ли срабатывает. Должно быть следующее.
Начало миссии — активна первая задача, остальные неактивны.
Группа достигла маяка — первая задача выполнена, вторая активна.
База захвачена, готовимся к обороне.
На этом, можно сказать, что наша первая миссия практически готова — теперь не только мы сами знаем, что в ней надо делать, а любой, кто способен прочитать пару строчек немудреного текста в нашем брифинге.
Однако, наша миссия — это все еще не один окончательный файл, который можно выложить в интернет и показать миру, а заготовка. Сейчас наша миссия представляет собой папку в каталоге «Мои документы»/Arma 3 Alpha/missions – именно здесь хранятся все пользовательские заготовки, еще не запакованные для одиночной игры.
В папку с миссией нам надо положить картинку, которая будет отображаться в меню при выборе, а так же два файла — overview.html, в котором эта самая картинка должна быть вписана, а так же — briefing.html. Последний представляет собой рудимент со времен Operation Flashpoint, нам нужен он для того, чтобы брифинг отображался перед запуском миссии. Если его не будет — к сожалению, миссия будет запускаться сразу.
Итак, откроем папку со своей миссией и создадим в ней два пустых файла.
Как говорилось выше, briefing.html оставим пустым, а, вот, overview.html будет иметь следующее содержание.
Версия 1.0
Вашему вниманию представляется руководство по редактору АрмА 3 для начинающих или, иными словами, «Краткий ОЗнакомительный Ликбез Игрового Конструирования». Немного позднее, будет добавлена оффлайновая версия данного руководства и файл с примером миссии.
Условия распространения
О чем это руководство?
На момент написания первой главы данного Ликбеза, с момента релиза ArmA 3 Alpha прошел всего один день, и данная версия игры поддерживает всего один язык — английский. Поэтому, будем ориентироваться на то, что видим в английской версии редактора, а в скобочках будут указаны приблизительные русские эквиваленты (из редактора ArmA 2).
Часть 1. Дислокация.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Итак, справа мы имеем выбор инструментов, сверху — стандартное меню сохранения-загрузки. Нажав на кнопку ADVANCED INTEL, мы сможем заняться настройкой погоды, но пока нас это не интересует. Навигация по карте происходит с зажатой правой клавишей мыши, масштаб изменяется колесиком.
Действия нашей первой миссии развернутся на Северо-Восточной оконечности острова — вблизи бухты Камино (Kamino bay), квадрат 065-049. Как видим, в бухте стоит небольшая постройка, а от нее к Северу в сторону маяка ведет грунтовая дорога. Здесь мы и расположим наш отряд!
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
В появившемся окне выберем SIDE – OPFOR (Сторона — Красные), FACTION – Red (Фракция — Красные), CLASS – Infantry (Класс — пехота) и UNIT – Infantry squad (Подразделение — Стрелковое отделение). А затем, нажмем ОК. Суть понятна — мы выбрали среди заранее заготовленных групп стрелковое отделение иранцев и поставили его на карту. Сейчас у нас не выбран игрок, и редактор нам об этом напомнит.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Скажем ему «CLOSE» (Закрыть) и сделаем двойной клик по третьему справа бойцу, именуемому Grenadier (Стрелок с ГП) перед нами откроется меню редактирования отдельного юнита. В нем нас интересует, прежде всего, пункт CONTROL (Контроль) в панели слева. Он имеет три опции — None (нет, бойцом будет управлять AI), Player (Этим юнитом будет управлять игрок) и Playable («Играет» Этим юнитом игрок может управлять. Все слоты в сетевой игре представляют собой юнитов с параметром Playable, а в одиночной — игрок имеет возможность переключаться в таких юнитов через меню выбора). Еще одно важное поле, которое мы заполним — это поле NAME (Имя). Это не то имя, которое отображается в игре, а условное имя, по которому к этому юниту смогут обращаться триггеры и скрипты. Зададим нашему протагонисту имя aP.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
После этого, откроем аналогичным образом командира нашей группы и зададим ему имя Com. И прежде, чем нажать ОК, давайте окинем взором меню редактирования юнита.
CLASS – это класс юнита. Пехотинцы, бронетехника, авиация и так далее собраны по разным классам, а UNIT (Юнит) — это, собственно, тип самого персонажа или машины.
SPECIAL (Особенности) — здесь можно выбрать, появится юнит на карте в строю (In Formation) или будет стоять свободно (None). Для воздушных юнитов можно выбрать Flying (В полете), и тогда они появятся прямо в воздухе. А если в группе есть грузовой транспорт — можно выбрать In Cargo (В грузовом отсеке), тогда боец появится прямо в машине.
Назначение поля CONTROL мы уже поняли — здесь мы выбираем, кто будет игроком, а VEHICLE LOCK (Доступ) нужен для техники — позволяет поставить ее на карту закрытой. RANK – это Звание юнита. Юнит с более высоким званием автоматически становится командиром группы. AZIMUTH и ELEVATION – это направление и высота, на которой юнит появится. Справа есть колесо азимута, а в главном меню редактора можно крутить объекты, зажимая Shift.
А теперь, закроем меню игрока и укажем нашему отряду путь!
Одиночным щелчком по любому члену отряда, сделаем его активным, а затем — в правом меню выберем Waypoints (Вейпоинты) или просто нажмем F4. К северу от места нашей высадки расположен маяк — туда и назначим первую точку, два раза щелкнув.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
В появившемся окне мы можем гибко редактировать поведение группы в движении. Оставим все поля по умолчанию кроме поля FORMATION (Построение) — там выберем Column (compact), в колонне нашему отряду будет проще подниматься в горку. Ах, да! Не лишним будет также поставить скорость движения на полную (SPEED – Full), чтобы маневр был более решительным.
Поле ON ACT. (По активации) позволяет нам выполнить разные скриптовые команды, когда группа достигнет этой точки. Пусть в нашем случае командир отряда (которого мы назвали Com, помните?) доложит на базу о занятии позиции для атаки. Впишем в это поле com sideChat «Base, this is Viper-1. We have reached the lighthouse! Over.«; Поскольку в Альфа-версии игры поддержки русского языка и кирилицы нет — мы не сможем написать ничего по-русски, поэтому, давайте пока условимся на простых английских фразах. В данном случае, все должно быть понятно. Com – это мы обращаемся к соответствующему юниту, SideChat – это команда, заставляющая юнита сказать в синий чат фразу в кавычках «База, это Гадюка-1. Мы достигли маяка! Прием.»
Ну что же, если хотите — можно закрыть окно вейпоинта, нажать PREVIEW (Предпросмотр) и убедиться, что группа иранцев побежала в горку плотным строем, а по прибытии на место командир об этом доложил.
Давайте прямо сейчас сохраним нашу миссию, нажав в верхней панели Save (Сохранить) или просто Ctrl+S, если вы еще этого не сделали. Зададим ей имя, скажем — dk_tutor.
Часть 2. Противник.
Следующая маршрутная точка будет указывать на Kamino firing range, что под горой к Северу. В отличие от первого вейпоинта, тип этой точки будет SEEK AND DESTROY (Найти и уничтожить), а построение установим в Line (Цепь), чтобы наше отделение развернулось для атаки.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Установим на базе первую группу противников. Для начала, войдем в меню Units (F1), кликнем дважды неподалеку от центра базы. Юнит будет иметь сторону BLUFOR (Синие), Class – Men, юнит — Riffleman (Light). Звание (Rank) установим в Sergeant, чтобы он автоматически стал командиром группы. Рядом с ним разместим еще двоих-троих аналогичных бойцов, но в звании рядового (Private). Если эти бойцы помещены достаточно близко от сержанта — они автоматически свяжутся с ним голубыми линиями. Этой группе мы поставим вейпоинт прямо рядом, практически под ноги. Но тип (SELECT TYPE) выберем не MOVE (Перемещение), а SENTRY (Защищать). Это «умный» вейпоинт — с ним группа будет не просто стоять в указанной точке, а станет атаковать любого противника, замеченного союзниками, даже если сама его еще не видела.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Вокруг базы мы пустим патрули! Создадим пару синих бойцов слева от базы и добавим им вейпоинт MOVE (Перемещение) с параметрами SPEED – Limited (Скорость — ограничено), BEHAVIOUR – Safe (Поведение — Безопасно). Примерно в трех сотнях метров. Еще два аналогичных вейпоинта создадим в другой точке патрулирования и в начальной точке, образовав, таким образом, треугольник. А потом, недалеко от самого первого вейпоинта добавим точку с типом CYCLE (Зациклить). Обратите внимание, как она автоматически свяжется с первым вейпоинтом, если расположена достаточно близко.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Таким образом, патруль будет ходить по трем точкам по кругу. Скопируйте патруль вместе со всеми вейпоинтами клавишей Ctrl+C и клавишей Ctrl+V разместите на противоположной стороне базы. Так у нас будет выглядеть оборона базы в конечном итоге.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Итак, задача на бой у нас сформулирована, теперь надо как-то определить его результаты, чтобы миссия могла закончиться или идти дальше. Поэтому, теперь мы познакомимся с триггерами!
[*]В зоне базы нет вражеских юнитов.
[/list]
[*]Территория базы занята своими войсками.
[/list]
Каждое из этих условий включит по одному триггеру, которые сделают истинными две соответствующих переменных. В третьем триггере мы будем ожидать, пока истинными станут обе переменные — тогда мы и определим, что база зачищена. Сложно? Нет, ни капли.
Создадим первый триггер (кнопка F3, меню Triggers) в центре атакуемого военного лагеря. Размеры зоны задаются параметрами Axis X и Axis Y – установим их по 150 метров. Имя триггера установим как BAZA_BLUE и для удобства введем то же самое в поле TEXT, чтобы легко опознавать его на карте. Условием активации данного триггера будет отсутствие в его зоне солдат Синих. Поэтому, в поле ACTIVATION (Активация) выберем сторону BLUFOR (Синие), а ниже выберем Not present (Отсутствуют). Теперь определим, что произойдет, когда он активируется — нам нужно, чтобы истинной стала одна из переменных, назовем ее BaseIsClear. В поле ON ACT. (По активации) так и напишем BaseIsClear=true;
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Второй триггер сработает, когда в зону войдет кто-нибудь из Красных. Создадим триггер такого же размера, назовем его BAZA_RED, в поле ACTIVATION (Активация) выберем OPFOR (Красные) и на этот раз — Present. В поле ON ACT. напишем WeAreHere=true; Ну, то-есть, «мы здесь».
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Теперь нам нужен третий триггер, который увидит, что оба события состоялись, и заставит командира сказать об этом.
Наверное, самое время запустить превью и посмотреть, все ли работает.
Часть 3. Подкрепление.
Ну что же, нам удалось сделать выполнимой первую задачу, но давайте разовьем ход миссии дальше. Противник успел доложить о нападении, и теперь к базе выдвинулось подкрепление на броневике!
Западнее атакуемой нами базы в квадрате 055-047 расположена постройка, а от нее ведет дорога к самому лагерю. Здесь и расположим группу подкрепления и ее машину. Установим здесь четверых бойцов команды Синих — на этот раз не раздетых стрелков с карабинами, а кого-нибудь посерьезнее, вроде пулеметчиков или солдат с ГП. Мы сформируем эту группу аналогично предыдущей — один из юнитов будет сержантом, а все поставленные возле него рядовые автоматически соединятся с ним линией. Если вы поставили солдата слишком далеко — не беда, вы можете нажать F2 (Группы) и провести тонкую голубую линию между ними вручную.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Теперь нам надо сделать, чтобы группа начала движение не сразу, а только тогда, когда база будет нами захвачена. Поставим стандартный вейпоинт движения (MOVE) со скоростью «Полная» (Speed – Full) «под ноги» новой группе. Тепь выберем в меню (F5) Syncronization (Синхронизация), щелкнем на этом вейпоинте и протянем темно-синюю линию к недавно созданному триггеру BAZA_CLEAR.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Как уже, наверное, понятно — группа не двинется дальше этого вейпоинта, пока не сработает связанный с ним триггер. Вейпоинты полезно временно блокировать, и делать это можно не только с помощью триггера, можно синхронизировать вейпоинты нескольких групп друг с другом — например, чтобы они подходили на позиции с разных сторон, но атаковали одновременно.
Продолжим устанавливать маршрутные точки группе подкрепления! Следующий вейпоинт поставим непосредственно на машину, а тип его установим GET IN (Войти). Заметьте, что точка поставилась поверх машины, и если нам впоследствии понадобится «залезть под» путевую линию и открыть меню самого броневика — надо удерживать Shift.
Итак, когда триггер сработает — группа сядет в броневик. В дальнейшем, нам достаточно только указать точку высадки неподалеку от базы, а как туда добраться, боты решат самостоятельно. Поставим вейпоинт GET OUT (Выйти) на дороге неподалеку от базы, а следующую точку для подкрепления поставим уже на самой базе и зададим ей тип SEEK AND DESTROY (Найти и уничтожить), чтобы бойцы попытались атаковать нашу группу. Поведение на последней точке (Behaviour) логичным будет поставить «В бою» (Combat), так как по нашей задумке, подкрепление уже знает, что их ждет контакт с противником.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Кстати, в триггеры и вейпоинты мы можем добавлять эффекты, в частности — можно включить музыку в момент высадки подкрепления. Для этого, надо войти в соответствующий вейпоинт, нажать EFFECTS (Эффекты) внизу и выбрать трек. Кроме того, можно добавить кое-какого текста. Давайте сделаем это!
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Окей! Теперь добавим условие, которое окончит миссию, когда подкрепление будет уничтожено, а контратака — отбита. Для этого мы поставим триггер, который сработает, когда число юнитов в группе подкрепления будет равно нулю.
Часть 4. Победа.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Таким образом, когда количество юнитов группы Podkrep будет равно нулю — триггер сработает, и наступит финал миссии.
Ну что ж, мы задумали сюжет миссии, создали ее логику и последовательность событий, поставили обрабатывающие эти события триггеры и создали финальный триггер — который завершает миссию.
Наша группа выходит на позицию, атакует лагерь противника, отражает контратаку — понятно. Но это нам понятно, а для игрока необходимо поставить условие, ведь сюжет он будет воспринимать из поставленных задач и заметок в дневнике!
Редактор ArmA 3позволяет создавать брифинги относительно легко и непринужденно. Относительно предыдущих игр серии, конечно — там для этого необходимо было осваивать html и скриптовый язык. Теперь — нет, для создания обычного задания это не обязательно. Теперь нам помогают в этом Модули! Они доступны по горячей клавише F7.
Модули устанавливаются на карте точно так же, двойным кликом. Некоторые из них можно и нужно синхронизировать клавишей F5с юнитами и другими модулями, как правило, эта логика интуитивно понятна.
В целях создания брифинга, нас интересует несколько модулей, все они находятся в категории Intel (Разведка, сведения).
Рядом поставим такой же модуль, но со статусом Succeeded (Выполнено успешно) и так же свяжем его с модулем первой задачи. «Вторым концом» мы в последствии свяжем этот модуль с триггером, который будет отслеживать, что игрок забрался на маяк. Этому модулю тоже желательно дать имя, чтобы его было видно на карте.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Как мы помним, о том, что отряд забрался на гору, нам сигнализирует команда в вейпоинте группы. К сожалению, синхронизировать модуль Succeeded с вейпоинтом нельзя, поэтому, создадим небольшой триггер диаметром 20 и с условием активации на присутствие Красных, а затем, свяжем его с нашим модулем.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Должно быть понятно — по умолчанию у нас включится статус Assigned, а статус Succeeded связан с триггером и включится только тогда, когда и он.
Вторая задача у нас состоит в том, чтобы зачистить базу от противника. Создадим еще один модуль Create Task, дадим ему имя и Task ID – Zadacha2. А в задании так и напишем — Attack base and kill em all. Эту задачу мы так же соединим с игроком и создадим для нее три модуля Set Task State (Установить статус задачи), синхронизировав их все, как и в прошлый раз, с основным.
[*]Первый модуль будет задавать статус Created (Создано), ведь активной в начале миссии должна быть только первая задача.
[/list]
[*]Второй модуль будет задавать статус Assigned(Назначено), и привязан он будет к триггеру на маяке — ведь когда группа дойдет до точки, первое задание отметится выполненным, а второе нужно сделать текущим.
[/list]
[*]Третий модуль со статусом Succeeded (Выполнено успешно) свяжем с триггером BAZA_CLEAR. Помните, это тот, который включается при полностью зачищенной базе и запускает подкрепление?
[/list]
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Наконец, третье задание — отразить контратаку.
[*]Created (Создано)
[/list]
[*]Assigned (Назначено) – синхронизируем на триггер BAZA_CLEAR, ведь третье задание становится активным тогда, когда выполняется второе.
[/list]
[*]Succeeded (Выполнено успешно) — на триггер END1.
[/list]
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Само собой, надо еще разок пробежать всю миссию и посмотреть, все ли срабатывает. Должно быть следующее.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Начало миссии — активна первая задача, остальные неактивны.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Группа достигла маяка — первая задача выполнена, вторая активна.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
База захвачена, готовимся к обороне.
На этом, можно сказать, что наша первая миссия практически готова — теперь не только мы сами знаем, что в ней надо делать, а любой, кто способен прочитать пару строчек немудреного текста в нашем брифинге.
Часть 6. Безобразие и единообразие.
Однако, наша миссия — это все еще не один окончательный файл, который можно выложить в интернет и показать миру, а заготовка. Сейчас наша миссия представляет собой папку в каталоге «Мои документы»/Arma 3 Alpha/missions – именно здесь хранятся все пользовательские заготовки, еще не запакованные для одиночной игры.
В папку с миссией нам надо положить картинку, которая будет отображаться в меню при выборе, а так же два файла — overview.html, в котором эта самая картинка должна быть вписана, а так же — briefing.html. Последний представляет собой рудимент со времен Operation Flashpoint, нам нужен он для того, чтобы брифинг отображался перед запуском миссии. Если его не будет — к сожалению, миссия будет запускаться сразу.
Итак, откроем папку со своей миссией и создадим в ней два пустых файла.
Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание
Как говорилось выше, briefing.html оставим пустым, а, вот, overview.html будет иметь следующее содержание.