Lua接口/角色信息:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第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接口/服务端/GetName|GetName]] | |||
| <code>sceneId, selfId</code> → 名称字符串;失败返回空串。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetSex|GetSex]] | |||
| <code>sceneId, selfId</code> → 性别数值。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetMenPai|GetMenPai]] | |||
| <code>sceneId, selfId</code> → 门派 ID。 | |||
|- | |- | ||
| [[Lua接口/服务端/SetMenPai|SetMenPai]] | |||
| <code>sceneId, selfId, menpaiId</code>;无返回值。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetCurCamp|GetCurCamp]] | |||
| <code>sceneId, selfId</code> → 当前阵营编号。 | |||
|- | |- | ||
| [[Lua接口/服务端/SetCurCamp|SetCurCamp]] | |||
| <code>sceneId, selfId, campIndex</code>;无返回值。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetCharacterType|GetCharacterType]] | |||
| <code>sceneId, characterId</code> → 对象类型。 | |||
|} | |} | ||
门派、阵营编号由本服配置决定,不在 Lua 注册表里枚举。[[Lua接口/服务端/SetMenPai|SetMenPai]]、[[Lua接口/服务端/SetCurCamp|SetCurCamp]] 当前实现无返回值,不能靠接收变量判断是否成功,客户端界面一般需要重新刷新才会显示新门派 / 阵营。 | 门派、阵营编号由本服配置决定,不在 Lua 注册表里枚举。[[Lua接口/服务端/SetMenPai|SetMenPai]]、[[Lua接口/服务端/SetCurCamp|SetCurCamp]] 当前实现无返回值,不能靠接收变量判断是否成功,客户端界面一般需要重新刷新才会显示新门派 / 阵营。 | ||
== 称号 == | == 称号 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/GetCurTitle|GetCurTitle]] | |||
| <code>sceneId, selfId</code> → 当前显示称号的原始类型值。 | |||
|- | |- | ||
| [[Lua接口/服务端/SetCurTitle|SetCurTitle]] | |||
| <code>sceneId, selfId, titleType, titleIndex</code>;无返回值。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetTitle|GetTitle]] | |||
| <code>sceneId, selfId, titleIndex</code> → 某个称号。 | |||
|- | |- | ||
| [[Lua接口/服务端/SetCharacterTitle|SetCharacterTitle]] | |||
| <code>sceneId, selfId, title</code>;固定返回 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetDyTitlesNum|GetDyTitlesNum]] | |||
| <code>sceneId, selfId</code> → 动态称号个数。 | |||
|} | |} | ||
[[Lua接口/服务端/SetCurTitle|SetCurTitle]] 的脚本类型 1 到 5 映射到称号类型 2 到 6,不要把脚本类型与原始类型值直接混用。[[Lua接口/服务端/SetCharacterTitle|SetCharacterTitle]] 固定返回 -1,不能用 if 接收判断是否设置成功。 | [[Lua接口/服务端/SetCurTitle|SetCurTitle]] 的脚本类型 1 到 5 映射到称号类型 2 到 6,不要把脚本类型与原始类型值直接混用。[[Lua接口/服务端/SetCharacterTitle|SetCharacterTitle]] 固定返回 -1,不能用 if 接收判断是否设置成功。 | ||
== 外观与坐标 == | == 外观与坐标 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col | ! scope="col" | 接口 | ||
! scope="col | ! scope="col" | 参数与返回 | ||
|- | |- | ||
| [[Lua接口/服务端/GetHumanFaceModel|GetHumanFaceModel]] | |||
| <code>sceneId, selfId</code> → 脸部模型编号。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetHumanHairModel|GetHumanHairModel]] / [[Lua接口/服务端/SetHumanHairModel|SetHumanHairModel]] | |||
| <code>sceneId, selfId[, uHairStyle]</code>;读取模型或设置模型。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetHumanHairColor|GetHumanHairColor]] / [[Lua接口/服务端/SetHumanHairColor|SetHumanHairColor]] | |||
| <code>sceneId, selfId[, value]</code>;读取或设置头发颜色。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetWorldPos|GetWorldPos]] | |||
| <code>sceneId, selfId</code> → x、z 两个数值;失败返回 -1、-1。 | |||
|- | |- | ||
| [[Lua接口/服务端/GetHumanGUID|GetHumanGUID]] | |||
| <code>sceneId, selfId</code> → 角色 GUID;失败返回 -1。 | |||
|- | |- | ||
| [[Lua接口/服务端/LuaFnGuid2ObjId|LuaFnGuid2ObjId]] | |||
| <code>sceneId, guid</code> → 该 GUID 在当前场景的对象 ID;失败返回 -1。 | |||
|} | |} | ||
[[Lua接口/服务端/GetWorldPos|GetWorldPos]] 返回两个值,必须用 <code | [[Lua接口/服务端/GetWorldPos|GetWorldPos]] 返回两个值,必须用 <code>local x, z = GetWorldPos(sceneId, selfId)</code> 接收;只接一项会丢掉 z。[[Lua接口/服务端/GetHumanGUID|GetHumanGUID]] 返回的是角色 GUID,与场景对象 ID 不同,不能直接当 selfId 用,需要用 [[Lua接口/服务端/LuaFnGuid2ObjId|LuaFnGuid2ObjId]] 在当前场景换回对象 ID。这两个转换都要求对象仍在传入场景中。 | ||
== 读取角色身份 == | == 读取角色身份 == | ||
<pre | <pre>-- sceneId、selfId 来自服务端回调 | ||
local name = GetName(sceneId, selfId) | local name = GetName(sceneId, selfId) | ||
local level = GetLevel(sceneId, selfId) | local level = GetLevel(sceneId, selfId) | ||
| 第94行: | 第94行: | ||
== 切换门派 == | == 切换门派 == | ||
<pre | <pre>SetMenPai(sceneId, selfId, menpaiId) | ||
-- 无返回值;门派 ID 来自本服配置,不在 Lua 注册表里枚举</pre> | -- 无返回值;门派 ID 来自本服配置,不在 Lua 注册表里枚举</pre> | ||
门派切换后相关心法、技能由服务端另行处理,脚本不直接改这些。[[Lua接口/服务端/SetMenPai|SetMenPai]] 与 [[Lua接口/服务端/SetCurCamp|SetCurCamp]] 都无返回值,不能据此推断业务结果。 | 门派切换后相关心法、技能由服务端另行处理,脚本不直接改这些。[[Lua接口/服务端/SetMenPai|SetMenPai]] 与 [[Lua接口/服务端/SetCurCamp|SetCurCamp]] 都无返回值,不能据此推断业务结果。 | ||
| 第132行: | 第132行: | ||
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | ||
<div | <div class="lua-note">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div> | ||
</div> | </div> | ||
2026年9月19日 (六) 16:59的版本
读取角色身份、门派、阵营、称号、外观与坐标。这些接口都不修改属性数值,改值见 属性读取与修改、等级与经验。
身份与门派
| 接口 | 参数与返回 |
|---|---|
| GetName | sceneId, selfId → 名称字符串;失败返回空串。
|
| GetSex | sceneId, selfId → 性别数值。
|
| GetMenPai | sceneId, selfId → 门派 ID。
|
| SetMenPai | sceneId, selfId, menpaiId;无返回值。
|
| GetCurCamp | sceneId, selfId → 当前阵营编号。
|
| SetCurCamp | sceneId, selfId, campIndex;无返回值。
|
| GetCharacterType | sceneId, characterId → 对象类型。
|
门派、阵营编号由本服配置决定,不在 Lua 注册表里枚举。SetMenPai、SetCurCamp 当前实现无返回值,不能靠接收变量判断是否成功,客户端界面一般需要重新刷新才会显示新门派 / 阵营。
称号
| 接口 | 参数与返回 |
|---|---|
| GetCurTitle | sceneId, selfId → 当前显示称号的原始类型值。
|
| SetCurTitle | sceneId, selfId, titleType, titleIndex;无返回值。
|
| GetTitle | sceneId, selfId, titleIndex → 某个称号。
|
| SetCharacterTitle | sceneId, selfId, title;固定返回 -1。
|
| GetDyTitlesNum | sceneId, selfId → 动态称号个数。
|
SetCurTitle 的脚本类型 1 到 5 映射到称号类型 2 到 6,不要把脚本类型与原始类型值直接混用。SetCharacterTitle 固定返回 -1,不能用 if 接收判断是否设置成功。
外观与坐标
| 接口 | 参数与返回 |
|---|---|
| GetHumanFaceModel | sceneId, selfId → 脸部模型编号。
|
| GetHumanHairModel / SetHumanHairModel | sceneId, selfId[, uHairStyle];读取模型或设置模型。
|
| GetHumanHairColor / SetHumanHairColor | sceneId, selfId[, value];读取或设置头发颜色。
|
| GetWorldPos | sceneId, selfId → x、z 两个数值;失败返回 -1、-1。
|
| GetHumanGUID | sceneId, selfId → 角色 GUID;失败返回 -1。
|
| LuaFnGuid2ObjId | sceneId, guid → 该 GUID 在当前场景的对象 ID;失败返回 -1。
|
GetWorldPos 返回两个值,必须用 local x, z = GetWorldPos(sceneId, selfId) 接收;只接一项会丢掉 z。GetHumanGUID 返回的是角色 GUID,与场景对象 ID 不同,不能直接当 selfId 用,需要用 LuaFnGuid2ObjId 在当前场景换回对象 ID。这两个转换都要求对象仍在传入场景中。
读取角色身份
-- sceneId、selfId 来自服务端回调
local name = GetName(sceneId, selfId)
local level = GetLevel(sceneId, selfId)
local x, z = GetWorldPos(sceneId, selfId)
if type(name) == "string" and name ~= ""
and type(level) == "number" and level >= 0
and type(x) == "number" and type(z) == "number"
and x ~= -1 and z ~= -1 then
-- 取得名称、等级与坐标
end
GetName 失败返回空串、GetLevel 失败返回 -1、GetWorldPos 失败返回 -1、-1。先判类型再判数值,避免把 -1 当成有效坐标。完整示例见 服务端调用示例 的「读取角色信息」段。
切换门派
SetMenPai(sceneId, selfId, menpaiId) -- 无返回值;门派 ID 来自本服配置,不在 Lua 注册表里枚举
门派切换后相关心法、技能由服务端另行处理,脚本不直接改这些。SetMenPai 与 SetCurCamp 都无返回值,不能据此推断业务结果。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
- 队伍相关
- 帮会相关
- 消息与提示
- 聊天与公告
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。