逻辑 » 变量
April 26, 2026

变量

进行中

本指南仍在扩展和完善中。功能、截图和说明可能会在 Talescape 正式发布前发生变化。若有疑问或需要帮助,请在 官方 Talescape Discord 提问。我们会根据需要澄清或更新页面。

变量保存有关故事中发生的事情和玩家所做操作的信息。它们让游戏记住选择、跟踪进度、控制世界的反应,并可选择性地显示重要的面向玩家的状态。

变量是 Talescape 中逻辑的基础。它们常用于控制对话选项、触发事件、解锁物品或决定哪些场景可用。

变量可以属于整个故事、某一章或单个场景。这样能让局部状态保存在使用它的位置附近,同时仍然允许重要的数值在各处可用。

1. 创建变量

变量在 变量面板 中创建。每个变量包括以下设置:

  • 名称: 在编辑器中用来识别变量的描述性标签。
  • 类型: 决定变量存储何种值。
  • 作用域: 决定变量属于故事、章节或场景。
  • 起始值: 故事开始时分配的值。
  • 记住: 为当前用户保存此变量的最后一个值,并在下一次游玩开始时应用。
  • 状态设置(可选): 决定该变量是否应该以可见状态显示给玩家。

起始值为可选。如果未提供,变量将为空或为其默认值。

2. 变量作用域

变量作用域决定变量属于哪里以及通常应在何处使用。

  • 故事: 用于影响整个故事的数值,比如生命值、理智、好感度或影响后续章节的重要选择。
  • 章节: 用于只在一个章节内重要的值,比如该章节收集的文档数量。
  • 场景: 用于单个场景内的本地状态,比如电视是否被打开。

故事变量与之前的行为一致。章节和场景变量有助于让大型项目更易读,因为临时开关无需再和核心故事状态放在一起。

3. 记住的变量

Talescape editor screenshot: the Variables screen shows an age variable with a Remembered marker in the list and the Edit Variable drawer open with the Remember checkbox enabled.

当某个故事变量的值需要延续到同一玩家未来的新游玩中时,可以将它标记为 记住

记住的变量适合保存跨游玩仍然重要的玩家专属值,例如玩家选择的名字、长期偏好,或会影响后续重玩的路线选择。

读取已有存档时不会使用记住的值。存档会保留创建时的变量值。只有非计算型的故事作用域变量可以被记住。

4. 选择变量

Talescape Editor 'Variables' screen: center list shows variables — 'Bear guards the Cave Entrance', 'Fisherman is angry', 'Gender of the Player', 'Money'. Right panel 'Edit Variable' open with Name and Type set to 'Bear guards the Cave Entrance' (Choice) and Starting Value enabled.

选择变量 存储一个简单的 true 或 false 值。它们用于是/否决策,是最常见的变量类型。

典型用法包括:

  • 跟踪玩家是否执行了特定动作。
  • 记录对话中做出的决定。
  • 解锁事件或对话选项。

示例:

  • 玩家打开了宝箱吗?
  • 玩家帮了渔夫吗?
  • 洞口有人把守吗?

选择变量可以通过动作事件truefalse 之间切换。

5. 数值变量

Talescape Editor variables screen: left navigation menu, center list of variables showing 'Bear guards the Cave Entrance', 'Fisherman is angry', 'Gender of the Player', 'Money', and a right-side Edit Variable panel with Name: Money, Type: Number, Starting Value: 0 and Save/Cancel buttons.

数值变量 存储数值。它们在需要跟踪计数、分数或进度值时很有用。

典型用法包括:

  • 跟踪收集到的资源
  • 统计某事发生的次数
  • 管理货币或积分

示例:

  • 玩家有多少把钥匙?
  • 已收集了多少钱?
  • 发现了多少条线索?

数值变量可以在游戏中增加、减少或设置为特定值。

6. 文本变量

Dark-themed Talescape Editor 'Variables' screen: left navigation with sections like Marketplace, My Stories and A Land Beyond; center list of variables showing 'Bear guards the Cave Entrance', 'Fisherman is angry', 'Gender of the Player', 'Money'; right panel titled 'Edit Variable' with Name 'Gender of the Player', Type 'Text', Starting Value field and Cancel/Save buttons.

