Исходные данные
Данные игры
Перед созданием патча самый полезный шаг обычно не угадывать названия полей, а сначала экспортировать текущий исходный JSON и посмотреть его.
Это помогает понять:
- называется ли тип
FeaturesилиProps - какие поля реально есть у объекта
- какие у них значения по умолчанию
- хранится ли текст в общей языковой таблице или прямо в многоязычных полях объекта
Что можно экспортировать
К типичным справочным данным относятся:
PlantFeaturesPlantPropsPlantAlmanacZombieFeaturesZombiePropsStoreCommodityFeaturesLevelModules- языковая таблица игры
lang
Если вы не уверены в названии типа, посмотрите названия категорий на странице Data или выполните:
gpNext.status()Способ 1: экспорт со страницы Data
Это самый прямой способ.
- Зайдите в игру и откройте панель GP-Next
- Переключитесь на страницу Data
- Найдите нужный тип, например
PlantProps - Экспортируйте текущие или исходные данные
Этот способ удобен, если:
- вы хотите увидеть полную структуру типа
- вам нужно сравнить исходные данные и текущие данные во время работы игры
- вы не хотите вводить команды вручную в консоли
Способ 2: экспорт Features / Props через API консоли
Если вам удобнее работать через скрипты, выполните в консоли разработчика:
await gpNext.exportJson('PlantProps')Эта команда экспортирует текущий runtime-вариант PlantProps.
Если нужны исходные данные, передайте true вторым аргументом:
await gpNext.exportJson('PlantProps', true)Параметры
- первый параметр
type: имя типа, напримерPlantFeaturesилиPlantProps - второй параметр
useOriginal:trueдля исходных данных,falseдля текущих runtime-данных - третий параметр
autoDownload:trueоткрывает диалог сохранения,falseвыводит результат в консоль
Примеры
Экспорт исходных характеристик растений:
await gpNext.exportJson('PlantFeatures', true)Экспорт текущих характеристик зомби с выводом в консоль:
await gpNext.exportJson('ZombieProps', false, false)Способ 3: экспорт языковой таблицы
Общую языковую таблицу игры тоже можно экспортировать напрямую.
await gpNext.exportLang()Если нужна исходная языковая таблица:
await gpNext.exportLang(true)Это полезно, если вы хотите:
- найти исходный ключ уже существующего текста
- проверить, правильно ли применился языковой пакет
- использовать текущую таблицу как основу для нового языка
Как понять, что именно экспортировать
Можно отталкиваться от того, что вы хотите изменить:
- изменение имен, порядка или имен ресурсов карточек: смотрите
Features - изменение HP, урона, перезарядки или стоимости солнца: смотрите
Props - изменение описаний, тегов или текста альманаха: смотрите
Almanac - изменение товаров магазина: смотрите
StoreCommodityFeatures - изменение глобального текста интерфейса: смотрите языковую таблицу
Если вы все еще сомневаетесь, самый надежный вариант - экспортировать оба связанных типа и сравнить их.
Что делать дальше
После экспорта JSON обычно порядок работы такой:
- найти нужный объект и поле в экспортированном файле
- сверить это поле со страницей Типы и поля
- затем написать
pack.jsonи ваши патч-файлы
Если вы уже готовы собирать пакет, переходите к:
