LPAI AI 游戏编辑器文档

脚本系统

场景解锁脚本

脚本系统 用脚本判断一个场景现在能不能进入 `场景解锁脚本` 只负责判断场景是否解锁。它最重要的要求只有一个:最后返回 `true` 或 `false`。 # 什么时候该用它 如果场景是否开放,不只是看一个简单条件,而是要综合很多内容,就很适合用脚本。 常见情况有: 要同时判断等级、章节和体力 要检查某个对象

脚本系统

用脚本判断一个场景现在能不能进入

`场景解锁脚本` 只负责判断场景是否解锁。它最重要的要求只有一个:最后返回 `true` 或 `false`。

# 什么时候该用它

如果场景是否开放,不只是看一个简单条件,而是要综合很多内容,就很适合用脚本。

常见情况有:

  • 要同时判断等级、章节和体力
  • 要检查某个对象是否存在
  • 要看表格里的某个结果
  • 要结合对象筛选器判断

# 最重要的规则

  • 只能做读取和判断
  • 必须返回 truefalse
  • 写了场景解锁脚本后,下方普通需求属性仍会保留在下面

# 1. 最简单的写法

return player.getPro("等级") >= 5;

这表示等级到 5 级时,场景才解锁。

# 2. 多条件一起判断

const levelEnough = player.getPro("等级") >= 10;
const storyEnough = player.getPro("主线阶段") >= 3;
const staminaEnough = player.getPro("体力") > 0;

return levelEnough && storyEnough && staminaEnough;

如果你已经有多个条件,这种写法会很清楚。

# 3. 依赖对象系统

const keys = objects.getObjects("钥匙");
return keys.some((item) => item.getName() === "王城钥匙");

这很适合做:

  • 拿到某个关键物品才开放场景
  • 某类对象存在时才开放场景

# 4. 依赖对象筛选器

const qualified = objects.getObjectsByFilter("可进入王城的随从");
return Array.isArray(qualified) && qualified.length > 0;

如果你已经在编辑器里配好了 对象筛选器,这里就可以直接复用。

# 5. 依赖表格数据

const table = player.getTable("副本完成记录");
if (!table) return false;

return String(table.getData("遗迹", "是否通关")) === "是";

这很适合做:

  • 打通前置副本后开放新场景
  • 某项进度记录完成后开放新区域

# 6. 什么时候不用脚本

如果只是这种简单情况:

  • 等级大于某个值
  • 金币达到某个值
  • 两三个普通条件组合

很多时候直接用场景里的 解锁需求属性 就够了。

脚本更适合留给比较复杂的判断。

# 7. 这类内容通常不写在这里

场景解锁脚本更常见的是只做判断,下面这些动作一般会放在别的位置:

  • 发奖励
  • 改属性
  • 跳场景
  • 弹窗
  • 播放特效

例如:

player.addPro("金币", 100);
return true;

因为场景解锁状态本身可能会被反复读取,这里通常只负责判断。

# 8. 常见错误

# 返回了字符串

return "已解锁";

# 返回了数字

return 1;

# 忘了返回

player.getPro("等级") >= 5;

更常见的写法是直接返回布尔值:

return player.getPro("等级") >= 5;

# 9. 一个常见模板

const levelEnough = player.getPro("等级") >= 15;
const storyEnough = player.getPro("主线阶段") >= 5;

const passTokenList = objects.getObjects("通行证");
const hasToken = passTokenList.some((item) => item.getName() === "北境通行证");

return levelEnough && storyEnough && hasToken;

这种写法好读,也方便以后继续加条件。

# 使用时要注意的几件事

  • 必须返回 true / false
  • 更适合做复杂判断。
  • 这里通常只负责判断。
  • 简单条件时,也可以直接用场景自带的需求属性。

# 下一步

如果你还要继续接地图或 AI,可以接着看 地图格子脚本AI智能体脚本