Custom Game Modes(Пользовательские режимы игры)
Overview
Пользовательские режимы игры в shapez 2 реализуются путём размещения пользовательских файлов сценариев и предустановок параметров сценариев в формате JSON в структуре папок игры. Эти JSON-файлы определяют поведение сценария, цели, награды и затраты, используя те же структуры данных, что и встроенные сценарии, что позволяет игрокам создавать, редактировать и импортировать собственные испытания и наборы параметров.
Файлы сценариев — обычные JSON-файлы, которые игра читает из папки custom-scenarios в папке игры. Предустановки параметров сценариев (часто используемые как предустановки сложности/параметров для сценариев) — это JSON-файлы, помещаемые в папку custom-scenario-parameter-presets в папке игры. Встроенные в игру файлы сценариев и файлы предустановок параметров экспортируются в папку exported data при экспорте данных игры и могут служить шаблонами для пользовательского контента. Чтобы экспортировать данные из игры, откройте внутриигровую консоль (F1) и выполните команду debug.export-game-data. Это создаст папку basedata-
JSON-файлы scenario-parameter-presets следуют формату основного объекта для предустановок. Каждая предустановка содержит:
- Version string: строка версии формата (в настоящее время "1").
- UniqueId string: идентификатор, который игра использует для определения предустановки сложности.
- Title string: название предустановки сложности.
- Parameters object: фактические данные предустановки сложности. Известные ключи параметров включают ResearchShapeCostMultiplier (коэффициент цели в процентах), ChunkLimitMultiplier (коэффициент ограничения платформы в процентах) и BlueprintCostMultiplier (коэффициент стоимости копирования/вставки в процентах).
JSON-сценарии используют форматы объектов затрат и наград, согласованные с моделью данных игры. Объекты затрат включают строку $type (тип затрат, в настоящее время ResearchPointsCost) и число Amount (по умолчанию 0), задающее требуемые очки исследований. Объекты наград включают строку $type (возможные типы включают BuildingReward, IslandGroupReward, MechanicReward, WikiEntryReward, BlueprintCurrencyReward, ChunkLimitReward, ResearchPointsReward или ContentBundleReward) и дополнительные поля в зависимости от типа награды, такие как BuildingDefinitionGroupId, GroupId, MechanicId, EntryId, ContentBundleId и Amount.
В настоящее время игра не поддерживает загрузку пользовательских предустановок сложности как JSON-файлов напрямую через обычный механизм импорта. Тем не менее внутриигровые предустановки сложности и другие файлы сценариев доступны в папках difficulty-presets, scenarios и scenario-parameter-presets экспортированной папки basedata-
- Помещайте JSON-файлы пользовательских сценариев в папку custom-scenarios в папке игры.
- Помещайте JSON-файлы предустановок параметров пользовательских сценариев в папку custom-scenario-parameter-presets в папке игры.
- Используйте debug.export-game-data из внутриигровой консоли (F1), чтобы сгенерировать папки basedata-
, содержащие текущие JSON-файлы сценариев и предустановок игры, которые можно использовать как шаблоны. - Редактируйте JSON-файлы с помощью текстового редактора или редактора, поддерживающего JSON; следуйте форматам основного объекта, Costs и Rewards, используемым игрой, чтобы обеспечить совместимость.
- Учтите, что пользовательские предустановки сложности не могут быть загружены как отдельные JSON-предустановки обычным импортом игры; обращайтесь к экспортированным difficulty-presets, чтобы понять, как устроены внутриигровые предустановки.