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

5. Персонажи и группы в Game Master

К оглавлению руководства

Зададим названия и роли персонажей, добавим их в каталог Game Master и проверим в игре. Затем соберём из готовых персонажей группу и проверим её состав.

Таблица переводов хранит варианты текста для разных языков. Создадим одну таблицу для персонажей и групп аддона UF Shooting Star.

Первой записью в таблице станет название связиста: «Сержант связи» и Communications Sergeant. Игра выберет нужный вариант в зависимости от языка игрока.

В главном окне Workbench нажмите String Editor в разделе Quick Launch.

В главном окне Workbench стрелкой отмечена кнопка String Editor.
Открытие редактора переводов.Открыть оригинал изображения

Выберите File → New.

В меню File редактора String Editor выбран пункт New.
Создание таблицы переводов.Открыть оригинал изображения

В окне сохранения откройте свой аддон. Кнопкой New Folder создайте папку Language и перейдите в неё. В поле File name введите tss_localization и нажмите OK. Здесь tss — префикс нашего аддона; для своей миссии используйте выбранный вами префикс.

В окне Create string table выбрана папка Language аддона и введено имя tss_localization.
Таблица Language/tss_localization.st.Открыть оригинал изображения

В следующем окне выберите CustomStringTableItem.

В окне выбора класса строки отмечен CustomStringTableItem.
Тип строки таблицы переводов.Открыть оригинал изображения

Каждой строке таблицы нужен ключ — уникальное обозначение, по которому игра найдёт её переводы. В поле Insert введите TSS-Characters_CommsSergeant без # и нажмите кнопку Insert.

Выберите добавленную строку слева и заполните поля справа:

  • Target En UsCommunications Sergeant.
  • Translated Texts → Target Ru RuСержант связи.
В String Editor добавлена строка TSS-Characters_CommsSergeant; Target En Us заполнен, поле Target Ru Ru находится ниже в Translated Texts.
Добавление названия связиста.Открыть оригинал изображения

Таким же способом добавьте строку для командира с ключом TSS-Characters_DetachmentCommander и заполните переводы:

  • Target En UsDetachment Commander.
  • Target Ru RuКомандир отряда.
В таблицу переводов добавлена строка TSS-Characters_DetachmentCommander с английским названием Detachment Commander.
Название командира в общей таблице аддона.Открыть оригинал изображения

Нажмите Ctrl+S, чтобы сохранить таблицу. Затем выберите Table → Build Runtime Table (Ctrl+B). Редактор создаст файлы переводов для игры. После каждого изменения текста сохраняйте таблицу и повторяйте сборку.

В меню Table выбран пункт Build Runtime Table с сочетанием Ctrl+B.
Создание файлов переводов для игры.Открыть оригинал изображения

Чтобы игра загрузила переводы, подключим таблицу в настройках аддона. В главном окне Workbench откройте File → Project Settings. В поле Project выберите свой аддон, а в ConfigurationPC.

  1. Раскройте Widget Manager Settings → String Tables и нажмите +.
  2. Откройте новую запись. У поля String Table Source нажмите и выберите Language/tss_localization.st из своего аддона.
  3. В списке Languages этой записи добавьте английский и русский языки. Для каждого заполните Code и укажите в String Table Runtime соответствующий файл переводов:
CodeString Table Runtime
en_usLanguage/tss_localization.en_us.conf
ru_ruLanguage/tss_localization.ru_ru.conf

Если эти записи уже заполнены, добавлять их повторно не нужно. Нажмите OK.

В Project Settings в списке Widget Manager Settings → String Tables добавлена Language/tss_localization.st.
Таблица переводов подключена к аддону.Открыть оригинал изображения

Название и роль персонажа задаются в разделе SCR_EditableCharacterComponent → Visualization → UI Info:

  • Name — название персонажа.
  • Authored Labels — метки персонажа, в том числе его роль.

Откройте TSS_Character_US_GB_CommsSergeant.et через Edit Prefab и выберите персонажа. В поиске компонентов введите edita, выберите SCR_EditableCharacterComponent и раскройте Visualization → UI Info.

В списке Authored Labels замените ROLE_RIFLEMAN на ROLE_RADIOOPERATOR. Эта метка обозначает связиста в игровом редакторе.

