LPAI 独立网页游戏 AI 社区指南

脚本 API

场景解锁脚本

用只读布尔规则决定玩家能否进入场景。

脚本 API · 访问规则

显示锁定状态和最终访问判断必须使用同一份规则

场景解锁脚本同步返回严格布尔值。渲染布局可以提前显示锁定效果,但运行时仍以解锁脚本作为最终入口判断。

# 写清访问契约

场景“王城”仅在等级 >= 10、主线阶段 >= 3,并持有“王城钥匙”对象时开放。
锁定时页面显示缺少的条件,但脚本只返回布尔值,不扣除钥匙。
const levelOK = Number(player.getPro("等级") || 0) >= 10;
const storyOK = Number(player.getPro("主线阶段") || 0) >= 3;
const hasKey = objects.getObjects("钥匙")
  .some((item) => item.getName() === "王城钥匙");
return levelOK && storyOK && hasKey;

稳定实现更适合按对象属性或 ID 识别钥匙,而不是依赖可修改名称。

# 返回值必须严格为布尔值

true 表示可进入,false 表示锁定。1"true"、对象或未写 return 都不是有效结果。

# 只读边界

脚本可能在导航和页面刷新中反复执行,因此不能:

  • 扣除钥匙、体力或货币;
  • 发奖励或写入“已访问”;
  • 打开提示、播放特效或跳转场景;
  • 调用 AI、弱联网或存档。

进入后的消耗和一次性事件放到场景进入动作或绑定控件脚本中,并单独防重复。

# 对象与表格条件

const record = player.getTable("副本记录");
if (String(record?.getData("遗迹", "通关") || "") !== "是") return false;

const team = objects.getObjects("队员");
return team.some((member) => Number(member.getPro("战力") || 0) >= 1000);

空表、空队伍和旧存档缺字段时必须安全返回 false

# 验收清单

  • 所有路径都返回严格布尔值。
  • 锁定页面提示与最终访问规则一致。
  • 重复读取不会扣费、奖励或写存档。
  • 缺少旧存档字段时默认安全锁定。
  • 进入后的动作有独立幂等和失败处理。

继续阅读:场景与控件渲染布局与 Canvas