Сообщество Империал: Инструкция по работе с GroupFormations - Сообщество Империал

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

Инструкция по работе с GroupFormations
Как править имеющиеся или вводить новые построения
Тема создана: 10 Июнь 2017, 02:57 · Автор: nnn900Сообщений: 2 · Просмотров: 212

nnn900

    2 484

    5

    327

    3 566

    1

Дата: 10 Июнь 2017, 02:57

В этой инструкции я объясню, как делать из неживого живое :) работать с файлом групповых построений.

Эта инструкция актуальна как для Рим 2, так и для Аттилы. Да собственно и для Вархаммера.

С чем нам предстоит работать.
Идем по пути Steam/steamapps/common/Total War Rome II/assembly_kit/raw_data/EmpireDesignData
В этой папке лежит текстовый файл GroupFormations, это и есть наш исходник.
Копируем его для работы в любое место, чтобы вносимые изменения не были стерты при например обновлении, или проверке кэша А-kit-ом.

Файл формаций разделен на разделы:

Первыми в разделе LAND находятся дефолтные построения для игрока, они существуют для того, чтобы если ИИ не смог выбрать никакого построения войска всё же оказались размещенными.
Они нам почти не интересны.

Второй раздел GROUP FORMATIONS
В нем размещены построения, находящиеся во вкладке "Построения" боевого интерфейса.
Но только стандартные для всех фракций.
Для просмотра ссылки Зарегистрируйесь
Персональные фракционные построения, расположенные в верхней строчке (обведены красным) этого меню находятся в другом разделе.
Эти построения можно редактировать, но нельзя переименовывать и удалять.

Третий раздел, наиболее для нас интересный ARMY FORMATIONS
Он так же начинается с двух дефолтных построений для случаев, когда ИИ не может выбрать построение из существующих

Для просмотра ссылки Зарегистрируйесь
Как видим, они сделаны в 2 вариантах, первое используестя для войск атакующего, второе для ообороняющегося

Затем идут построения для сухопутных битв как такие, которые могут быть использованы всеми субкультурами, так и те, которые будут выбираться только для войск указанных для построения субкультур.
А так же фракционные построения Для просмотра ссылки Зарегистрируйесь
которые обведены красным кружком.
Построения для штурмов городов со стенами и без стен, битв на переправе, засадных битв, они в самом низу списка.
Ванильные построения из этого раздела так же нельзя удалять и переименовывать. Только редактировать.
Так же в этот раздел можно добавлять собственные построения.

Четвертый раздел NAVAL посвящен построениям для флота, там всё организовано аналогично построениям для сухопутных битв.

Теперь перейдем к тому, как устроено само построение.

Рассмотрим на примере моего оборонительного построения для Рима и этрусков
Для просмотра ссылки Зарегистрируйесь
Для просмотра ссылки Зарегистрируйесь
Запись состоит из шапки (обведено красным), где указывается:
1. Имя построения (может быть любым, отличным от имен ванильных построений).
2. Приоритет выбора этого построения ИИ.
3. То, что это построение будет выбираться для битв, когда ИИ является обороняющейся стороной Defend, если атакующей, то вместо него ставим Attack.
Так же построение может быть универсальным, для атаки и обороны, тогда в шапке должны быть обе эти записи.
4. Запись о том, что построение может использоваться как дефолтное при развертывании. Это нам по сути не нужно.
5. Последняя запись, это привязка построения к субкультуре.
Субкультур можно указывать сколько угодно, а можно не указывать, тогда построение будет доступно для любой субкультуры.

За шапкой идут блоки войск, из которых состоит построение.
Первый блок, обозначенный красной цифрой 1 называется всегда ContainerAbsolute, его номер 0, он может быть только один.
Все остальные блоки носят имя ContainerRelative, они на поле боя располагаются относительно этого первого блока.
Еще одна интересная для нас запись обозначена красной цифрой 6, это <GroupFormationBlock BlockId="5">
Наличие этого блока говорит о том, что все вышеуказанные блоки объединены в "стянутый блок", которые указываются как ...nedBlockId>0</SpannedBlockId> ...nedBlockId>1</SpannedBlockId> и т.д, таких записей должно быть столько, сколько блоков мы объединили. В данном случае с 0 по 4.
При наличии "стянутого блока" все последующие блоки уже будут размещаться относительно самого этого блока
Для просмотра ссылки Зарегистрируйесь
Но стянутый блок делать не обязательно.
Закрывает формацию обведенная красным запись.

Теперь рассмотрим содержание самих блоков войск:
Для просмотра ссылки Зарегистрируйесь
Красными цифрами обозначено:

1. Приоритет блока. Цифровое значение в данном случае, это пропорция, исходя из которой войска указанных классов попадают в эту группу.
А так же это пропорциональное соотношение классов войск указанных в группе к общему составу армии.
В зависимости от этих значений ИИ может выбирать, использовать данное построение, или другое, где соотношения войск более близки к указанным.
То есть в нашем примере в <GroupFormationBlock BlockId="0"> будут попадать юниты, имеющие класс inf_spr и inf_mel задающиеся в таблице land_units_tables
Для классов в их строчке тоже можно задавать приоритеты попадания в группу.
И "веса" medium, light, very_light заданные юнитам в main_units_tables, колонка weights.
Но вес указывать не обязательно, в отличие от класса, тогда запись будет выглядеть, как например в <GroupFormationBlock BlockId="3"> где указан только класс юнитов, входящих в группу.

Так же имеется специальный класс any (прочие), для того, чтобы если в построении какой то класс не указан, юниты имеющие неуказанный класс могли быть размещены.
В построении группа, имеющая этот класс используется ИИ в том числе, как группа резерва.

2. Эта запись указывает, как отряды попавшие в группу будут распологаться относительно друг друга.
Известны два варианта Line и Column
В нашем случае они расположатся в линию.

3. Здесь задаётся интервал между попавшими в группу отрядами.
В нашем случае это 5 "игрометров".

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

4. и 5. Это координаты отряда в зоне развертывания.
Точка X="0.0" Y="0.0" для нашего самого первого блока ContainerAbsolute находится в центре красной линии зоны предбоевого развёртывания войск, со стороны обращенной к зоне развёртывания противника.
По оси Х мы двигаем групу в право или в лево, по Y ближе или дальше от противника.

6. Эта запись предназначена для групп ContainerRelative, она указывает, относительно какого блока будет располагаться данный блок.
Если в построении присутствует стянутый блок, то для всех не вошедших в него групп координаты отсчитываются от войск стянутого блока (для чего указывается его номер), либо друг друга (тогда указываем номер группы, от которой ведется отсчет координат).
Если в составе армии не окажется войск для наполнения какого то блока ContainerRelative относительно которого размещен другой такой блок, то войска блока имеющего привязку к несуществующему блоку будут отправлены в резерв.
Если ИИ выберет построение, где нет войск для наполнения группы ContainerAbsolute остальные войска всё равно будут размещены от точки, где должен был размещаться этот блок.

Собственно это практически всё, что достаточно знать для работы с формациями.

Когда мы закончили правку файла формаций, просто копируем измененный файл обратно в EmpireDesignData далее идем в папку binaries и запускаем оттуда BOB.AssemblyKit
В появившемся окне ставим галочку напротив файла формаций (показано стрелочкой) и жмём старт (обведено красным)
Для просмотра ссылки Зарегистрируйесь
Через пару секунд наши новые формации готовы.
Идем в working_data и забираем наш GroupFormations.pack, переводим его с помощью ПФМ в в формат movie, кладем в data игры, запустив битву в кастоме или кампании и смотрим на результат правок.
Для того, чтобы внести изменения в полученный файл процедура повторяется с нуля (если забыли сохранить отдельно уже имеющий правки текстовый файл).

P.S. Как видите, всё довольно просто, никакого колдовства :001: .

    papeion

      1 893

      9

      170

      1 628

      0

    Дата: 10 Июнь 2017, 09:11

    Цитата

    Субкультур можно указывать сколько угодно

    Вопрос: указывать через запятую и без пробелов?

    Цитата

    переводим его с помощью ПФМ в в формат movie

    Полагаю, что переводить в формат movie необязательно. Это по желанию.

      nnn900

        2 484

        5

        327

        3 566

        1

      Дата: 10 Июнь 2017, 10:38

      Для просмотра ссылки Зарегистрируйесь papeion (10 Июнь 2017, 09:11):

      Цитата

      Субкультур можно указывать сколько угодно

      Вопрос: указывать через запятую и без пробелов?

      Нет, блоки с записью имен субкультур располагаться должны столбиком, без запятых.
      Так:
      <AiSupportedSubCulture>sc_rom_greek</AiSupportedSubCulture>
      <AiSupportedSubCulture>sc_rom_egyptian</AiSupportedSubCulture>
      <AiSupportedSubCulture>sc_rom_pontic</AiSupportedSubCulture>

      Для просмотра ссылки Зарегистрируйесь papeion (10 Июнь 2017, 09:11):

      Цитата

      переводим его с помощью ПФМ в в формат movie

      Полагаю, что переводить в формат movie необязательно. Это по желанию.

      Конечно, просто так удобнее, пока идет работа по отладке.
      Можно вставлять в пак файл мода.

        Введите ваши имя форумчанина и пароль:

        Введите Ваше имя  
        [Регистрация нового аккаунта]
        Введите Ваш пароль 
        [Восстановить пароль]

        Воспользуйтесь одной из социальных сетей для входа на форум:


        Внимание: Реклама отключена для зарегистрированных посетителей

          Стиль
             18 Окт 2017, 03:19
        © 2017 «Империал». Условия предоставления. Ответственность сторон. Декларация о Сотрудничестве. Лицензия зарегистрирована на: «Империал». Счётчики