Gal Lop 变量系统总览——让剧情逻辑变得可控
变量系统的定位
如果说节点编辑是 Gal Lop 的"骨架",那么变量系统就是让骨架"活"起来的"神经"。它让你的作品不再是写死的剧情,而是根据玩家的选择和之前的行为动态变化的。
Gal Lop 的变量系统可以实现:
- 条件分支:某个变量满足条件才走某条剧情线
- 好感度累积:玩家的每次选择都影响角色好感度
- 解锁控制:看到某个 CG / 某个章节需要特定变量值
- 多结局判定:根据累计变量值决定触发哪个结局

变量的三种类型
数值型变量(最常用)
存储一个数字,常用于:
- 好感度(通常 0~100 范围)
- 计数器(玩家做了多少次某操作)
- 分数(小游戏或迷你关卡得分)
操作方式:
变量名 + N(加数值)变量名 - N(减数值)变量名 = N(直接赋值)
布尔型变量(true / false)
只有两种值的开关,常用于:
- 某个事件是否发生过
- 某个道具是否已获得
- 某个对话是否已看过
操作方式:
变量名 = true变量名 = false
标记型变量
类似标签,用来记录"玩家做过什么"的非数值信息。在条件判定时判断"是否有这个标记"来决定剧情走向。
变量的创建与管理
在 Gal Lop 中,变量通常在以下位置被使用:
在选项节点里
玩家做出选择时,自动修改变量值。这是最常见的变量操作入口:
- 选项 A →
好感度_A + 5 - 选项 B →
好感度_A - 3AND获得道具 = true
在条件分支节点里
在时间线的某个位置检查变量值,根据是否满足条件走不同的后续路径。
在结局节点前
用条件判定来决定触发哪个结局。
实时引用变量值
Gal Lop 还支持在对话文本中直接引用变量值。比如在对话节点里写:
"A 的好感度现在是
{好感度_A}。"
这会在实际显示时把 {好感度_A} 替换成当前的数值。这个功能可以用来做元叙事效果(比如角色"知道"玩家在玩游戏)或调试辅助。
变量命名规范
好的变量命名能让后期维护轻松很多。推荐规范:
| 类型 | 命名格式 | 例子 |
|---|---|---|
| 好感度 | 好感度_角色名 | 好感度_小樱、好感度_雷姆 |
| 事件标记 | 事件_描述 | 事件_去天台、事件_见过父亲 |
| 道具标记 | 道具_名称 | 道具_钥匙、道具_相册 |
| 计数器 | 计数_描述 | 计数_说谎次数、计数_探索次数 |
| 剧情标记 | 剧情_位置 | 剧情_在学校、剧情_第三章开始 |
变量系统的典型工作流
一个完整的变量驱动剧情的例子:
1. 故事开始 → 初始化变量 好感度小樱 = 0
2. 选项节点 → 玩家选 "主动搭话" → 好感度小樱 + 10
3. 选项节点 → 玩家选 "送她回家" → 好感度小樱 + 15
4. 条件检查 → 好感度小樱 ≥ 20 ?
├─ 是 → 进入小樱告白线
└─ 否 → 进入小樱朋友线(普通关系)
5. 多个结局 → 好感度小樱 ≥ 50 → 真结局;≥ 30 → 好结局;< 30 → 坏结局
调试变量系统
Gal Lop 没有专门的变量调试面板,但你可以通过以下方式检查变量状态:
方法 1:预览 + 引用
在预览模式下,在某个对话节点里临时加一句:
"DEBUG: 好感度小樱 =
{好感度小樱}"
播放时就会显示当前值。确认没问题后删掉或改成正常文本。
方法 2:条件路径测试
在预览模式下尝试不同的选项组合,看最终走了哪条路径、触发了哪个结局——这能帮你验证变量逻辑是否正确。
方法 3:从起点和特定节点开始预览
Gal Lop 的预览默认从起点开始。如果时间线太长,可以:
- 暂时把时间线起点移到某个中间位置测试
- 或者用"跳转到节点"功能直接从指定节点开始预览
常见问题
变量名可以改吗
可以。但修改变量名后要检查所有引用该变量的地方(选项节点的操作、条件节点的判定),确保全部同步更新。Gal Lop 目前不支持变量名自动重命名,需要手动检查。
初始值是什么
Gal Lop 的数值型变量初始值为 0,布尔型为 false。在故事开始时或特定节点位置可以用 变量 = N 显式赋值覆盖默认初始值。
变量会自动保存吗
会。Gal Lop 自动保存创作项目时,变量的操作配置(在哪些节点操作哪些变量)也会一起保存。但"变量当前值"本身是运行时数据,只在预览测试时存在,退出预览后重置。玩家正式玩你的作品时,变量会根据他们的选择动态变化并自动保存到进度存档里。