Files
mod_scenario_studio/docs/zh.md
T

4.6 KiB
Raw Blame History

Scenario Studio — 游戏运行时调试与编辑剧本

Scenario Studio 是一个停靠在运行中游戏旁边的面板,会显示当前播放的是哪个剧本、屏幕上正停在哪一行。它可以暂停对话、逐行单步执行、停在断点上、挪动下一行、带着回滚的游戏状态重启剧本,还能当场修改剧本——并且立刻把改动呈现到游戏里。

它有两种模式:新手模式用简单的块面呈现剧情时刻;作者模式显示带行号的剧本文本。

打开方式

包含 Developer Tools 工具集的游戏(机制 Scenario Studio)工具栏上有一个工作室按钮——羽毛笔。启动参数 --studio 会在开局时直接打开面板。下面的截图来自 Cthangover 的厨房;编辑都写进了测试层,没有碰游戏自己的文件。

新手模式

厨房场景,右侧是新手模式下的工作室面板:场景 home_kitchen、剧本 home_kitchen_cooking、一个层徽标;「当前画面」下方是台词「新台词」和问题「一间布置成厨房的房间」;回答有「离开」(前往场景 home_vestibule)、「做饭」(动作 toggle_cooking_workbench)和「新回答」,每项都带「选择去向」和「编辑」;按钮「+ 在问题前加台词」和「+ 回答」;底部是「此修改影响」框(显示目标层)和「应用」。

现在标签页显示屏幕上的时刻:台词、问题和每个回答的去向。编辑修改文本,选择去向修改一个回答指向哪里(某个标签、另一个场景或结尾),+ 台词和**+ 回答往这个时刻里添加内容。每处修改都会在此修改影响**里显示将写入哪个模组或哪一层。

作者模式:暂停与断点

作者模式下的面板:传输栏上有「暂停」「单步」「继续」「资源」「重启」;home_kitchen 的剧本文本中,第 6 行——select「一间布置成厨房的房间」——标着红色断点和当前行的 ▶ 标记;下方是「第 9 行之后」,带「+ 台词」「+ 选项」「+ 前往场景」和目标层 my_studio。

  • 暂停让对话停在下一行之前;单步执行一行;继续照常往下走。
  • 在边栏点一下即可设置断点:对话会在那一行之前停下。
  • 把 ▶ 标记拖到另一行,就能让那一行成为下一行。
  • + 台词、+ 选项、+ 前往场景添加在当前行之后;编辑文本编辑整个剧本。

应用与重启

应用会写入改动并重启剧本。这里在问题前加了一行「新台词」;应用之后它已经显示在画面上:

应用后的面板:画面上是「新台词」,状态为「已应用到"my_studio",剧本已回滚并重启」。

重启提供几种选择:不带回滚地重跑剧本、带状态回滚重跑(标记、物品、时钟等都会回到剧本开始时的样子)、重进场景,或从当前标签继续。

检查状态

状态标签页:「可以修改数值来尝试其他分支」,时钟显示第 24 天 23:00。

状态标签页按归属分组显示游戏状态:时钟、正在进行的对话的变量、剧本引用到的任务、背包,以及哪些剧本已经运行过。变量、物品数量和任务状态都可以修改(按 Enter 写入游戏),以便尝试其他分支。场景列出当前场景的剧本,地图显示各场景及其间的通路(以及可以把新背景拖放到的位置),日志记录发生的事情:

日志标签页:进入 home_kitchen、home_kitchen_cooking 启动、修改「+6 → my_studio」、多次重启、「断点,第 6 行」、「下一行移到 5」、「home_kitchen 中的检查点」。

改动写到哪里

  • 以文件夹形式安装的模组可以就地修改。
  • 否则改动会进入游戏的工作室层(user://studio/<game>),它的优先级高于所有模组,且不会碰模组本身。这一层可以导出为新模组,再加入游戏的合集中。
  • 资源会重新读取游戏运行时拖入模组或层的 backgrounds/ 文件夹的背景;之后可以在「地图」标签页直接用这样的背景新建场景。

出问题了怎么办

  1. 没有工作室按钮。 游戏的合集没包含工作室;添加 Developer Tools 工具集,或用 --studio 启动。
  2. 单步没有反应。 对话正在等待回答:先选一个。
  3. 其他玩家看不到改动。 工作室层里的修改只留在这台电脑的这个游戏里;把层导出为模组即可分享。