Lua接口/服务端/AutoBattleNotify
来自天龙知识库
跳到导航跳到搜索
上报自动战斗的阶段、技能或停止通知。
Lua 调用
AutoBattleNotify(sceneId, selfId, kind, message, branch, arg6, arg7)
服务端脚本中共出现 8 处调用,实参个数出现过:5 个(6 处)、7 个(2 处)。
实现位于 LuaFnTbl_AutoBattle.h。
参数
| 序号 | 参数 / 类型 | 说明 |
|---|---|---|
| 1 | sceneIdnumber
|
当前调用所在的场景 ID。 脚本中的实参: sceneId(8 处)
|
| 2 | selfIdnumber
|
当前场景内的对象 ID;必须是本场景线程中的有效玩家,不是角色 GUID。 脚本中的实参: selfId(7 处)、player
|
| 3 | kindnumber
|
通知类型,只能是阶段、技能或停止三种之一。 脚本中的实参: 4(4 处)、3(3 处)、kind
|
| 4 | messagestring
|
通知文本(字符串),长度须小于实现的字符串上限。 脚本中的实参: key..stage(3 处)、"副本身份或场景已改变,自动战斗停止"、"引魔珠引导坐标缺失,请检查服务端脚本"
|
| 5 | branchnumber
|
分支编号,必须与当前会话的分支一致。 脚本中的实参: branch(8 处)
|
| 6 | arg6number
|
可选的第 6 个整数,只在传满 7 个实参时下发。 脚本中的实参: floor(guideX)、floor(x)
|
| 7 | arg7number
|
可选的第 7 个整数,只在传满 7 个实参时下发。 脚本中的实参: floor(guideZ)、floor(z)
|
返回值
无返回值。
脚本中的调用
以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 3, "副本身份或场景已改变,自动战斗停止", branch)
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 3, stage == -2 and "副本已完成" or "副本状态不可用或任务失败,自动战斗停止", branch)
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 3, "引魔珠引导坐标缺失,请检查服务端脚本", branch)
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 4, key..stage, branch, floor(guideX), floor(guideZ))
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 4, key.."("..floor(x)..","..floor(z)..")", branch)
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 4, key..stage, branch, floor(x), floor(z))
-- event/autobattle.lua
AutoBattleNotify(sceneId, selfId, 4, key..stage, branch)
-- event/autobattle.lua
AutoBattleNotify(sceneId, player, kind, text, branch)
注意事项
- 调用对象必须是当前场景中的有效玩家。
- 实参可以是 5 到 7 个:只有恰好 7 个时才把第 6、7 个整数一起下发。
- 停止通知会把会话标记为非活动;燕子坞分支的真实通关通知会记下完成标记。
- 接口会根据实参数量处理部分分支;省略参数前需确认对应调用场景。
- 脚本中有只传 5 个实参的调用,少于实现体读取的 7 个位置;缺省位置按引擎对缺失值的转换处理(通常为 0),不能直接当作有效数据。