Lua接口/场景查询:修订间差异
来自雪舞天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| (未显示同一用户的1个中间版本) | |||
| 第22行: | 第22行: | ||
| <code>()</code> → 当前游戏世界编号(无参);失败 -1。 | | <code>()</code> → 当前游戏世界编号(无参);失败 -1。 | ||
|} | |} | ||
[[Lua接口/服务端/GetSceneName|GetSceneName]] 不存在时返回 | [[Lua接口/服务端/GetSceneName|GetSceneName]] 不存在时返回'''空串''',不是 -1;[[Lua接口/服务端/LuaFnGetWorldID|LuaFnGetWorldID]] 不接受参数。 | ||
== 安全等级 == | == 安全等级 == | ||
| 第146行: | 第146行: | ||
[[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的最新版本
查询场景的名称、类型、资源、安全等级、天气与场景内对象。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