文本变量 存储简短的文本。它们在需要记住名字、密码或玩家选择时很有用。

典型用法包括:

  • 存储玩家选择的名字
  • 记录选择了哪个选项
  • 保存代码或标识符

示例:

  • 玩家名字
  • 选定阵营
  • 输入的门禁码

在需要存储新值时,可以更新文本变量。

7. 计算变量

计算变量 的值由表达式计算得出,而不是保持一个固定值。表达式可以使用纯数字或其他变量的占位符。

支持的运算符有 *, +, /, %, - 和括号。

计算变量适合用于如护甲后的伤害、由多个计数器合成的分数,或基于收集物的进度值。它们把派生逻辑集中在一个地方,而不是需要多个单独的变量更新。

8. 变量状态

Talescape editor screenshot: a painted green landscape with a small wooden bridge on the left and a dark Edit Variable panel on the right. Top-left shows two bars labeled “Armor” (segmented) and “Health.” Edit panel shows Type: Number, Display: Segments, Name: Armor, Starting value 4, Min 0 Max 8, and Save buttons.

变量可以作为内部故事逻辑保持隐藏,或者当玩家在游玩时应该看到当前数值时,将其标记为 状态

状态适用于如下数值:

  • 生命值或耐力
  • 理智、怀疑或危险
  • 关系值
  • 已收集的资源
  • 章节进度或谜题进度

状态可以用不同格式显示:

  • 文本: 直接显示数值。适用于名字、标签、计数器或需要精确措辞的值。
  • 条形: 以填充条显示进度。适用于生命值、耐力、理智或其他有明确最小和最大值的数值。
  • 分段: 以独立块显示进度。适用于心数、充能、线索进度或有限资源。

只有当玩家从中受益时才把变量标记为状态。仅用来控制隐藏条件、分支或内部故事状态的变量可以保持为普通变量。

9. 变量占位符

变量可以作为占位符插入到支持的文本字段中。当文本字段支持占位符时,编辑器会显示选择器,这样你就不需要记住确切的变量名。

这在显示玩家名字、已收集物品数量、选定阵营、记住的回答或其他应在文本中出现的数值时很有用。

在需要变量值的条件和动作处,同样的选择器也可用。这让写作和逻辑中的变量复用保持一致。

10. 使用变量

变量在编辑器各处用于控制故事的行为。

它们可以用于:

  • 显示或隐藏对话选项
  • 激活触发器和事件
  • 控制分支剧情路径
  • 解锁场景、物品或交互
  • 用存储的值填充支持的文本字段
  • 从其他变量计算数值

每当变量发生改变,新的值会被立即保存并在本次游玩中保持生效。

11. 测试变量

Painterly village scene with thatched cottages and dense trees. Overlaid Talescape Editor panel along the bottom showing tabs 'Logs | Inventory | Variables' and a variables list: 'Bear guards the Cave Entrance', 'Fisherman is angry', 'Gender of the Player', 'Money' with toggles, numeric input and Reset buttons. Small blue play timer and an eye icon in the top corners.

测试期间,你可以打开调试菜单来实时检查和修改变量。

这允许你:

  • 查看当前故事中使用的所有变量
  • 更改数值以测试不同分支
  • 将变量重置为起始值
  • 在相关场景或章节中验证作用域变量

这让测试复杂分支逻辑更容易,无需重玩整个故事。

12. 最佳实践

  • 对于简单的是/否决策,使用 选择变量
  • 对于计数器、资源或进度跟踪,使用 数值变量
  • 只有在需要存储文本值时才使用 文本变量
  • 对于由其他变量派生的值,使用 计算变量
  • 只对需要延续到未来新游玩的故事变量使用 记住
  • 当某状态不需要全局生效时,将临时状态保存在场景或章节变量中。
  • 只有当玩家在游玩时应看到该数值时,才将变量标记为 状态
  • 保持变量名具有描述性,以便以后容易理解。
  • 删除未使用的变量以保持项目整洁。

变量让 Talescape 记住发生的事情并做出相应反应。它们构成了你故事中条件、动作和所有分支路径的核心。

下一步: 事件与触发器