Lua接口/场景查询:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第138行: | 第138行: | ||
* [[Lua接口/时间与计时|时间与计时]] | * [[Lua接口/时间与计时|时间与计时]] | ||
* [[Lua接口/怪物相关|怪物相关]] | * [[Lua接口/怪物相关|怪物相关]] | ||
* [[Lua接口/队伍相关|队伍相关]] | |||
* [[Lua接口/帮会相关|帮会相关]] | |||
* [[Lua接口/消息与提示|消息与提示]] | |||
* [[Lua接口/聊天与公告|聊天与公告]] | |||
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] | [[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] | ||
2026年9月12日 (六) 13:54的最新版本
查询场景的名称、类型、资源、安全等级、天气与场景内对象。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 再遍历。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
- 队伍相关
- 帮会相关
- 消息与提示
- 聊天与公告
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。