Первая миссия по шагам
Здесь простая миссия собирается целиком и по порядку: аддон, мир, персонажи, группы, техника, зоны, маркеры, описание. В конце получится рабочая TvT-миссия на две стороны — без выбора спавнов и сложного мапинга, но её уже можно запустить и играть. Если нужен короткий список шагов без подробностей — он на странице Быстрый старт.
В примере: Cain (карта Колгуев), две стороны — США (Delta Force) и СССР, задача США — захватить советскую базу. Готовый результат опубликован в Workshop — ECHOLobby SupercoolMissions: его можно скачать и посмотреть, как всё собрано.
1. Аддон
Заголовок раздела «1. Аддон»В лаунчере Workbench создайте проект и отметьте EchoLobby в зависимостях. Без этого в Resource Browser не будет ни гейммода, ни зон, ни инструментов лобби.

Миссия — это подсцена над миром террейна: сам террейн вы не меняете, а всё своё кладёте в отдельный файл.
-
Найдите в Resource Browser мир нужного террейна, например
ArmaReforger/worlds/Cain/Cain.ent— это карта Колгуев, и откройте его в World Editor.
-
Create new World (Ctrl+N).

-
Выберите Sub-scene (of current world).

-
Сохраните подсцену в свой аддон — создайте в нём папку
worlds/и дайте файлу имя миссии.
Дальше всё складывается в эту подсцену.
3. Гейммод и AI-мир
Заголовок раздела «3. Гейммод и AI-мир»Поставьте в мир префаб Prefabs/MP/Modes/EH_GameMode_Lobby.et. На нём лежат все настройки лобби — см. Настройки гейммода; пока их можно не трогать.

Рядом поставьте Prefabs/AI/SCR_AIWorld.et или вариант для вашего террейна — например SCR_AIWorld_Cain.et. Без него группы не появятся в лобби.

4. Персонажи
Заголовок раздела «4. Персонажи»Слот в лобби — это персонаж, поставленный в мир. Проще всего взять ванильных, уже одетых и вооружённых, и продублировать их в свой аддон.
Персонажи фракции лежат в ArmaReforger/Prefabs/Characters/Factions/…, например BLUFOR/US_Army/GreenBerets/Suppressed.

Выделите нужные роли, правой кнопкой — Duplicate to → ваш аддон.

Дайте копиям свой префикс, чтобы не путать их с ванильными.


Сделать персонажа слотом
Заголовок раздела «Сделать персонажа слотом»Откройте префаб персонажа и нажмите Edit Prefab — он откроется в режиме редактирования префаба.

Добавьте компонент EH_LobbyCharacterComponent, включите Is Playable и впишите Name — название роли, которое игрок увидит в слоттинге.

Повторите для всех ролей обеих сторон.

Подробнее о полях — Группы и слоты.
5. Группы
Заголовок раздела «5. Группы»Группа — это SCR_AIGroup со списком персонажей. Возьмите базовую группу фракции (Group_US_Base.et) и Inherit in → ваш аддон: так группа унаследует настройки фракции, а вы поменяете только состав.

В унаследованной группе:
- в списке персонажей укажите свои префабы — порядок в списке задаёт порядок слотов в лобби;
- в категории Lobby заполните Group Name — название отряда в слоттинге.

Рекомендация: в AIFormationComponent поставьте Default Formation = Row. Тогда в редакторе персонажи стоят шеренгой, и группу удобно расставлять и осматривать.

То же самое сделайте для второй стороны.

6. Слои и расстановка
Заголовок раздела «6. Слои и расстановка»Всё своё лучше раскладывать по слоям — по слою на вид объектов для каждой стороны. Правой кнопкой по миссии в Hierarchy — Create layer.

Сделайте слой активным (двойным кликом) — новые объекты попадут именно в него.

Расставьте группы по миру.

Создайте слои под маркеры и технику, сделайте активным слой техники.

Расставьте технику.

Схема слоёв, которой придерживаются миссии ECHO: US_G — группы, US_M — маркеры, US_V — техника, US_Z — зоны, Mapping — объекты в мире. И так же для второй стороны.
7. Позывные
Заголовок раздела «7. Позывные»Позывной группы состоит из роты, взвода и отделения. Его задают каждой группе отдельно, одним из двух способов:
- в компоненте
SCR_CallsignGroupComponentгруппы — поля Company, Platoon и Squad Callsign Custom; - в ECHO Missions Tool на верхней панели World Editor: выделите группу, впишите те же три числа в поля Callsigns и нажмите Assign callsigns.

