Add mod documentation in seven languages
This commit is contained in:
1 parent
c9f1ce4cf1
commit
bf52bafd9a
17 files changed
+519
-8
No files matched your search
+73
@@ -0,0 +1,73 @@
|
||||
# Items Base — предметы, инвентарь и то, как их применять
|
||||
|
||||
Items Base даёт игре предметы и сумку, чтобы их носить. Мод определяет, что такое предмет (имя, картинка, цена, тип и что происходит при использовании), показывает панель **Инвентарь**, сохраняет то, что несёт игрок, и позволяет сценариям выдавать, забирать и проверять предметы. Торговля, готовка, крафт, экипировка и RPG-карты строятся на нём.
|
||||
|
||||
## Панель инвентаря
|
||||
|
||||
Открывается иконкой сумки на панели инструментов. Щёлкните предмет слева, чтобы справа увидеть его подробности.
|
||||
|
||||

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

|
||||
|
||||
Если действие невозможно — например, у цели уже полное здоровье, — предмет не тратится, а панель объясняет почему.
|
||||
|
||||
## Описание предмета
|
||||
|
||||
Предметы — это JSON-файлы вида `item` в папке `items/` мода, рядом с ними лежит картинка. Вот гриб с картинок выше (из RPG Demo):
|
||||
|
||||
```json
|
||||
{
|
||||
"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` называет кнопку действия.
|
||||
|
||||
## Предметы в сценариях
|
||||
|
||||
```scenario
|
||||
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` в файле предмета.
|
||||
Reference in new issue
Block a user