Lua接口/副本相关

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

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

创建副本、设置副本加载文件与创建参数、查询副本运行状态。副本创建分两步:先设置创建选项,再调用创建接口。

创建副本

接口 参数与返回
LuaFnCreateCopyScene sceneId → 副本场景编号;失败 -1。

LuaFnCreateCopyScene 根据当前场景已设置的副本创建参数创建或选择副本。

副本加载文件

接口 参数与返回
LuaFnSetSceneLoad_Map sceneId, mapName;无返回值。导航图文件(.nav)。
LuaFnSetSceneLoad_Monster sceneId, monsterName;无返回值。怪物分布文件(_monster.ini)。
LuaFnSetSceneLoad_Platform sceneId, platformName;无返回值。操作台分布文件。
LuaFnSetSceneLoad_GrowPointData sceneId, growpointdataName;无返回值。生长点分布文件。
LuaFnSetSceneLoad_GrowPointSetup sceneId, growpointsetupName;无返回值。生长点产出分布文件。
LuaFnSetSceneLoad_Area sceneId, areaName;无返回值。事件区分布文件(_area.ini)。
LuaFnSetSceneLoad_Pet sceneId, petName;无返回值。宠物分布文件。
LuaFnSetSceneLoad_PatrolPointData sceneId, patrolpointdataName;无返回值。巡逻路径分布文件。

这一组都只传**文件名**(不含路径),全部无返回值。设置顺序不影响结果,但必须在 LuaFnCreateCopyScene 之前完成。

副本创建数据

接口 参数与返回
LuaFnSetCopySceneData_TeamLeader sceneId, guidLeader;无返回值。设置队长 GUID。
LuaFnSetCopySceneData_NoUserCloseTime sceneId, closeTime;无返回值。无人后自动关闭的时间。
LuaFnSetCopySceneData_PvpRuler sceneId, pvpRuler;无返回值。设置 PVP 规则。
LuaFnSetCopySceneData_Timer sceneId, uTime;无返回值。定时器间隔,0 表示不设置。
LuaFnSetCopySceneData_Param sceneId, uIndex, nValue;无返回值。设置场景参数。

这组设置接口都无返回值。LuaFnSetCopySceneData_Timer 传 0 表示没有设置定时器。

读取副本创建数据

接口 参数与返回
LuaFnGetCopySceneData_TeamLeader sceneId → 队长 GUID;失败 -1。
LuaFnGetCopySceneData_NoUserCloseTime sceneId → 无人关闭时间(毫秒);失败 -1。
LuaFnGetCopySceneData_Timer sceneId → 定时器间隔;0 表示未设置。
LuaFnGetCopySceneData_Param sceneId, uIndex → 场景参数;0 或 -1。

查询与准入

接口 参数与返回
LuaFnGetCopyScene_HumanCount sceneId → 场景内玩家数量;0 或 -1。
LuaFnGetCopyScene_HumanObjId sceneId, uIndex → 指定索引玩家的对象 ID;失败 -1。
IsCanEnterCopyScene sceneId, guid → 玩家能否进入;失败 -1。
LuaFnGetCopySceneIDByTeamLeaderGUID sceneId, teamLeaderGUID, copySceneType → 正在运行的副本场景编号;失败 -1。
FindCopySceneIDByCopySceneParams sceneId, copySceneType, checkParamNum → 按参数查找的副本场景编号;失败 -1。

LuaFnGetCopySceneIDByTeamLeaderGUID 按队长和副本类型查找正在运行的副本,FindCopySceneIDByCopySceneParams 按副本参数查找,第三个参数是参数组数。

城市副本与怪物分布

接口 参数与返回
LuaFnSetSceneCopySceneCityData sceneId, destSceneId → 0 或 -1。把源场景城市数据复制到目标场景。
LuaFnSetIsCityCopyScene sceneId, isCityCopyScene;无返回值。设置城市副本标志。
LoadMonsterIni sceneId, monsterIni;无返回值。在场景执行怪物分布文件。

LuaFnSetIsCityCopyScene 无返回值,LoadMonsterIni 用于在**已存在的场景**中直接执行怪物分布文件。

创建副本

LuaFnSetSceneLoad_Map(sceneId, "scene01.nav")
LuaFnSetSceneLoad_Monster(sceneId, "scene01_monster.ini")
local newScene = LuaFnCreateCopyScene(sceneId)
if type(newScene) == "number" and newScene ~= -1 then
    -- 副本创建成功,newScene 为新副本场景编号
end

先在源场景设置加载文件与创建参数,再调用 LuaFnCreateCopyScene;成功返回副本场景编号。

相关主题

服务端调用约定 · 服务端调用示例 · 服务端函数索引

函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID

本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。