8. Имена сущностей и маркеры групп
Заголовок раздела «8. Имена сущностей и маркеры групп»Это уже делается сразу для всех групп стороны. Выделите их и откройте инструмент.

Нажмите Rename groups — группы получат имена сущностей по позывному, вида US_0_0_0. Затем сделайте активным слой маркеров и, не снимая выделения с групп, нажмите Spawn Marker.

Имена сущностей дальше нужны технике и спавнам, поэтому переименовывать группы лучше до всего остального.
9. Техника
Заголовок раздела «9. Техника»Закрепите машину за группой: поле Assigned Group Entity Name — имя сущности группы. Тогда техника отряда видна в слоттинге, а при выборе спавна переезжает вместе с группой.

Выделите технику и нажмите Spawn Marker — на карте появятся её значки.

Повторите шаги 6–9 для второй стороны.

10. Зоны
Заголовок раздела «10. Зоны»Все зоны — полилинии: поставьте префаб, выберите Vector Tool на верхней панели и, зажав Alt, кликайте по миру — каждый клик добавляет точку контура.
Фризтайм
Заголовок раздела «Фризтайм»Поставьте Prefabs/Zones/EH_Polyline_FreezeZone.et и обведите район старта стороны.

В EH_FreezeZoneComponent укажите Target Factions — свою сторону, Countdown Seconds — длительность фризтайма, при желании запретите стрельбу и технику внутри.

На той же сущности есть EH_MapOverlayComponent — это то, как зона выглядит на карте: заливка, штриховка, контур, кому и на каких этапах её видно.

Зона на карте
Заголовок раздела «Зона на карте»Чтобы просто нарисовать что-то на карте — например, базу противника как цель, — поставьте EH_Polyline_Zone.et и обведите район.

В EH_MapOverlayComponent задайте цвет заливки и контура и то, кому зона видна.

Граница района
Заголовок раздела «Граница района»Границу, за которую нельзя выходить, делает EH_Polyline_KillZone.et. Обведите весь район боевых действий и в EH_KillZoneComponent укажите обе стороны в Target Factions.

В её EH_MapOverlayComponent включите Fill Outside — тогда на карте затемнится всё, что снаружи района.

11. Маркеры задач
Заголовок раздела «11. Маркеры задач»Поставьте два Prefabs/Editor/MapMarker/MapMarkerDefault.et — по маркеру на сторону.

Иконки удобно взять из ванильного набора UI/Imagesets/Conflict/ConflictIconsSet.imageset: Task_Attack для атакующих и Task_Defend для обороны.

В EH_MapIconComponent укажите imageset в Icon Texture, имя иконки в Icon Name, подпись в Marker Text, свою сторону в Target Factions и этапы, на которых маркер видно.


Подробно: Иконки на карте.
12. Описание миссии
Заголовок раздела «12. Описание миссии»На гейммоде заполните список Mission Descriptions: общий раздел для всех и по разделу задач на каждую сторону — через Target Factions.

Подробно: Описание миссии.
13. Mission header
Заголовок раздела «13. Mission header»Последний шаг — файл миссии. Он задаёт название, автора и количество игроков, и именно его запускает сервер.
Создайте в аддоне папку Missions/, щёлкните в ней правой кнопкой и выберите Create Resource → Config file. В диалоге укажите класс SCR_MissionHeader.

Заполните поля: World — ваша подсцена, Name и Author — они попадут в шапку лобби, Game Mode и Player Count — подпись режима и число игроков. Имя файла обычно содержит число слотов, например helloworldmission_48.conf.

Поле Systems Config относится к восстановлению миссии после перезапуска сервера — эта возможность пока в разработке, см. Mission header.
14. Проверка
Заголовок раздела «14. Проверка»Запустите миссию и пройдите её этапы: ожидание, слоттинг, брифинг, игру.







Что должно совпасть: отряды и слоты на месте, техника видна в строке отряда, зоны и маркеры показываются нужной стороне на нужном этапе, фризтайм заканчивается. Как это выглядит целиком — Этапы миссии.
Перед выпуском миссии прогоните World Editor → Plugins → ECHO Mission Validator и исправьте всё, что помечено ERROR.
Смотрите также
Заголовок раздела «Смотрите также»- Этапы миссии — что увидят игроки
- Быстрый старт — то же самое коротко
- Справочник — все настройки по частям
- Частые ошибки
