Lua接口/坐标与传送
来自天龙知识库
读取与设置角色坐标、切换场景、计算距离与设置复活点。坐标接口通常返回 X、Z 两个值。
读取坐标
| 接口 | 参数与返回 |
|---|---|
| GetWorldPos | sceneId, selfId → x、z 两个值;失败 -1、-1。
|
| LuaFnGetUnitPosition | sceneId, selfId → X、Z 两个值;目标无效不返回值。
|
| GetHumanWorldX / GetHumanWorldZ | sceneId, selfId → 世界坐标 X / Z;失败 -1。
|
GetWorldPos 和 LuaFnGetUnitPosition 都返回**两个值**,必须用两个变量接收,只接一项会丢掉 Z。
设置坐标
| 接口 | 参数与返回 |
|---|---|
| SetPos | sceneId, selfId, x, z;无返回值。同场景内的位置转移。
|
| SetRevPos | sceneId, selfId, x, z;无返回值。设置玩家重生点(再次登入当前世界的位置)。
|
SetPos 只在当前场景内移动,不切换场景;SetRevPos 设置的是**登录 / 复活时的重生点**,不是即时位置。
切换场景
| 接口 | 参数与返回 |
|---|---|
| NewWorld | sceneId, selfId, targetSceneId, x, z;无返回值。切换到目标场景。
|
| IsCanNewWorld | sceneId, selfId, targetSceneId, x, z → 是否满足准入条件;部分分支无返回值。
|
| SetCanChangeScene | sceneId, selfId, canChange → 1 / -1。控制玩家是否允许切换场景。
|
NewWorld 无返回值,切换前应先用 IsCanNewWorld 判断准入条件。SetCanChangeScene 控制是否**允许**切换场景(用于锁定场景),返回 1 或 -1。
距离判断
| 接口 | 参数与返回 |
|---|---|
| IsInDist | sceneId, selfId, targetId, dist → 是否在 dist 内(含边界);失败 -1。
|
| GetDist | sceneId, selfId, targetId, arg4 → 两个对象的距离;失败 -1。
|
IsInDist 的 dist 是上限(包含边界),GetDist 返回实际距离。
ID 转换
| 接口 | 参数与返回 |
|---|---|
| LuaFnObjId2Guid | sceneId, selfId → 该对象 ID 对应的 GUID;失败 -1。
|
| LuaFnGuid2ObjId | sceneId, guid → 该 GUID 在当前场景的对象 ID;失败 -1。
|
GUID 是全局标识,对象 ID 只在当前场景有效。两者转换要求对象仍在对应场景中,详见 对象 ID 与 GUID。
默认复活点
| 接口 | 参数与返回 |
|---|---|
| SetPlayerDefaultReliveInfo | sceneId, selfId, pszHP, pszMP, pszSP, defaultSceneID, defaultPosX, defaultPosZ;无返回值。8 个参数。
|
| SetPlayerDefaultReliveInfoEx | sceneId, selfId, pszHP, pszMP, pszSP, defaultSceneID, defaultPosX, defaultPosZ, scriptId;无返回值。9 个参数。
|
这两个接口参数很多,Ex 版本多一个 scriptId。传入的 HP / MP / SP 是**字符串**(psz 前缀)。
检查并切换场景
local ok = IsCanNewWorld(sceneId, selfId, targetSceneId, posX, posZ)
if type(ok) == "number" and ok == 1 then
NewWorld(sceneId, selfId, targetSceneId, posX, posZ)
end
NewWorld 无返回值,先用 IsCanNewWorld 判断准入。
读取并设置坐标
local x, z = GetWorldPos(sceneId, selfId)
if type(x) == "number" and type(z) == "number" and x ~= -1 then
SetPos(sceneId, selfId, x, z)
end
GetWorldPos 返回两个值,先用两个变量接收再传回 SetPos。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。