В SCR_EditableCharacterComponent раскрыты UI Info и Authored Labels; для связиста выбрана метка ROLE_RADIOOPERATOR.
Настройка роли связиста.Открыть оригинал изображения

В Name пока указано #AR-Role_Rifleman — ссылка на игровое название «Стрелок». Замените её на #TSS-Characters_CommsSergeant.

В этом поле перед ключом ставится #: так игра отличает ссылку на перевод от обычного текста. Сам ключ после # должен точно совпадать с Id строки в String Editor.

В поле Name префаба сержанта связи указано #TSS-Characters_CommsSergeant.
Ссылка на название из таблицы переводов.Открыть оригинал изображения

Сохраните префаб нажатием Ctrl+S.

Откройте TSS_Character_US_GB_DetachmentCommander.et через Edit Prefab, выберите персонажа и раскройте тот же раздел SCR_EditableCharacterComponent → Visualization → UI Info:

  • В Name укажите #TSS-Characters_DetachmentCommander.
  • В Authored Labels замените ROLE_RIFLEMAN на ROLE_LEADER.
В UI Info командира указаны #TSS-Characters_DetachmentCommander и метка ROLE_LEADER.
Название и роль командира в игровом редакторе.Открыть оригинал изображения

Сохраните префаб нажатием Ctrl+S.

Если вместо названия отображается ключ с #, проверьте, совпадает ли он с Id строки, созданы ли файлы переводов и подключена ли таблица к аддону. Для загрузки новой таблицы может потребоваться перезапуск Workbench.

Чтобы находить и размещать бойцов через Game Master, добавим их в каталог фракции США.

Для каждого префаба персонажа нужна отдельная запись каталога. В ней указываются файл префаба и настройки его доступности в игровом редакторе.

В Resource Browser выберите проект ArmaReforger и откройте папку Configs/EntityCatalog/US. Щёлкните правой кнопкой мыши по Characters_EntityCatalog_US.conf и выберите Override in → ваш аддон.

Для Characters_EntityCatalog_US.conf выбрана команда Override in с выбором аддона.
Оверрайд каталога персонажей США.Открыть оригинал изображения

Здесь нужен оверрайд: мы дополняем каталог, который игра уже использует. Поэтому имя Characters_EntityCatalog_US.conf сохраняем без префикса TSS_.

Перейдите в папку Configs/EntityCatalog/US своего аддона и двойным щелчком откройте Characters_EntityCatalog_US.conf. В списке Entity Entry List найдите запись Character_US_SF_Sapper_S.et, щёлкните по ней правой кнопкой мыши и выберите Duplicate.

В контекстном меню записи Character_US_SF_Sapper_S.et выбрана команда Duplicate.
Копирование готовой записи каталога.Открыть оригинал изображения

Команда копирует только запись каталога; новый файл префаба при этом не создаётся. В полученной записи укажем уже подготовленного связиста.

Раскройте добавленную запись. В Resource Browser откройте папку Green Berets своего аддона и перетащите TSS_Character_US_GB_CommsSergeant.et в поле Entity Prefab.

Префаб персонажа перетаскивают из Resource Browser в поле Entity Prefab записи каталога.
Назначение префаба. На скриншоте показан заместитель командира; мы добавляем связиста.Открыть оригинал изображения

Вместе с записью скопированы настройки Entity Data List для игрового редактора. Для наших бойцов подходят те же значения.

Скопируйте полученную запись командой Duplicate. В копии замените значение Entity Prefab на TSS_Character_US_GB_DetachmentCommander.et. Теперь в каталоге есть две отдельные записи: для связиста и для командира.

В каталоге добавлены префабы персонажей миссии UF Shooting Star.
Полный набор бойцов примера миссии. На этом этапе у нас добавлены двое.Открыть оригинал изображения

Остальных бойцов добавляйте так же, по мере готовности их префабов. В BaseLoadout и ODA_Base собраны общие настройки для персонажей разных должностей; сами эти префабы в каталог не добавляем.

Сохраните каталог нажатием Ctrl+S.

Откройте в World Editor мир своей миссии и нажмите зелёную кнопку запуска на верхней панели.

В World Editor открыт мир миссии; стрелкой отмечена зелёная кнопка запуска.
Запуск миссии для проверки персонажей.Открыть оригинал изображения

