Lua接口/服务端/CreateSpecialObjByDataIndex

来自天龙知识库
Waylee​(留言 | 贡献)2026年9月19日 (六) 23:54的版本 (维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例)
跳到导航跳到搜索

首页 · 服务端接口 · 动作与技能 · 调用约定

在指定位置创建特殊对象,并注册延迟激活事件。

同一接口的其他调用名称:LuaFnCreateSpecialObjByDataIndex。

Lua 调用

CreateSpecialObjByDataIndex(sceneId, selfId, nDataIndex, fPosX, fPosZ, nDelayTime)

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

实现位于 LuaFnTbl_DoAction.h 第 82 行,注册表第 89、90 行。

参数

序号 参数 / 类型 说明
1 sceneId
number
当前调用所在的场景 ID。
脚本中的实参:sceneId(102 处)
2 selfId
number
当前场景内的对象 ID。玩家接口需传入有效玩家对象;不是角色 GUID。
脚本中的实参:selfId(85 处)、objId(16 处)、0
3 nDataIndex
number
数据条目索引。
脚本中的实参:6(4 处)、9(4 处)、5(2 处)
4 fPosX
number
场景平面 X 坐标。
脚本中的实参:posX(73 处)、160(7 处)、nTargetX(6 处)
5 fPosZ
number
场景平面 Z 坐标。
脚本中的实参:posZ(73 处)、nTargetZ(6 处)、z(5 处)
6 nDelayTime
number
延迟时间;单位以对应流程为准。
脚本中的实参:0(97 处)、3000(3 处)、100

返回值

返回 1 个值。返回类型包括 number。明确的固定返回组合包括 -1;1。

脚本中的调用

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

-- event/festival/christmas07/SuZhouZuoTong_QianXun.lua
CreateSpecialObjByDataIndex(sceneId, selfId, x229024_g_Impact_Complete_Mission, x229024_g_scenePosInfoList[index].PosX+nposX, x229024_g_scenePosInfoList[index].PosY+nposY, 0)

-- event/festival/SpringFestival07/BossChunWanMain.lua
CreateSpecialObjByDataIndex(sceneId, 0, FireData[i].id, FireData[i].x, FireData[i].y, 0)

-- event/festival/SpringFestival07/CWChapter01.lua
CreateSpecialObjByDataIndex(sceneId, objId, 39, 159, 116, 0)

-- event/festival/SpringFestival07/CWChapter07.lua
CreateSpecialObjByDataIndex(sceneId, objId, 9, 157, 114, 3000)

-- event/festival/SpringFestival07/CWChapter07.lua
CreateSpecialObjByDataIndex(sceneId, objId, 9, 163, 114, 3000)

-- event/festival/SpringFestival07/CWChapter07.lua
CreateSpecialObjByDataIndex(sceneId, objId, 11, 160, 114, 3000)

-- event/festival/SpringFestival07/CWChapter08.lua
CreateSpecialObjByDataIndex(sceneId, objId, 9, 162, 115, 0)

-- event/festival/SpringFestival07/CWChapter08.lua
CreateSpecialObjByDataIndex(sceneId, objId, 9, 158, 115, 0)

注意事项

  • 实现体在该分支无条件断言,消息为「[LuaFnCreateSpecialObjByDataIndex]: Can't create Special Obj!」;能走到这里说明前置条件已经不成立。