LPAI AI 游戏编辑器文档

脚本系统

脚本挂载点与返回值

脚本系统 先分清这段脚本是拿来判断、计算,还是触发动作 很多脚本“写了没效果”,不是语法问题,而是放错了位置,或者返回值不对。这一页只讲最常见的脚本位置和它们真正需要的结果。 # 先记住最重要的区别 脚本常见会落在这 4 类位置: 类型 常见位置 你需要做什么 判断脚本 前置需求脚本、场景解锁脚本、显示需求脚

脚本系统

先分清这段脚本是拿来判断、计算,还是触发动作

很多脚本“写了没效果”,不是语法问题,而是放错了位置,或者返回值不对。这一页只讲最常见的脚本位置和它们真正需要的结果。

# 先记住最重要的区别

脚本常见会落在这 4 类位置:

类型 常见位置 你需要做什么
判断脚本 前置需求脚本场景解锁脚本显示需求脚本 返回能不能继续
触发脚本 点击脚本事件脚本输入前触发脚本输出后触发脚本 真正去改状态、跳场景、弹窗、联动
数值脚本 组合属性脚本 返回一个数值
文本脚本 动态字符串脚本 返回一段字符串

如果先把这一点分清,后面大部分脚本问题都会少很多。

# 最常见的返回值要求

脚本位置 要返回什么
前置需求脚本 / 显示需求脚本 一般返回 truefalse
组合属性脚本 必须返回数值
动态字符串脚本 必须返回字符串
场景解锁脚本 必须返回 truefalse
点击脚本 / 事件脚本 / 输出后触发脚本 通常不用依赖返回值

# 1. 判断脚本

判断脚本最常见的用途是:

  • 这个控件能不能显示
  • 这个操作现在能不能做
  • 这个场景能不能进入

# 最常见写法

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

或者:

return player.getPro("体力") > 0;

# 这类脚本更常见的用途

  • 读取当前状态
  • 返回能不能通过
  • 给界面或流程提供判断结果

判断脚本更适合只回答一件事:现在能不能通过。

# 2. 触发脚本

触发脚本就是“事情真的发生时要做什么”。

常见会放在这些地方:

  • 控件点击脚本
  • 事件脚本
  • AI 的输入前触发脚本
  • AI 的输出后触发脚本

# 常见写法

player.addPro("金币", -50);
tools.gotoScene("商店");

或者:

tools.showToast("购买成功", "success");

这类脚本通常不需要依赖返回值,重点是把动作写出来。

# 3. 数值脚本

数值脚本最常见的就是 组合属性脚本

它只负责一件事:算一个数值出来。

# 正确写法

let atk = player.getPro("攻击");
let def = player.getPro("防御");
return atk * 2 + def;

# 常见错误

return "123";
return true;

如果这里不是返回数值,就很容易显示不对。

# 4. 文本脚本

文本脚本最常见的就是 动态字符串脚本

它只负责一件事:算一段显示文字出来。

# 正确写法

return `生命:${player.getPro("生命")}`;

如果这是给玩家看的文案,并且项目需要多语言,更推荐写成:

return tools.tr("生命:{value}", {
  value: player.getPro("生命")
});

# 常见错误

player.getPro("生命");

上面这段没有 return,最后就不会显示出你想要的内容。

# 5. 场景解锁脚本要特别注意

场景解锁脚本 比普通判断脚本更严格,它必须返回:

  • true
  • false

例如:

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

下面这类返回值不会按解锁结果处理:

return "已解锁";
return 1;

# 6. 只读脚本和可触发脚本不是一回事

有些脚本位置只能读取,不能改状态。最常见的有:

  • 组合属性脚本
  • 动态字符串脚本
  • 场景解锁脚本
  • 很多 前置需求脚本

这些脚本里,更适合做:

  • 读取属性
  • 读取对象
  • 读取表格
  • 做判断
  • 拼文字

更常写在触发脚本里的动作有:

  • setPro
  • addPro
  • newObject
  • delObject
  • gotoScene
  • 弹窗交互

# 一个最实用的判断方法

在动手前先问自己一句:

  • 我现在是想判断“能不能”?
  • 还是想让“事情真的发生”?

如果是“能不能”,多半就是判断脚本。
如果是“真的发生”,多半就是触发脚本。

# 最后记住这几个高频规则

  • 组合属性脚本 返回数值。
  • 动态字符串脚本 返回字符串。
  • 场景解锁脚本 返回 true / false
  • 点击脚本事件脚本 通常不用靠返回值。
  • 只读脚本里更常见的是读取和判断。
  • 只要文本最后会展示给玩家,优先先过 tools.tr(...),直接把原文作为项目多语言 key。

# 下一步

接下来可以继续看:

  1. 组合属性脚本
  2. 动态字符串脚本
  3. 场景解锁脚本