Lua接口/服务端/LuaFnWorkshopStiletto

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

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

工坊打孔:费用、材料与被改动装备在同一次提交里生效。

Lua 调用

LuaFnWorkshopStiletto(sceneId, selfId, equipPos, materialPos, costIndex, extend)

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

实现位于 LuaFnTbl_Ability.h。

参数

序号 参数 / 类型 说明
1 sceneId
number
当前调用所在的场景 ID。
脚本中的实参:sceneId
2 selfId
number
当前场景内的对象 ID;必须是本场景线程中的有效玩家,不是角色 GUID。
脚本中的实参:selfId
3 equipPos
number
装备所在的位置,须小于材料容器起始偏移。
脚本中的实参:equipPos
4 materialPos
number
材料所在的位置。
脚本中的实参:materialPos
5 costIndex
number
费用档,取值 1 或 2。
脚本中的实参:costType
6 extend
number
扩展打孔标志:0 前三孔(费用档必须为 1),1 三孔后的扩展孔(要求装备已是三孔)。
脚本中的实参:fourth

返回值

返回 1 个 number:1 表示开孔成功;−1 表示正常概率失败(材料与费用已消耗);其余负数为校验失败。

脚本中的调用

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

-- event/stiletto/stiletto.lua
LuaFnWorkshopStiletto(sceneId, selfId, equipPos, materialPos, costType, fourth)

注意事项

  • 实现体要求实参恰好 6 个(含 sceneId、selfId),多传或少传都直接返回失败值。
  • 要求当前工坊页签为 1,且装备可打孔、材料与费用档匹配。
  • 前三孔里的第 2、3 孔按概率成功:失败返回 −1,材料与费用照常消耗。