После запуска миссии нажимайте Play в самом лобби, пока не начнётся игра. Затем нажмите Y, чтобы открыть Game Master.

U открывает и закрывает лобби, а Y — Game Master.

В Game Master нажмите Tab, чтобы открыть Entity Browser — каталог объектов для размещения. В фильтрах справа выберите фракцию US и тип Character.

Найдите обоих бойцов через поле Search, вводя их названия: «Сержант связи» и «Командир отряда». Если игра работает на английском языке, ищите Communications Sergeant и Detachment Commander.

В Entity Browser выбрана фракция US; среди персонажей видны Communications Sergeant и Detachment Commander.
Персонажи примера миссии в игровом каталоге.Открыть оригинал изображения

Надпись PLACE HOLDER вместо миниатюры означает, что для префаба ещё не подготовлено изображение. Выбрать такую карточку и разместить бойца можно обычным способом.

Если бойца нет в списке, проверьте его запись в каталоге персонажей. Если вместо названия виден ключ с #, проверьте ссылку на перевод.

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

В Game Master на местности размещены персонажи миссии UF Shooting Star.
Проверка внешнего вида. На скриншоте весь набор примера; нам пока нужны связист и командир.Открыть оригинал изображения

Осмотрите обоих персонажей и сверьте их снаряжение с настройками префабов. У связиста должны быть ранцевая радиостанция, кепка и куртка с закатанными рукавами, а у командира — M72A3 и бинокль.

Префаб группы объединяет префабы персонажей и позволяет разместить всех бойцов сразу. Создадим группу «Альфа» (Split Team Alpha) — первую половину отряда ODA из миссии UF Shooting Star.

Остановите тестовый запуск игры и вернитесь в World Editor.

В проекте ArmaReforger откройте папку Prefabs/Groups/BLUFOR. Щёлкните правой кнопкой мыши по Group_US_Base.et и выберите Inherit in → ваш аддон.

В контекстном меню Group_US_Base.et открыта команда Inherit in и выбран аддон UFShootingStar.
Создание префаба на основе базовой группы фракции США.Открыть оригинал изображения

Введите имя TSS_Group_US_GB_SplitTeamAlpha и нажмите OK.

В окне Create inherited file введено имя TSS_Group_US_GB_SplitTeamAlpha.
Название префаба группы.Открыть оригинал изображения

В своём аддоне откройте папку Prefabs/Groups/BLUFOR. Щёлкните правой кнопкой мыши по свободному месту в Resource Browser, создайте папку Green Berets и перетащите в неё новый префаб.

В Prefabs/Groups/BLUFOR аддона создаётся папка Green Berets.
Папка для префабов групп «зелёных беретов».Открыть оригинал изображения

Откройте Language/tss_localization.st в String Editor. Добавьте строку с ключом TSS-Groups_SplitTeamAlpha:

  • Target En UsSplit Team Alpha.
  • Target Ru RuГруппа «Альфа».

Сохраните таблицу нажатием Ctrl+S, затем нажмите Ctrl+B, чтобы обновить файлы переводов для игры.

В String Editor добавлена строка TSS-Groups_SplitTeamAlpha с английским названием Split Team Alpha.
Название группы в таблице переводов.Открыть оригинал изображения

Откройте TSS_Group_US_GB_SplitTeamAlpha.et через Edit Prefab и выберите объект группы. В поиске компонентов введите edita, выберите SCR_EditableGroupComponent и раскройте Visualization → UI Info.

В поле Name укажите #TSS-Groups_SplitTeamAlpha. В списке Authored Labels нажмите + и добавьте метку GROUPSIZE_LARGE, как в примере. Эта метка задаёт категорию размера группы в игровом редакторе.

В SCR_EditableGroupComponent в поле Name указан ключ #TSS-Groups_SplitTeamAlpha, а в Authored Labels добавлена метка GROUPSIZE_LARGE.
Название и категория группы в игровом редакторе.Открыть оригинал изображения

Ниже включите параметр Use UI Info Name, чтобы для группы использовалось название из поля Name. Затем в разделе Military Symbol задайте параметры условного знака:

  • IdentityBLUFOR.
  • DimensionLAND.
  • Icons — отметьте RECON.

С этими настройками группа получит условный знак наземной разведки стороны BLUFOR.

