需用状态机机制实现角色阶段状态追踪,创建CharacterState模型并设stage(枚举:init|quest|battle|rest)、hp、last_updated字段,通过事件监听与状态机连线配置阶段切换及自动更新。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Laper中记录角色在不同阶段的状态变化,需要借助状态机(State Machine)机制配合自定义字段与事件触发逻辑,不能仅靠普通变量赋值实现跨阶段持久追踪。
创建带阶段标识的角色状态模型
打开Laper项目 → 点击左侧「数据模型」→ 「新建模型」→ 模型名称填「CharacterState」→ 在字段区点击「+ 添加字段」。
添加三个必填字段:stage(类型选「枚举」,选项填「init|quest|battle|rest」)、hp(类型「数字」,默认值100)、last_updated(类型「时间戳」,勾选「自动更新」)。
这一步必须做,【stage字段的枚举值必须严格按实际剧情阶段命名,且不可留空或用空格分隔】,否则后续状态跳转时条件判断会失效。
配置阶段切换事件与自动记录规则
进入「流程编排」→ 新建一个「状态变更流程」→ 拖入「事件监听」节点,事件类型选「custom.stage_change」。
方法一:用「条件分支」节点判断stage新值 → 每个分支内接「数据写入」节点,更新CharacterState模型对应记录的stage、hp、last_updated字段。
方法二:直接使用「状态机」节点 → 双击打开配置面板 → 在「状态列表」中导入刚才定义的init/quest/battle/rest → 为每对状态间连线(如init→quest),在线上双击添加「动作」→ 选择「更新模型字段」→ 目标模型选CharacterState → 字段映射中将「当前状态」→ stage、「当前生命值」→ hp。
注意:状态机连线必须双向配置才能回退,比如从battle回到rest,需单独画一条rest←battle的反向线并设动作,否则角色卡死在battle阶段。
在具体场景中触发状态更新
第一步:在「战斗脚本」节点末尾添加「发送事件」动作 → 事件名填custom.stage_change → 载荷填{"stage": "rest", "hp": 35}。
第二步:在「任务领取」交互点,右键点击对话气泡 → 选择「绑定事件」→ 事件类型选「stage_change」→ 参数面板中stage下拉选quest,hp保持不填(沿用原值)。
第三步:运行测试时,打开「调试面板」→ 切换到「状态快照」页签 → 每次事件触发后都会生成一行记录,包含stage、hp、last_updated三列,时间戳精确到毫秒。

















