Files
mod_crafting/docs/ru.md
T

87 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Crafting — мастерские, превращающие материалы в предметы
Crafting добавляет станции, на которых игрок что-то мастерит: верстак, стол алхимика, швейный набор. Станция предлагает фиксированный список рецептов; каждый рецепт берёт из сумки одни предметы и выдаёт другие. Всё это данные — станция, рецепты и обычные предметы — а станцию открывает одна строка сценария. Работает в любой игре: из ответа в диалоге визуальной новеллы, щелчка по объекту или события на тайловой карте.
## В игре
В RPG Plus у деревенского колодца стоит верстак. Игрок собрал две серебристые шерсти и три живые смолы и выбирает плащ лесного стража:
![Окно верстака у колодца поверх карты деревни: слева три рецепта — Woodland salve, Warden mantle (выбран), Ward lantern; справа — картинка и описание плаща, INGREDIENTS · owned / needed: Silver wolf fur 2 / 2, Living resin 3 / 2; PRODUCTS: Warden mantle × 1; кнопка Craft; внизу — "Ingredients are consumed only when you craft. Esc closes."](assets/workbench.jpg)
- **Рецепты** слева; щёлкните по одному, чтобы рассмотреть.
- **Ингредиенты** показывают, сколько у вас есть и сколько нужно.
- **Изготовить** доступно, только когда всё на месте.
После **Изготовить**:
![Та же панель после изготовления: Silver wolf fur 0 / 2, Living resin 1 / 2 и надпись "Done. The product is in your bag."](assets/crafted.jpg)
Сумка до и после — шерсть ушла, осталась одна смола, плащ прибыл:
![Два ряда ячеек сумки. До: гриб, монеты ×25, смола ×3, волчья шерсть ×2. После: гриб, монеты ×25, смола, Warden mantle.](assets/bag-before-after.jpg)
Изготовление занимает время: игровые часы уходят вперёд на `Time` рецепта, в минутах — для плаща это 10. Сам плащ — экипировка (см. Equipment), носить его можно сразу.
## Станция и её рецепты
Верстак из RPG Plus:
```json
{
"Kind": "craft_station",
"Items": [
{
"Id": "rpg_plus/workbench",
"Name": "rpg_plus/station/name",
"Recipes": [ "rpg_plus/salve", "rpg_plus/mantle", "rpg_plus/lantern" ]
}
]
}
```
и один из его рецептов:
```json
{
"Kind": "recipe",
"Items": [
{
"Id": "rpg_plus/mantle",
"Name": "rpg_plus/recipe/mantle/name",
"Description": "rpg_plus/recipe/mantle/desc",
"Time": 10,
"Input": [ { "Id": "rpg_plus/wolf_pelt", "Count": 2 }, { "Id": "rpg_plus/resin", "Count": 2 } ],
"Output": [ { "Id": "rpg_plus/fur_mantle", "Count": 1 } ]
}
]
}
```
- Станция перечисляет рецепты по id, в порядке показа; рецептами можно делиться между станциями.
- `Input` берётся из сумки, `Output` в неё добавляется; `Time` — в игровых минутах.
- Имена и описания — ключи переводов вашего мода.
Учить эти рецепты заранее не нужно: станция предлагает все свои.
## Открытие станции
Событие верстака на карте деревни запускает сценарий:
```scenario
ptext "На верстаке лежит инструкция: «Не пробовать. Не нюхать.»" key=rpg_plus/woodland/workbench/1
action craft.open station=rpg_plus/workbench
end
```
Пока окно открыто, игрок не может ходить; Esc его закрывает.
## Сначала проверка, потом изменения
Изготовление проверяется целиком до того, как что-то меняется: каждый ингредиент и продукт должны существовать, количества должны быть положительными, а в сумке всего должно хватать. Если что-то не так — не берётся ничего. Созданные предметы — обычные предметы, поэтому они сохраняются вместе с сумкой.
## Если что-то пошло не так
1. **«Изготовить» серое.** Не хватает ингредиента; числа «есть / нужно» показывают, какого.
2. **Рецепта нет в окне.** Станция называет в `Recipes` id, на который не откликается ни один рецепт.
3. **Окно не открывается.** id в `station=` не совпадает ни с одной станцией; проверьте лог.