Lua接口/服务端/LuaFnMaterialCompound
来自天龙知识库
按服务端固定配方批量合成材料,绑定材料优先消耗。
Lua 调用
LuaFnMaterialCompound(sceneId, selfId, npc, count, material1, material2, confirm)
服务端脚本中共出现 2 处调用,实参个数出现过:7 个(2 处)。
实现位于 LuaFnTbl_Ability.h。
参数
| 序号 | 参数 / 类型 | 说明 |
|---|---|---|
| 1 | sceneIdnumber
|
当前调用所在的场景 ID。 脚本中的实参: sceneId(2 处)
|
| 2 | selfIdnumber
|
当前场景内的对象 ID;必须是本场景线程中的有效玩家,不是角色 GUID。 脚本中的实参: selfId(2 处)
|
| 3 | npcnumber
|
NPC 的场景对象 ID,取值 0–65534。材料编号与 NPC 脚本必须匹配。 脚本中的实参: npcId、targetId
|
| 4 | countnumber
|
合成组数,每组消耗 5 个材料。 脚本中的实参: 1、count
|
| 5 | material1number
|
材料编号(与 material2 一起定位配方)。 脚本中的实参: 4、category
|
| 6 | material2number
|
第二个材料编号。 脚本中的实参: 1、level
|
| 7 | confirmnumber
|
确认标志: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。