快速开始
给 NPC 加上条件判断
面向已经跑通第一个 NPC 的读者,说明怎样给 NPC 增加最基础的条件分支,让满足条件和不满足条件的玩家看到不同结果。
如果你已经按上一页跑通了第一个 NPC,下一步最适合补的,就是给 NPC 加一条最基础的条件判断。
这页只讲一个最小场景:
- 等级高于
50的玩家可以进入下一步 - 等级不足的玩家会看到提示
先看目标效果
这次不是只验证"NPC 能不能打开",而是验证下面两条分支都能正常工作:
- 满足条件时,脚本进入成功分支
- 不满足条件时,脚本进入提示分支
示例脚本
把上一页的测试脚本替换成下面这段:
[@Main]
#SAY
欢迎使用测试 NPC。\
<进入高级区域/@TryEnter>
[@TryEnter]
#IF
CheckLevelEx > 50
#ACT
GOTO @AllowEnter
#ELSESAY
当前等级不足,暂时不能进入。\
<返回主菜单/@Main>
[@AllowEnter]
#SAY
条件已满足,可以继续进入下一步。\
<返回主菜单/@Main>
这段脚本在做什么
[@Main]负责显示入口按钮- 点击"进入高级区域"后,流程进入
[@TryEnter] #IF判断CheckLevelEx > 50是否成立- 条件成立时,用
GOTO @AllowEnter进入成功分支 - 条件不成立时,直接执行
#ELSESAY里的提示内容
这就是最常见的一类 NPC 分支:
- 满足条件就继续
- 不满足条件就提示并停在当前结果页
进游戏时只看两件事
第一次验证条件 NPC 时,只确认这两件事:
- 等级高于
50的角色点击按钮后,是否会进入"条件已满足"的结果页 - 等级不足的角色点击按钮后,是否会看到"当前等级不足"的提示页
只要这两种结果都对,就说明你的第一个条件分支已经跑通了。
这一页真正想让你掌握什么
写条件 NPC 时,先抓住这一条最小结构:
[@入口标签]
#IF
;这里写判断条件
#ACT
;这里写满足条件后的处理
#ELSESAY
;这里写不满足条件时的提示
以后你把 CheckLevelEx > 50 换成别的判断条件,这个骨架通常还是一样的。
跑不通时先查哪里
如果点击按钮后没有进入预期分支,优先检查:
#IF后面的判断条件是否写在了同一段判断结构里#ACT、#ELSESAY是否和当前#IF对应GOTO @AllowEnter的目标标签是否真的存在- 你测试的角色等级,是否确实满足或不满足当前条件
接下来怎么继续
如果你已经跑通这个示例,下一步建议回头系统补这几页:
