May 24, 2026

更多变量魔法与有作用域的对话

journal

这个版本主要关于作用域。对话 不再必须只放在单一场景上,变量 可以绑定到场景、章节或整个故事,文本字段现在也能直接从变量拉取值。

另外新增了两个输入动作:一个用于自由文本,一个用于从一组选项里选择。此外,网站现在可以浏览故事、公开的作者页面和asset packs(/en/bards/asset-packs)。

版本: 应用:v0.16.0 - API: v0.17.2-ca2ea24f

对话不再绑定于单一场景

你知道为什么把对话场景绑定很重要吗?不知道?我也不知道。所以我给对话加上了作用域。它们现在可以绑定到场景、章节或整个故事。

场景对话仍然是默认,行为和以前完全一样。章节和故事级对话是新加入的部分,适用于随时可能发生的电话或不属于单一地点的同伴聊天。

同一段对话在雨林中听起来和在温馨客栈里感觉不同。你也可以通过条件根据当前场景显示不同的对话选项,这样对话可以共享,而上下文仍然生效。

对话现在也能有自己的背景。例如,一个不会替换整个场景的电话叠层。

网站上的故事、作者与 Asset Packs

网站上的故事、作者与 Asset Packs

故事 现在是网站的一部分,可以从应用外链接和浏览。它们的作用类似于 Steam 在网站上展示游戏,为新玩家和创作者提供入口。

只要作者在账户设置里把个人资料设为公开,就能访问作者页面。你可以把它当作你的 Talescape 故事作品集页面,向玩家介绍你正在制作的内容。

asset packs(/en/bards/asset-packs) 现在也可以在网站上浏览,这样创作者和玩家在不打开编辑器的情况下就能看到库里有哪些资源。

新动作:显示文本输入

新动作:显示文本输入

显示文本输入会向玩家提问并将答案存入一个变量。最明显的用例是玩家的名字,但它也适用于门禁代码、呼号、密码或任何需要存入故事状态的内容。

新动作:显示选项

新动作:显示选项

显示选项是显示文本输入的姊妹动作。它向玩家展示一组按钮,并把选中的值存入一个变量。用于难度选择、阵营选择、快速路线抉择或任何需要一个明确值的时刻,而不必启用完整的对话。玩家看到的是可读的标签,故事存储的是你在背后定义的值。

变量现在可以在文本中使用

变量现在可以在文本中使用

变量 现在可以作为文本字段的占位符使用。如果某个文本字段支持此功能,字段顶部会出现一个括号图标。

这让一些小的个性化细节成为可能:玩家的名字、已收集物品的数量、所选阵营、记住的答案或任何已经用变量保存的值。

同样的选择器也出现在需要变量值的条件动作中,这样你就不必记住精确名字或离开编辑流程。

Talescape 现在能做数学运算了

从这个版本开始 Talescape 能做数学运算。嗯,基础代数。

新增了一种变量 类型,叫 计算型。它不是保存一个固定值,而是由表达式得出值。表达式可以使用纯数字或其他变量的占位符。

支持的运算符有 *+/%- 和括号。可用于护甲后计算伤害、由多个计数器组成的得分,或从收集到的物品中拉取的进度值。

变量现在有作用域了

拥有大量变量的故事很快就会变得凌乱,尤其是当所有变量都是全局时。在软件开发中,我们称之为“global namespace pollution”,通常被视为反模式。通俗点说:所有东西都放在同一个抽屉,最终你找不到任何东西。

所以我给变量 添加了作用域。它们现在可以绑定到场景或章节或整个故事。故事级变量与之前的行为相符,适合那些在各处都重要的值。场景和章节变量则用于应保持本地的状态。

示例:

  • 场景变量:电视已被打开
  • 章节变量:收集到的文档数量
  • 故事变量:生命值、理智、好感

通过这种方式,更大的故事更容易保持整洁。并非每个临时开关都需要和生命值、理智或其他核心故事状态放在一起。

小改动与修复

  • 为仍在开发中的故事新增发布类型预览。预览中的故事将在商店中可见,但暂不可购买。把它想成在走完整个发布流程之前创建一个 Steam 页面。
  • 添加了另一个event 作用域:Story。用于应在整个故事范围内使用的事件。例如,将生命药水设为增加玩家生命值的事件。
  • 为故事播放器优化了预加载逻辑和内存管理。
  • 新增 将变量设为随机数。它会将一个number variable 设为在最小值和最大值之间的伪随机值。
  • 新增 禁用玩家交互启用玩家交互。这些动作 可在过场动画、计时序列或过渡期间阻止玩家交互。
  • 解锁了更多支持语言。现在可以用 English、Deutsch、Francais、Italiano、Espanol、Portugues 和简体中文创建故事。
  • 修复了过滤器值未正确处理的问题。