Lua接口/服务端/LuaFnMaterialCompound

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

首页 · 服务端接口 · 生活技能与装备 · 调用约定

按服务端固定配方批量合成材料,绑定材料优先消耗。

Lua 调用

LuaFnMaterialCompound(sceneId, selfId, npc, count, material1, material2, confirm)

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

实现位于 LuaFnTbl_Ability.h。

参数

序号 参数 / 类型 说明
1 sceneId
number
当前调用所在的场景 ID。
脚本中的实参:sceneId(2 处)
2 selfId
number
当前场景内的对象 ID;必须是本场景线程中的有效玩家,不是角色 GUID。
脚本中的实参:selfId(2 处)
3 npc
number
NPC 的场景对象 ID,取值 0–65534。材料编号与 NPC 脚本必须匹配。
脚本中的实参:npcId、targetId
4 count
number
合成组数,每组消耗 5 个材料。
脚本中的实参:1、count
5 material1
number
材料编号(与 material2 一起定位配方)。
脚本中的实参:4、category
6 material2
number
第二个材料编号。
脚本中的实参:1、level
7 confirm
number
确认标志:0 返回需要的扣料快照,1 按快照提交。
脚本中的实参:confirmed(2 处)

返回值

返回 4 个 number:结果码、消耗的绑定材料数、产出的绑定件数、产出的非绑定件数。

脚本中的调用

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

-- event/liveabilityevent/gem_compound.lua
LuaFnMaterialCompound(sceneId, selfId, npcId, count, category, level, confirmed)

-- obj/loulangucheng/oloulan_shisao.lua
LuaFnMaterialCompound(sceneId, selfId, targetId, 1, 4, 1, confirmed)

注意事项

  • 实现体要求实参恰好 7 个(含 sceneId、selfId),多传或少传都直接返回失败值。
  • 结果码 1 表示已提交,2 表示需要按快照再确认一次,负数表示失败原因。
  • count、material1、material2、confirm 同时为 0 时表示清空待确认快照,返回 0。