Lua接口/场景查询

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

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

查询场景的名称、类型、资源、安全等级、天气与场景内对象。sceneId 由当前回调提供,代表调用所在场景。

基础信息

接口 参数与返回
GetSceneName sceneId → 场景名称;不存在返回空串。
LuaFnGetSceneType sceneId → 场景类型(见 SceneInfo.ini 的 Type 字段)。
LuaFnGetSceneClientResID sceneId → 客户端资源编号;失败 -1。
LuaFnGetWorldID () → 当前游戏世界编号(无参);失败 -1。

GetSceneName 不存在时返回**空串**,不是 -1;LuaFnGetWorldID 不接受参数。

安全等级

接口 参数与返回
LuaFnGetSceneSafeLevel sceneId → 安全等级限制;失败 -1。
LuaFnSetSceneSafeLevel sceneId, safeLevel;无返回值。

LuaFnSetSceneSafeLevel 无返回值,需要确认生效应改读 LuaFnGetSceneSafeLevel 回比。

天气

接口 参数与返回
LuaFnGetSceneWeather sceneId → 当前天气编号;未设置返回 -1。
LuaFnSetSceneWeather sceneId, weather, leftTime;无返回值。leftTime 为剩余毫秒。

LuaFnSetSceneWeather 无返回值,第三个参数 leftTime 是持续时间(毫秒)。

场景属性

接口 参数与返回
LuaFnGetSceneAttr_CanCreateRascalKiller sceneId → 是否允许创建惩罚恶人 NPC;缺配置返回 0。
LuaFnGetSceneAttr_RandomMonsterDataID sceneId → 候选怪物中随机一个数据编号。

LuaFnGetSceneAttr_CanCreateRascalKiller 缺少配置时返回 0,与失败 -1 不同。

对象有效性

接口 参数与返回
LuaFnIsObjValid sceneId, objId → 对象是否存在;失败 -1。
LuaFnIsCharacterLiving sceneId, objId → 对象是否存活;失败 -1。
LuaFnCheckCharacterState sceneId, objId, checkActiveState, checkAliveState → 检查结果;失败 -1。

LuaFnCheckCharacterState 需要 4 个参数,可按需分别检查激活状态与存活状态。

场景内对象遍历

接口 参数与返回
GetMonsterCount sceneId → 场景内怪物数量;失败 -1。
GetMonsterObjID sceneId, nIndex → 指定索引怪物的对象 ID;失败 -1。
LuaFnGetCopyScene_HumanCount sceneId → 场景内玩家数量;0 或 -1。
LuaFnGetCopyScene_HumanObjId sceneId, uIndex → 指定索引玩家的对象 ID;失败 -1。

先取数量再按索引遍历对象 ID,索引从 0 开始。数量为 0 时不要进入遍历。

读取场景名称与类型

local name = GetSceneName(sceneId)
if type(name) == "string" and name ~= "" then
    local sceneType = LuaFnGetSceneType(sceneId)
    -- 取得场景名称与类型
end

GetSceneName 不存在返回空串,用 name ~= "" 判断。

遍历场景怪物

local count = GetMonsterCount(sceneId)
if type(count) == "number" and count ~= -1 then
    local objId = GetMonsterObjID(sceneId, 0)
end

GetMonsterCount 失败返回 -1,先判类型再排除 -1 再遍历。

相关主题

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

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

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