Files
mod_items_base/docs/ru.md
T

6.5 KiB

Items Base — предметы, инвентарь и то, как их применять

Items Base даёт игре предметы и сумку, чтобы их носить. Мод определяет, что такое предмет (имя, картинка, цена, тип и что происходит при использовании), показывает панель Инвентарь, сохраняет то, что несёт игрок, и позволяет сценариям выдавать, забирать и проверять предметы. Торговля, готовка, крафт, экипировка и RPG-карты строятся на нём.

Панель инвентаря

Открывается иконкой сумки на панели инструментов. Щёлкните предмет слева, чтобы справа увидеть его подробности.

Использование лесного гриба в RPG Plus: гриб (×2) выбран в сетке, справа его подробности — метки «Целевое» и «Еда», описание «Восстанавливает 5 здоровья», действие action/heal со свойством heal 5, а после «Съесть» — список целей, где Герой с 10/24 здоровья.

  • Вкладки сверху фильтруют по типу (Еда, Ресурсы, Рецепты, Задания); поле поиска и список сортировки сужают сетку.
  • Подробности показывают имя, метки типа, цену, описание, размер стопки, id и собственные свойства предмета.
  • Кнопка действия названа самим предметом: Использовать, Съесть для еды, Применить к цели, Выучить рецепт — или тем глаголом, который предмет задаёт (гриб говорит Съесть из-за своего verb).
  • Направляемые предметы спрашивают, на кого их применить: выберите члена отряда или Отмена.
  • Выбросить уничтожает стопку после подтверждения; ключевые предметы выбросить нельзя.
  • В бою каждое использование или выбрасывание стоит активному персонажу одно очко действия; вне боя — бесплатно.

После выбора Героя: стопка уменьшилась до ×1, а панель сообщает «Применено: Лесной гриб → Герой».

Если действие невозможно — например, у цели уже полное здоровье, — предмет не тратится, а панель объясняет почему.

Описание предмета

Предметы — это JSON-файлы вида item в папке items/ мода, рядом с ними лежит картинка. Вот гриб с картинок выше (из RPG Demo):

{
  "Kind": "item",
  "Items": [
    {
      "Id": "rpg_demo/mushroom",
      "Name": "rpg_demo/item/mushroom/name",
      "Description": "rpg_demo/item/mushroom/desc",
      "Cost": 2,
      "Sprite": "rpg_demo/forest_mushroom",
      "ItemType": "Food,TargetUsed",
      "ItemAction": "action/heal",
      "heal": 5,
      "verb": "ui/inventory/verb_eat"
    }
  ]
}
  • Name, Description — ключи перевода, показываются в подробностях.
  • Cost — цена; её используют магазины.
  • Sprite — картинка items/rpg_demo/forest_mushroom.png.
  • ItemType — один или несколько типов через запятую: Food, Resource, Quest, Recipe, Used (применяется без цели), TargetUsed (применяется к члену отряда), CantDrop.
  • ItemAction — что делает применение. action/heal восстанавливает здоровье на значение heal предмета — не выше максимума и никогда не поднимает упавшего. Другие моды добавляют свои действия, например action/equip экипировки.
  • Любой другой ключ (heal, verb) — свойство предмета: действия его читают, а подробности его показывают. verb называет кнопку действия.

Предметы в сценариях

action item.add id=rpg_demo/mushroom count=2
when "item('rpg_demo/mushroom') >= 2" -> :enough
action item.remove id=rpg_demo/mushroom count=2
  • item.add кладёт предметы в сумку (сундук, подарок, подбор на карте); count по умолчанию равен 1.
  • item('id') сравнивает, сколько предметов у игрока; работает в when, в условиях ответов, в заданиях и событиях карты.
  • item.remove забирает предметы; если их меньше, отказывается — поэтому сначала проверьте через item('id').

Рецепты

Рецепты (вид recipe) перечисляют предметы Input и Output с количествами. Этот мод хранит, какие рецепты игрок уже знает; готовка и крафт пользуются ими.

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

  1. Предмет показывает id вместо имени. Добавьте его ключ Name в файлы locale мода.
  2. Нет кнопки действия. Предмету нужен тип Used или TargetUsed в ItemType и ItemAction.
  3. Применение ничего не делает, а предмет остаётся. Действие отказало: для лечения цель либо при полном здоровье, либо упала.
  4. item.add ничего не добавляет. Идентификатор неизвестен; сверьте Id в файле предмета.