Files
mod_crafting/docs/zh.md
T

3.6 KiB

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."。

  • 左侧是配方;点击即可查看。
  • 原料显示你有多少、需要多少。
  • 只有东西齐了,Craft 才可用。

按下 Craft 之后:

制作后的同一面板:Silver wolf fur 0 / 2、Living resin 1 / 2,以及 "Done. The product is in your bag."

制作前后的背包——狼皮没了,剩一份树脂,披风到手:

两行背包格。之前:蘑菇、金币 ×25、树脂 ×3、狼皮 ×2。之后:蘑菇、金币 ×25、树脂、Warden mantle。

制作需要时间:游戏时钟按配方的 Time 前进若干分钟——披风是 10 分钟。披风本身是装备(见 Equipment),做完马上就能穿。

站点与配方

RPG Plus 的工作台:

{
  "Kind": "craft_station",
  "Items": [
    {
      "Id": "rpg_plus/workbench",
      "Name": "rpg_plus/station/name",
      "Recipes": [ "rpg_plus/salve", "rpg_plus/mantle", "rpg_plus/lantern" ]
    }
  ]
}

以及其中一个配方:

{
  "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 以游戏分钟计。
  • 名称和描述是你 mod 的翻译键。

玩家不需要先学习这些配方:站点会给出它自己的全部配方。

打开站点

村庄地图上工作台的事件运行:

ptext "工作台上放着一份说明:“不要品尝。不要嗅闻。”" key=rpg_plus/woodland/workbench/1
action craft.open station=rpg_plus/workbench
end

窗口打开时玩家不能走动;Esc 关闭窗口。

设计上就安全

一次制作在改动任何东西之前会被完整检查:每种原料和成品都必须存在,数量必须为正,背包里的存货必须够用。任何一处不对,就什么都不拿。制作出的物品是普通物品,因此随背包一起存档。

出问题了?

  1. Craft 一直是灰色。 缺少原料;“已有 / 需要”的数字会告诉你缺哪个。
  2. 窗口里少了一个配方。 站点的 Recipes 里写了一个没有任何配方使用的 id。
  3. 窗口打不开。 station= 的 id 和任何站点的 id 都对不上;去看日志。