Files

6.8 KiB

Schema Tools — редактор данных и палитра команд

Schema Tools — это два окна для авторов, целиком построенные на описаниях, которые моды поставляют как схемы (см. мод Schemas):

  • Редактор данных правит сущности любого описанного вида — характеристики, классы, предметы, персонажей, боевые действия, магазины, рецепты — в формах;
  • палитра команд пишет строку сценария из формы, проверяет её и вставляет в редактор сценариев.

Ни одно окно не знает заранее ни вида, ни действия: в них появляется всё, что описали загруженные моды. Оба открываются из набора инструментов на панели инструментов игры, прямо во время игры.

Редактор данных

Выберите мод сверху, вид данных слева и запись посередине; форма справа. Вот железный меч из Classic RPG Rules в RPG Plus:

Редактор данных: мод classic_rpg_pack, слева виды (rpg_tileset 10, Stats 11, Archetypes 3, Equipment slots 3, Items 20, Characters 5, Battle actions 7, Shops 1, Crafting station 1, Recipe 3), посередине девять его предметов с выбранным Iron sword, справа форма: Id, Name и Description с текстом на семи языках, Cost 30, Picture, Item types TargetUsed, Item action action/equip, Equip type sword и черта на характеристике Attack.

Форма собирает поля нескольких модов в одну: Id, имя, описание, стоимость, картинку, типы предмета и действие предмета описывает Items Engine; Equip type, список Traits (характеристика и величина) и классы, которым можно носить вещь, добавляет Equipment. Вид, описанный двумя модами, остаётся одной формой.

  • Тексты (Name, Description) показываются как свой ключ перевода и строка на каждый язык мода; пишутся они в собственные файлы локализации мода.
  • Ссылки (характеристика, предмет, класс) — списки id, которые знает игра.
  • Списки вроде traits дают карточку на каждый элемент с его собственными полями.
  • Свойства, которых нет ни в одной схеме, сохраняются и показываются среди прочих полей как JSON.

Панель инструментов: Новый (Ctrl+N) добавляет запись со значениями по умолчанию из схемы, Копия (Ctrl+D) дублирует выбранную, Удалить сначала спрашивает, Отменить/Повторить (Ctrl+Z / Ctrl+Y или Ctrl+Shift+Z) шагают по изменениям, Сохранить (Ctrl+S) пишет только изменённые файлы, с переводами строк LF. Сразу после сохранения запущенная игра видит изменения: новый предмет можно выдать и надеть без перезапуска.

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

Палитра команд

Выберите действие или команду слева (поиск по словам вроде «урон», «предмет», «check»), заполните форму — и строка появится под ней:

Палитра с выбранным Change a stat for good: «Описано модом stats_base», Stat Strength · str, Value 2, Who пусто, строка «action stat.add stat=str value=2» и «Со строкой всё в порядке».

Строка проверяется по мере ввода, по тем же правилам, что у Validator. Опечатка в характеристике:

Та же форма с характеристикой strenght: строка «action stat.add stat=strenght value=2» и ошибка «'stat.add': 'stat' называет характеристику 'strenght', которую не определяет ни один загруженный мод».

Вставить кладёт строку в сценарий, открытый в редакторе сценариев, под курсор; Копировать — в буфер обмена. Сценарий провидицы в RPG Plus после вставки:

Редактор сценариев с помеченным как изменённый seer.scenario (seer *): строка 2 теперь «action stat.add stat=str value=2», между приветствием провидицы и проверкой удачи.

На диск ничего не пишется, пока автор не нажмёт Сохранить в редакторе сценариев. Текст сценария остаётся источником правды: палитра только помогает его писать.

Если что-то пошло не так

  1. Нет вида или действия. Ни один загруженный мод не описал его в схеме; страница Schemas объясняет, как добавить описание.
  2. Список модов пуст. Ни в один мод нельзя писать (можно только в моды, установленные папками; упакованные — нельзя).
  3. «Вставить» говорит, что сценарий не открыт. Сначала откройте его в редакторе сценариев или воспользуйтесь «Копировать».
  4. Поле — обычное текстовое поле. Его тип в схеме — text или неизвестен.