Lua接口/副本相关:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| (未显示同一用户的2个中间版本) | |||
| 第1行: | 第1行: | ||
__NOTOC__ | __NOTOC__ | ||
<div class="lua-reference | <div class="lua-reference"> | ||
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]] | ||
| 第6行: | 第6行: | ||
== 创建副本 == | == 创建副本 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] | |||
| <code>sceneId</code> → 副本场景编号;失败 -1。 | |||
|} | |} | ||
[[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 根据当前场景已设置的副本创建参数创建或选择副本。 | [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 根据当前场景已设置的副本创建参数创建或选择副本。 | ||
== 副本加载文件 == | == 副本加载文件 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_Map|LuaFnSetSceneLoad_Map]] | |||
| <code>sceneId, mapName</code>;无返回值。导航图文件(.nav)。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_Monster|LuaFnSetSceneLoad_Monster]] | |||
| <code>sceneId, monsterName</code>;无返回值。怪物分布文件(_monster.ini)。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_Platform|LuaFnSetSceneLoad_Platform]] | |||
| <code>sceneId, platformName</code>;无返回值。操作台分布文件。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_GrowPointData|LuaFnSetSceneLoad_GrowPointData]] | |||
| <code>sceneId, growpointdataName</code>;无返回值。生长点分布文件。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_GrowPointSetup|LuaFnSetSceneLoad_GrowPointSetup]] | |||
| <code>sceneId, growpointsetupName</code>;无返回值。生长点产出分布文件。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_Area|LuaFnSetSceneLoad_Area]] | |||
| <code>sceneId, areaName</code>;无返回值。事件区分布文件(_area.ini)。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_Pet|LuaFnSetSceneLoad_Pet]] | |||
| <code>sceneId, petName</code>;无返回值。宠物分布文件。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneLoad_PatrolPointData|LuaFnSetSceneLoad_PatrolPointData]] | |||
| <code>sceneId, patrolpointdataName</code>;无返回值。巡逻路径分布文件。 | |||
|} | |} | ||
这一组都只传 | 这一组都只传'''文件名'''(不含路径),全部无返回值。设置顺序不影响结果,但必须在 [[Lua接口/服务端/LuaFnCreateCopyScene|LuaFnCreateCopyScene]] 之前完成。 | ||
== 副本创建数据 == | == 副本创建数据 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetCopySceneData_TeamLeader|LuaFnSetCopySceneData_TeamLeader]] | |||
| <code>sceneId, guidLeader</code>;无返回值。设置队长 GUID。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetCopySceneData_NoUserCloseTime|LuaFnSetCopySceneData_NoUserCloseTime]] | |||
| <code>sceneId, closeTime</code>;无返回值。无人后自动关闭的时间。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetCopySceneData_PvpRuler|LuaFnSetCopySceneData_PvpRuler]] | |||
| <code>sceneId, pvpRuler</code>;无返回值。设置 PVP 规则。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]] | |||
| <code>sceneId, uTime</code>;无返回值。定时器间隔,0 表示不设置。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetCopySceneData_Param|LuaFnSetCopySceneData_Param]] | |||
| <code>sceneId, uIndex, nValue</code>;无返回值。设置场景参数。 | |||
|} | |} | ||
这组设置接口都无返回值。[[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]] 传 0 表示没有设置定时器。 | 这组设置接口都无返回值。[[Lua接口/服务端/LuaFnSetCopySceneData_Timer|LuaFnSetCopySceneData_Timer]] 传 0 表示没有设置定时器。 | ||
== 读取副本创建数据 == | == 读取副本创建数据 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopySceneData_TeamLeader|LuaFnGetCopySceneData_TeamLeader]] | |||
| <code>sceneId</code> → 队长 GUID;失败 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopySceneData_NoUserCloseTime|LuaFnGetCopySceneData_NoUserCloseTime]] | |||
| <code>sceneId</code> → 无人关闭时间(毫秒);失败 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopySceneData_Timer|LuaFnGetCopySceneData_Timer]] | |||
| <code>sceneId</code> → 定时器间隔;0 表示未设置。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopySceneData_Param|LuaFnGetCopySceneData_Param]] | |||
| <code>sceneId, uIndex</code> → 场景参数;0 或 -1。 | |||
|} | |} | ||
== 查询与准入 == | == 查询与准入 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopyScene_HumanCount|LuaFnGetCopyScene_HumanCount]] | |||
| <code>sceneId</code> → 场景内玩家数量;0 或 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopyScene_HumanObjId|LuaFnGetCopyScene_HumanObjId]] | |||
| <code>sceneId, uIndex</code> → 指定索引玩家的对象 ID;失败 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/IsCanEnterCopyScene|IsCanEnterCopyScene]] | |||
| <code>sceneId, guid</code> → 玩家能否进入;失败 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]] | |||
| <code>sceneId, teamLeaderGUID, copySceneType</code> → 正在运行的副本场景编号;失败 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]] | |||
| <code>sceneId, copySceneType, checkParamNum</code> → 按参数查找的副本场景编号;失败 -1。 | |||
|} | |} | ||
[[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]] 按队长和副本类型查找正在运行的副本,[[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]] 按副本参数查找,第三个参数是参数组数。 | [[Lua接口/服务端/LuaFnGetCopySceneIDByTeamLeaderGUID|LuaFnGetCopySceneIDByTeamLeaderGUID]] 按队长和副本类型查找正在运行的副本,[[Lua接口/服务端/FindCopySceneIDByCopySceneParams|FindCopySceneIDByCopySceneParams]] 按副本参数查找,第三个参数是参数组数。 | ||
== 城市副本与怪物分布 == | == 城市副本与怪物分布 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetSceneCopySceneCityData|LuaFnSetSceneCopySceneCityData]] | |||
| <code>sceneId, destSceneId</code> → 0 或 -1。把源场景城市数据复制到目标场景。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]] | |||
| <code>sceneId, isCityCopyScene</code>;无返回值。设置城市副本标志。 | |||
|- | |- | ||
| [[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]] | |||
| <code>sceneId, monsterIni</code>;无返回值。在场景执行怪物分布文件。 | |||
|} | |} | ||
[[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]] 无返回值,[[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]] 用于在 | [[Lua接口/服务端/LuaFnSetIsCityCopyScene|LuaFnSetIsCityCopyScene]] 无返回值,[[Lua接口/服务端/LoadMonsterIni|LoadMonsterIni]] 用于在'''已存在的场景'''中直接执行怪物分布文件。 | ||
== 创建副本 == | == 创建副本 == | ||
<pre | <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) | ||
| 第166行: | 第166行: | ||
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | ||
</div> | </div> | ||
2026年10月26日 (一) 17:29的最新版本
创建副本、设置副本加载文件与创建参数、查询副本运行状态。副本创建分两步:先设置创建选项,再调用创建接口。
创建副本
| 接口 | 参数与返回 |
|---|---|
| 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;成功返回副本场景编号。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
- 队伍相关
- 帮会相关
- 消息与提示
- 聊天与公告
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID