行为
行为就是「如果……就……」。它由引擎自己执行,不用 AI 参与,所以特别稳:说好好感到 80 就开心意,那就一定是 80,不会是 AI 心情好的时候 78 也算了。
和变量上的「行为规则」不一样:行为规则是教 AI 怎么改数,行为是引擎自己动手。
什么时候用行为
- 阈值:「好感到 80,打开一条隐藏设定」
- 节奏:「每 5 回合推进一次时间」
- 按钮:「玩家点了买酒,扣 5 个金币」
- 一次性的惊喜:「第一次干杯,弹出一张图」
加一条行为
点卡底下 还可以加 里的 + 行为,新行为的设置直接展开:

每条行为都是三段:什么时候触发、如果……(可以不写)、效果。下面这条是「好感涨到 80 以上时,给玩家弹个提示」:

好感和这条行为之间那根虚线是画布自己画的,意思是这条行为在看这个变量。
行为多了以后,行为块是这样一行一个:

什么时候触发
| 触发 | 什么时候 |
|---|---|
| 每回合 | 每次玩家和 AI 来回一轮之后 |
| 每 N 回合 | 按固定间隔 |
| 每隔几秒 | 按真实时间,只在玩家开着游戏的时候走 |
| 会话开始 | 新开一局时 |
| 玩家说出关键词 / AI 说出关键词 | 消息里出现某个词 |
| 变量变化 | 某个变量的值变了 |
| 变量越过阈值 | 数值往上或往下越过一条线的那一下 |
| 玩家点了某个按钮 | 玩家界面上的按钮叫它 |
如果……(可以不写)
变量等于、大于、小于某个值,或者和另一个变量比。好几条的话选 全部满足 或 任一满足。
条件不满足的时候,可以在 条件不满足时告诉玩家 里写一句话,比如「金币不够,要 {参数.价格}」。不写的话,就什么都不发生,玩家也不知道为啥按钮没反应。
效果
点 加一个效果,效果分成了几组:

| 组 | 效果 | 做什么 |
|---|---|---|
| 游戏 | 修改变量 | 设为、加上、减去、乘以、切换、追加 |
| 启用/禁用变量 | 让一个变量出现或者藏起来 | |
| 启用/禁用情境 | 打开或关掉一个情境,「只看启用开关」的情境就靠它 | |
| AI 与故事 | 告诉 AI | 给 AI 塞一句话,玩家看不到 |
| 启用词条 / 禁用词条 | 打开或关掉一条设定 | |
| 音频 | 播放音乐 / 播放音效 / 停止音频 | |
| 玩家 | 显示通知 | 给玩家弹一个提示 |
| 解锁一个时刻 | 一张带图的小卡片,见下面 | |
| 高级 | 启用/禁用行为 | 开关别的行为,可以连成一串 |
一条行为可以有好几个效果,按顺序执行。
停止条件
最底下还有一栏 停止条件,可以不写。写了的话,条件成立的时候这条行为就不跑,条件不成立了又会照常跑。比如「好感到 100 就别再提醒了」。想让它只跑几次,用下面 其它选项 里的 最大触发次数。
按钮传值
玩家界面上的按钮叫行为的时候,可以顺便 传一个值进去。比如酒馆的菜单上,每种酒一个按钮,都叫同一条「买一杯」行为,只是传进去的 价格 不一样:
- 按钮那边:让一条行为生效 → 选「买一杯」→ + 传一个值进去,名字写「价格」,值写
5(也可以写) - 行为这边:条件写
金币 ≥ {参数.价格},效果写金币 减去 {参数.价格},条件不满足时告诉玩家「金币不够,一杯要 {参数.价格} 枚」
一条行为就管了整张菜单 (๑•̀ㅂ•́)و✧ 写成 {param.价格} 也行。

时刻
解锁一个时刻 是给玩家的一张小卡片:一个标题、一句话、一张图,像游戏里的成就或者 CG 解锁。填好 标题、图片(链接),再选 收进哪个列表。

同一个时刻进过列表就不会再弹第二次。把那个列表变量设成 跨存档保留(在变量设置里),就变成每个玩家一辈子只解锁一次,重开一局也还记得,做 CG 图鉴、多结局收集都靠它。
代码行为
会写一点 JavaScript 的话,行为的效果里可以放一段 代码,玩的时候在卡里运行。能读写变量、弹提示、让 AI 说话、叫别的 AI、掷随机数。适合「抽卡」「洗牌」这种用效果表格写起来很别扭的东西。
AI 不会执行代码。代码只在玩家开着游戏的时候跑。
自定义行为
行为设置最上面有 规则 / 自定义 两个按钮。规则就是上面讲的那一句话:什么时候、如果、做什么。自定义是另一回事:这条行为由代码来做,表单里的那一句不算数。
效果用表格写不出来、自己又不想写代码的时候,就选自定义。选了以后这条行为就是一个占位,可以贴张便签说要做什么,创作助手或者你接进来的外部 AI 会来写。写好了,这里会显示它是怎么实现的:自己带的代码有多少行,或者玩家界面里哪个文件哪一行在触发它。还没写就是空的。
实例:好感路线
- 好感 25:弹个提示「她好像注意到你了……」
- 好感 50:解锁一个时刻「第一次干杯」,同时告诉 AI「她开始流露感情了,想靠近又不自觉地退缩」
- 好感 80:启用词条「她的心意」,那条待命设定从这时起每回合都发给 AI
其它选项
- 优先级:好几条同时触发时,谁先跑
- 冷却:两次触发之间至少隔几回合
- 最大触发次数:1 就是一次性
- 启用:可以先关着,等别的行为来打开它,连成一串
行为跑了没有、为什么没跑、离触发还差多少,试玩的时候都看得到。
