动作总览
AchieveMaster 的“动作”是所有会产生副作用的脚本入口。它们负责发消息、改玩家状态、推进成就、接任务、调命令、触发事件,以及联动 DragonCore、MythicMobs、AttributePlus 等外部系统。
这一组文档不再按“源码文件”讲,而是按实际使用场景分目录讲。你写脚本时,通常只需要先判断自己在做哪一类事,再进对应页面查动作即可。
目录
消息、玩家与反馈
这一页覆盖最常见的即时反馈和玩家状态修改动作:
发送消息发送标题发送动作栏播放音效发送粒子给予经验给予金币扣除金币标记物品消耗物品设置生命值设置饥饿值传送玩家踢出玩家给予药水效果移除药水效果是否有药水效果清除所有药水效果
成就、进度与任务
这一页覆盖当前 AST 进度语句、成就状态动作和任务动作:
增加进度减少进度设置进度增加目标进度设置目标进度返回跳出继续停止脚本延迟执行设置成就进度增加成就进度设置成就目标进度增加成就目标进度获取成就进度获取目标进度获取成就目标进度成就是否已解锁成就任务是否已接取解锁成就重置成就进度撤销成就接取成就任务提交成就任务取消成就任务
联动、事件与外部系统
这一页覆盖动作型联动入口:
设置龙核槽位物品清空龙核槽位消息执行指令玩家执行指令触发事件触发全局事件禁用MM技能启用MM技能取消AP属性处理设置AP伤害
先看这几个执行差异
当前成就 AST 结果不是“写完就立刻落库”
增加进度、设置进度、增加目标进度、设置目标进度 这类 AST 语句,先写进当前 ScriptResult,再由外层调用方决定要不要消费。
当前正式行为是:
trigger.script会消费这些结果,并把当前成就进度写回。rewards.script当前不会额外消费这一套 AST 结果,所以奖励脚本里不要把它们当主推进手段。trigger.script-js/rewards.script-js的return只是脚本返回值,不等价于 AST 控制流。
延迟执行 是异步调度,不是当前这一帧继续往下跑
延迟执行 20 { ... } 会复制当前上下文,然后在后续 tick 再执行代码块。
要点只有两个:
- 延迟块里的进度和目标进度改动会在延迟回调里落正式结果。
- 延迟块里的
返回、停止脚本、跳出、继续不会同步回流到当前调用栈。
任务动作不要只按布尔值理解
接取成就任务、提交成就任务、取消成就任务 成功时通常返回 true,失败时可能直接返回错误字符串。实际写脚本时,要按 Boolean | String 来处理。
一部分“动作页里的条目”本质上也会返回值
例如:
获取成就进度获取目标进度获取成就目标进度成就是否已解锁成就任务是否已接取
它们放在动作页,是因为它们和推进、任务、联动通常写在一起,不代表它们没有返回值。
什么时候该去函数页
如果你现在要找的是“读取数据”“做判断”“拼文本”“取随机”“查变量”,优先去函数页:
动作页只讲副作用入口和与副作用紧耦合的读取动作。
一段组合示例
text
判断 (成就是否已解锁("first_boss")) {
发送消息("&7你已经完成过这个挑战")
停止脚本
}
增加进度 1
发送动作栏("&a进度 +1")
播放音效("ENTITY_PLAYER_LEVELUP", 1.0, 1.0)