Включён параметр Use UI Info Name. В разделе Military Symbol выбраны BLUFOR, LAND и RECON.
Настройка условного знака группы.Открыть оригинал изображения

В группе «Альфа» шесть бойцов. В предыдущих главах мы создали префабы командира и связиста. В готовой миссии есть ещё четыре специалиста: сержант по оперативным вопросам, пулемётчик, инженер и медик. Их префабы созданы по аналогии с этими двумя персонажами.

Для полного состава группы «Альфа» подготовьте ещё четыре префаба персонажей с именами из таблицы ниже. Подберите снаряжение для каждой должности, затем добавьте бойцов в группу.

Очистите поле поиска компонентов и выберите сам объект SCR_AIGroup. Раскройте Group Members → Unit Prefab Slots и с помощью кнопки + добавьте шесть строк.

Откройте в своём аддоне папку Prefabs/Characters/Factions/BLUFOR/US_Army/Green Berets и перетащите из неё префабы в строки списка в следующем порядке:

СтрокаПрефаб
0TSS_Character_US_GB_DetachmentCommander.et
1TSS_Character_US_GB_OperationsSergeant.et
2TSS_Character_US_GB_WeaponsSergeant_M249.et
3TSS_Character_US_GB_EngineerSergeant.et
4TSS_Character_US_GB_MedicalSergeant.et
5TSS_Character_US_GB_CommsSergeant.et

Каждая строка соответствует одному бойцу. Если состав вашего подразделения отличается от примера, укажите префабы нужных вам персонажей.

В списке Unit Prefab Slots объекта SCR_AIGroup указаны шесть префабов персонажей группы Split Team Alpha.
Состав группы «Альфа».Открыть оригинал изображения

В поле поиска компонентов введите format и выберите AIFormationComponent. В поле Default Formation укажите line, как в примере.

В компоненте AIFormationComponent для поля Default Formation указано значение line.
Построение группы по умолчанию.Открыть оригинал изображения

Сохраните префаб группы нажатием Ctrl+S.

Чтобы группа появилась в Game Master, добавим её префаб в каталог фракции США.

В проекте ArmaReforger откройте папку Configs/EntityCatalog/US. Щёлкните правой кнопкой мыши по Groups_EntityCatalog_US.conf и выберите Override in → ваш аддон.

В контекстном меню Groups_EntityCatalog_US.conf открыта команда Override in и выбран аддон UFShootingStar.
Создание оверрайда каталога групп фракции США.Открыть оригинал изображения

В своём аддоне откройте этот файл двойным щелчком. В списке Entity Entry List найдите запись Group_US_EngineerTeam.et, щёлкните по ней правой кнопкой мыши и выберите Duplicate.

В каталоге Groups_EntityCatalog_US.conf для записи Group_US_EngineerTeam.et выбрана команда Duplicate.
Копирование готовой записи группы.Открыть оригинал изображения

Раскройте созданную копию записи. Откройте в своём аддоне папку Prefabs/Groups/BLUFOR/Green Berets и перетащите из неё TSS_Group_US_GB_SplitTeamAlpha.et в поле Entity Prefab этой записи.

Префаб группы перетаскивают из Resource Browser в поле Entity Prefab.
Выбор префаба группы. На скриншоте показана Company HQ, но в нашем случае нужно выбрать группу «Альфа».Открыть оригинал изображения

Настройки списка Entity Data List скопированы вместе с записью. Сохраните каталог нажатием Ctrl+S.

Запустите миссию и откройте Game Master. Нажмите Tab, чтобы открыть Entity Browser. Выберите фракцию US и тип Group. Если после проверки персонажей остался включён фильтр Character, отключите его.

Найдите группу по её названию в поле Search. Для примера введите Альфа или Alpha — в зависимости от языка игры.

В Entity Browser видны группы Company HQ, Split Team Alpha и Split Team Bravo.
Группы миссии UF Shooting Star в игровом каталоге.Открыть оригинал изображения

Выберите свою группу и щёлкните левой кнопкой мыши по земле, чтобы разместить её. Должны появиться все бойцы, указанные в списке Unit Prefab Slots; в группе «Альфа» их шесть. Проверьте их состав и снаряжение. Если кого-то не хватает, проверьте список префабов группы.

В следующей главе разместим готовые группы в миссии и настроим игровые слоты.