Lua接口/副本相关:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞​(留言 | 贡献)
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
Waylee​(留言 | 贡献)
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
第1行: 第1行:
__NOTOC__
__NOTOC__
<div class="lua-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;">
<div class="lua-reference">
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]]
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]]


第6行: 第6行:


== 创建副本 ==
== 创建副本 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]]
| [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code> → 副本场景编号;失败 -1。
| <code>sceneId</code> → 副本场景编号;失败 -1。
|}
|}
[[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 根据当前场景已设置的副本创建参数创建或选择副本。
[[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 根据当前场景已设置的副本创建参数创建或选择副本。


== 副本加载文件 ==
== 副本加载文件 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_Map|LuaFnSetSceneLoad_Map]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_Map|LuaFnSetSceneLoad_Map]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, mapName</code>;无返回值。导航图文件(.nav)。
| <code>sceneId, mapName</code>;无返回值。导航图文件(.nav)。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_Monster|LuaFnSetSceneLoad_Monster]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_Monster|LuaFnSetSceneLoad_Monster]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, monsterName</code>;无返回值。怪物分布文件(_monster.ini)。
| <code>sceneId, monsterName</code>;无返回值。怪物分布文件(_monster.ini)。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_Platform|LuaFnSetSceneLoad_Platform]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_Platform|LuaFnSetSceneLoad_Platform]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, platformName</code>;无返回值。操作台分布文件。
| <code>sceneId, platformName</code>;无返回值。操作台分布文件。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_GrowPointData|LuaFnSetSceneLoad_GrowPointData]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_GrowPointData|LuaFnSetSceneLoad_GrowPointData]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, growpointdataName</code>;无返回值。生长点分布文件。
| <code>sceneId, growpointdataName</code>;无返回值。生长点分布文件。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_GrowPointSetup|LuaFnSetSceneLoad_GrowPointSetup]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_GrowPointSetup|LuaFnSetSceneLoad_GrowPointSetup]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, growpointsetupName</code>;无返回值。生长点产出分布文件。
| <code>sceneId, growpointsetupName</code>;无返回值。生长点产出分布文件。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_Area|LuaFnSetSceneLoad_Area]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_Area|LuaFnSetSceneLoad_Area]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, areaName</code>;无返回值。事件区分布文件(_area.ini)。
| <code>sceneId, areaName</code>;无返回值。事件区分布文件(_area.ini)。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_Pet|LuaFnSetSceneLoad_Pet]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_Pet|LuaFnSetSceneLoad_Pet]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, petName</code>;无返回值。宠物分布文件。
| <code>sceneId, petName</code>;无返回值。宠物分布文件。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneLoad_PatrolPointData|LuaFnSetSceneLoad_PatrolPointData]]
| [[Lua接口/服务端/LuaFnSetSceneLoad_PatrolPointData|LuaFnSetSceneLoad_PatrolPointData]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, patrolpointdataName</code>;无返回值。巡逻路径分布文件。
| <code>sceneId, patrolpointdataName</code>;无返回值。巡逻路径分布文件。
|}
|}
这一组都只传**文件名**(不含路径),全部无返回值。设置顺序不影响结果,但必须在 [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 之前完成。
这一组都只传**文件名**(不含路径),全部无返回值。设置顺序不影响结果,但必须在 [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 之前完成。


== 副本创建数据 ==
== 副本创建数据 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetCopySceneData_TeamLeader|LuaFnSetCopySceneData_TeamLeader]]
| [[Lua接口/服务端/LuaFnSetCopySceneData_TeamLeader|LuaFnSetCopySceneData_TeamLeader]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, guidLeader</code>;无返回值。设置队长 GUID。
| <code>sceneId, guidLeader</code>;无返回值。设置队长 GUID。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetCopySceneData_NoUserCloseTime|LuaFnSetCopySceneData_NoUserCloseTime]]
| [[Lua接口/服务端/LuaFnSetCopySceneData_NoUserCloseTime|LuaFnSetCopySceneData_NoUserCloseTime]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, closeTime</code>;无返回值。无人后自动关闭的时间。
| <code>sceneId, closeTime</code>;无返回值。无人后自动关闭的时间。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetCopySceneData_PvpRuler|LuaFnSetCopySceneData_PvpRuler]]
| [[Lua接口/服务端/LuaFnSetCopySceneData_PvpRuler|LuaFnSetCopySceneData_PvpRuler]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, pvpRuler</code>;无返回值。设置 PVP 规则。
| <code>sceneId, pvpRuler</code>;无返回值。设置 PVP 规则。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]]
| [[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uTime</code>;无返回值。定时器间隔,0 表示不设置。
| <code>sceneId, uTime</code>;无返回值。定时器间隔,0 表示不设置。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetCopySceneData_Param|LuaFnSetCopySceneData_Param]]
| [[Lua接口/服务端/LuaFnSetCopySceneData_Param|LuaFnSetCopySceneData_Param]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uIndex, nValue</code>;无返回值。设置场景参数。
| <code>sceneId, uIndex, nValue</code>;无返回值。设置场景参数。
|}
|}
这组设置接口都无返回值。[[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]] 传 0 表示没有设置定时器。
这组设置接口都无返回值。[[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]] 传 0 表示没有设置定时器。


== 读取副本创建数据 ==
== 读取副本创建数据 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopySceneData_TeamLeader|LuaFnGetCopySceneData_TeamLeader]]
| [[Lua接口/服务端/LuaFnGetCopySceneData_TeamLeader|LuaFnGetCopySceneData_TeamLeader]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code> → 队长 GUID;失败 -1。
| <code>sceneId</code> → 队长 GUID;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopySceneData_NoUserCloseTime|LuaFnGetCopySceneData_NoUserCloseTime]]
| [[Lua接口/服务端/LuaFnGetCopySceneData_NoUserCloseTime|LuaFnGetCopySceneData_NoUserCloseTime]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code> → 无人关闭时间(毫秒);失败 -1。
| <code>sceneId</code> → 无人关闭时间(毫秒);失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopySceneData_Timer|LuaFnGetCopySceneData_Timer]]
| [[Lua接口/服务端/LuaFnGetCopySceneData_Timer|LuaFnGetCopySceneData_Timer]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code> → 定时器间隔;0 表示未设置。
| <code>sceneId</code> → 定时器间隔;0 表示未设置。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopySceneData_Param|LuaFnGetCopySceneData_Param]]
| [[Lua接口/服务端/LuaFnGetCopySceneData_Param|LuaFnGetCopySceneData_Param]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uIndex</code> → 场景参数;0 或 -1。
| <code>sceneId, uIndex</code> → 场景参数;0 或 -1。
|}
|}


== 查询与准入 ==
== 查询与准入 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopyScene_HumanCount|LuaFnGetCopyScene_HumanCount]]
| [[Lua接口/服务端/LuaFnGetCopyScene_HumanCount|LuaFnGetCopyScene_HumanCount]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code> → 场景内玩家数量;0 或 -1。
| <code>sceneId</code> → 场景内玩家数量;0 或 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopyScene_HumanObjId|LuaFnGetCopyScene_HumanObjId]]
| [[Lua接口/服务端/LuaFnGetCopyScene_HumanObjId|LuaFnGetCopyScene_HumanObjId]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uIndex</code> → 指定索引玩家的对象 ID;失败 -1。
| <code>sceneId, uIndex</code> → 指定索引玩家的对象 ID;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/IsCanEnterCopyScene|IsCanEnterCopyScene]]
| [[Lua接口/服务端/IsCanEnterCopyScene|IsCanEnterCopyScene]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, guid</code> → 玩家能否进入;失败 -1。
| <code>sceneId, guid</code> → 玩家能否进入;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]]
| [[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, teamLeaderGUID, copySceneType</code> → 正在运行的副本场景编号;失败 -1。
| <code>sceneId, teamLeaderGUID, copySceneType</code> → 正在运行的副本场景编号;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]]
| [[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, copySceneType, checkParamNum</code> → 按参数查找的副本场景编号;失败 -1。
| <code>sceneId, copySceneType, checkParamNum</code> → 按参数查找的副本场景编号;失败 -1。
|}
|}
[[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]] 按队长和副本类型查找正在运行的副本,[[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]] 按副本参数查找,第三个参数是参数组数。
[[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]] 按队长和副本类型查找正在运行的副本,[[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]] 按副本参数查找,第三个参数是参数组数。


== 城市副本与怪物分布 ==
== 城市副本与怪物分布 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetSceneCopySceneCityData|LuaFnSetSceneCopySceneCityData]]
| [[Lua接口/服务端/LuaFnSetSceneCopySceneCityData|LuaFnSetSceneCopySceneCityData]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, destSceneId</code> → 0 或 -1。把源场景城市数据复制到目标场景。
| <code>sceneId, destSceneId</code> → 0 或 -1。把源场景城市数据复制到目标场景。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]]
| [[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, isCityCopyScene</code>;无返回值。设置城市副本标志。
| <code>sceneId, isCityCopyScene</code>;无返回值。设置城市副本标志。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]]
| [[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, monsterIni</code>;无返回值。在场景执行怪物分布文件。
| <code>sceneId, monsterIni</code>;无返回值。在场景执行怪物分布文件。
|}
|}
[[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]] 无返回值,[[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]] 用于在**已存在的场景**中直接执行怪物分布文件。
[[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]] 无返回值,[[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]] 用于在**已存在的场景**中直接执行怪物分布文件。


== 创建副本 ==
== 创建副本 ==
<pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">LuaFnSetSceneLoad_Map(sceneId, "scene01.nav")
<pre>LuaFnSetSceneLoad_Map(sceneId, "scene01.nav")
LuaFnSetSceneLoad_Monster(sceneId, "scene01_monster.ini")
LuaFnSetSceneLoad_Monster(sceneId, "scene01_monster.ini")
local newScene = LuaFnCreateCopyScene(sceneId)
local newScene = LuaFnCreateCopyScene(sceneId)
第167行: 第167行:
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]]
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]]


<div style="margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div>
<div class="lua-note">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div>


</div>
</div>

2026年9月19日 (六) 16:59的版本

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

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

创建副本

接口 参数与返回
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 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。