Lua接口/服务端/LuaFnDiaowenCall

来自天龙知识库
Waylee​(留言 | 贡献)2026年10月24日 (六) 12:23的版本 (维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索

首页 · 服务端接口 · 雕纹 · 调用约定

按官服函数名转发到雕纹业务脚本(脚本编号 809272)。

Lua 调用

LuaFnDiaowenCall(sceneId, selfId, functionName, ...)

服务端脚本中共出现 9 处调用,实参个数出现过:4 个(4 处)、5 个(2 处)、6 个(1 处)、7 个(2 处)。

实现位于 LuaFnTbl_Diaowen.h。

参数

序号 参数 / 类型 说明
1 sceneId
number
当前调用所在的场景 ID。
脚本中的实参:sceneId(9 处)
2 selfId
number
当前场景内的对象 ID;必须是本场景线程中的有效玩家,不是角色 GUID。
脚本中的实参:selfId(9 处)
3 functionName
string
业务函数名(字符串),长度须小于实现的名字长度上限。
脚本中的实参:"DoDiaowenAction"(2 处)、"CheckDiaoWenChaiJie"、"DoDiaoWenChaiJie"
4 ...
number
后续整数参数:个数不超过实现上限,每个都必须是 INT 范围内的整数。
脚本中的实参:bag(4 处)、action(2 处)、confirm(2 处)

返回值

返回 1 个 number:1 表示操作已即时提交或确认提示已发出,0 表示拒绝。

脚本中的调用

以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DoDiaowenAction", action, first)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DoDiaowenAction", action, first, second, third)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DoEquipDWLevelUp", bag, level, levelEx, unbound)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DoDiaowenDivert", source, destination, vip)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "CheckDiaoWenChaiJie", bag)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DoDiaoWenChaiJie", bag)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DWHechengBeginPay", bag, confirm)

-- event/equip/diaowen.lua
LuaFnDiaowenCall(sceneId, selfId, "DWShikeBeginPay", confirm)

注意事项

  • 函数名沿用官服命名,由雕纹业务脚本(809272)按名字分发;名字写错只会得到 0。
  • 这是可变参接口:第 4 个实参起全部按整数读取,个数或类型不合法时直接返回 0,不会只忽略个别参数。