Руководство по моддингу

Запустите редактор, открыв TheScouringEditor.exe
Он автоматически ищет файлы игры (расположенные в папке ‘Media’), но вы можете изменить этот путь позже.
Важно: Плагин Scouring для Notepad++ работает только с файлами внутри этой директории!
Создайте новый мод для Steam Workshop:
В моде для The Scouring вы можете создать:
Чтобы создать мод, изменяющий юнитов, здания и/или другие игровые объекты, выберите Create Game Mod Files (Создать файлы игрового мода):
Примечание: Опции скриптинга/ИИ объяснены в гайде по скриптингу.
Это создаст подпапки в папке мода и специальный файл assets.xml.
Чтобы создать мод для юнита, нажмите ПКМ (правой кнопкой мыши) на папку units и выберите Create XML File (Создать XML-файл):
Примечание: Все ассеты в The Scouring представлены XML-файлами. XML-файл — это текстовый файл, который можно редактировать в любой программе, но мы рекомендуем Notepad++ с плагином The Scouring, который включен в пакет Dev Tools.
Введите имя файла (которое также является его ID).
Примечание: Имя файла не совпадает с внутриигровым названием. Внутриигровое имя задается отдельно (об этом позже).
Важно: Все ID (имена файлов) должны быть уникальными. Не используйте ID оригинальных файлов игры.
Новый XML-файл откроется автоматически:
Рекомендуется использовать Notepad++ в качестве редактора XML. Вы можете найти его в папке 3rdParty:
Примечание: Можно использовать другую/более новую версию Notepad++, но обязательно скопируйте папку CombinePlugin (плагин The Scouring для XML).
Одна из ключевых особенностей The Scouring — наследование XML.
Оно позволяет не копировать все атрибуты ассета, который вы хотите изменить, а указать только нужные изменения.
Пример: мод, изменяющий количество HP пехотинца людей (Human Footman) на «777».
Начните с указания human_footman в поле "_parent/File".
Это стандартный XML-файл в папке units:
Дважды кликните на "_parent", чтобы превратить его в кнопку:
Примечание: Это эффект плагина CombinePlugins. Файл должен находиться в папке Media, чтобы плагин работал.
Нажмите кнопку parent, чтобы открыть родительский файл (human_footman.xml):
Как видите, там много атрибутов. Но нам нужно изменить только Unit/Stats/Hitpoints.
Теперь дважды кликните на Unit в нашем файле me_new_unit.xml, затем дважды кликните Stats, чтобы добавить дочерний узел:
Результат должен быть таким:
Примечание: Можно также просто ввести это вручную.
Дважды кликните Stats и выберите Hitpoints:
Введите количество HP и сохраните файл:
Важно: База данных XML, которую использует плагин Scouring для отображения возможных атрибутов и узлов, может устареть.
Теперь The Scouring будет воспринимать my_new_unit.xml как полную копию human_footman.xml, но с переопределенным атрибутом Hitpoints:
Таким же образом можно вносить любые изменения. Ориентируйтесь на стандартные файлы из Dev Tools.
Важно: Старайтесь максимально использовать наследование. Так при обновлении оригинального контента ваш мод тоже будет обновлен (после повторной публикации).
Теперь нужно указать игре, что мы хотим «заменить» оригинальный human_footman.xml, когда наш мод активен. Для этого откройте assets.xml:
И заполните его так:
Важно: Добавляйте записи в assets.xml только если хотите «заменить» стандартные файлы игры (юниты, здания). Например, если вы добавляете новый мод расы с уникальными юнитами или героями, или создаете карту с явным размещением своих объектов — вам, скорее всего, не нужно заменять стандартные ассеты.
Теперь можно протестировать изменения в Dev-версии игры.
Запустите её через TheScouringRelease.exe.
Выберите карту и мод:
Важно: Можно просматривать и тестировать файлы из локальных модов (с пометкой unpacked). Загружайте мод в Steam Workshop только после локального тестирования.
После запуска игры вы увидите, что у Мечника (локализованное название human_footman.xml) теперь 777 HP:

Публикация в Steam Workshop

Чтобы опубликовать мод в Steam Workshop, выберите Publish Mod (Опубликовать мод):
Сгенерируйте файл предпросмотра и нажмите Publish (Опубликовать):

Публикация на XGM

Этот блок - примечание редакции статьи
  1. Откройте ваш мод в проводнике (Open containing folder)
  2. Поднимитесь на уровень вверх
  3. ПКМ по папке моду - отправить - zip архив
  4. Загружаем его как "Модификация": xgm.guru/resource/add/the-scouring/1215
