Lua接口/角色信息:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第107行: | 第107行: | ||
* [[Lua接口/背包空间|背包空间]] | * [[Lua接口/背包空间|背包空间]] | ||
* [[Lua接口/装备操作|装备操作]] | * [[Lua接口/装备操作|装备操作]] | ||
* [[Lua接口/任务状态|任务状态]] | |||
* [[Lua接口/任务变量|任务变量]] | |||
* [[Lua接口/NPC对话|NPC 对话]] | |||
* [[Lua接口/对话选项|对话选项]] | |||
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] | [[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]] | ||
2026年9月12日 (六) 12:30的版本
读取角色身份、门派、阵营、称号、外观与坐标。这些接口都不修改属性数值,改值见 属性读取与修改、等级与经验。
身份与门派
| 接口 | 参数与返回 |
|---|---|
| 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 都无返回值,不能据此推断业务结果。
相关主题
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。