Плагин The Scouring для Notepad++ предоставляет полезные функции:
  • Format XML — форматирует XML-файл в стандартном для The Scouring стиле для удобного отслеживания изменений.
  • Comment/Uncomment XML — удобный способ временно закомментировать части XML.
  • Open Media File — просмотр любого файла внутри папки Media.
  • Goto Lua Function — полезно для модификации скриптов (подробнее: docs.google.com/document/d/1uWKqYU6gib39BjRshnKx7KVWjPyvsnWYoa9N...).
  • Goto XML Node — быстрая навигация по большим XML-файлам.
  • Numerate XML Nodes — The Scouring использует специальную схему XML, где узлы с одинаковыми именами оканчиваются на __[индекс]. Эта функция приводит файлы к стандарту.
The Scouring использует специальные теги наследования XML:
  • <_parent File="filename" />
    Как уже показано, делает XML-файл «копией» другого файла.
  • _inherit="no"
    Запрещает наследование узла. Родительский узел игнорируется.
    Пример: orc_altar.xml
Он наследуется от human_church.xml, но узел Visuals имеет _inherit="no", поэтому родительский Visuals игнорируется:
  • _inherit="remove"
    Узел не наследуется, а полностью удаляется.
  • _inherit="add"
    Узел добавляется к структуре родительского XML.
  • parent[имя атрибута]="[значение атрибута]"
    Позволяет переопределить конкретный узел родительского XML-файла, идентифицируемый по атрибуту.
В этом примере узел Sounds копируется из шаблона Sounds_HumanVoice, но два подузла удаляются:
The Scouring также использует концепцию XML-шаблонов. Это прототипы XML-узлов, которые могут быть определены в самом файле или в общем файле. Например, общий пресет для освещения здания:
Dev-версия The Scouring предоставляет дополнительные инструменты:

Горячие клавиши разработчика

Нажмите TAB, чтобы вывести список доступных горячих клавиш:
Горячие клавиши активируются через CTRL + [клавиша].
Самые полезные:
  • CTRL-C — свободная камера (управление на NUMPAD).
  • CTRL-F — заморозить игру.
  • CTRL-H — добавить все типы предметов в инвентарь героя.
  • CTRL-K — повысить уровень выбранных юнитов.
  • CTRL-M — установить определенное время суток.
  • CTRL-N — загрузить конкретный уровень.
  • CTRL-R — перезагрузить ресурсы. Ключевая функция Dev-версии: позволяет применять изменения XML «на лету».
  • CTRL-T — изменить скорость игры.
  • CTRL-U — добавить золото и древесину всем игрокам.
  • CTRL-V — добавить юнитов (для тестирования новых).
  • CTRL-X — отключить звук.
  • CTRL-Y — удалить выбранных юнитов.
  • F8 — перезагрузить уровень (сохраняет позиции юнитов и зданий, но загружает новую версию карты. Может привести к багам).

Триггеры разработчика

Нажмите ~, затем CTRL-D, чтобы включить все Dev-триггеры.
Перемещайтесь по списку стрелками Вверх/Вниз, активируйте — Влево/Вправо.
Важно: Состояние триггеров сохраняется после закрытия Dev-версии!
Самые полезные триггеры:
  • Disable AI — отключает все скрипты ИИ (боты, схватки, сценарии). Дает контроль над вражескими и нейтральными юнитами.
  • Disable Cloaking — убирает туман войны.
  • Disable Damage — юниты не наносят урон.
  • Disable Food Consumption — отключает потребление пищи.
  • Disable Mana Consumption — отключает расход маны.
  • Disable Requirements — игнорирует требования для строительства/исследований. Также отключает проверку уровня способностей.
  • Dont Stop After Defeat — позволяет продолжить игру после поражения.
  • Game Grid — отображает игровую сетку.
  • Instant Construction — мгновенное строительство зданий.
  • Player Stats — статистика игрока.
  • Restart After Defeat — автоматический рестарт после поражения.
  • Run Self AI — запускает ИИ для текущего игрока.
  • Show Enemy Vision — показывает зону видимости врагов (но не дает вам её).
  • Show Underground Units — отображает подземных юнитов.
  • Team Stats — статистика команды.
Важно: Dev-версия The Scouring имеет дополнительный функционал, но не поддерживает мультиплеер.
Подсказка: При спавне юнитов через меню CTRL-V, юниты из локальных модов будут помечены как unpacked:
Вы можете изменять их XML-файлы и нажимать CTRL-R, чтобы увидеть изменения в игре!
Также: если вы спавните юнита с владельцем enemy или neutral, потребуется активировать Disable AI для управления.
Если на карте нет слота для указанного владельца, некоторые способности юнита будут недоступны: