Lua接口/珍兽查询
来自天龙知识库
查询珍兽的 GUID、等级、生命、悟性、资质、类型、名称与技能配置。多数接口用 GUID 的高低段(guidPetHigh、guidPetLow)定位宠物,而不是场景对象 ID。
GUID 获取
| 接口 | 参数与返回 |
|---|---|
| LuaFnGetPetGUID | sceneId, selfId, petIndex → 宠物 GUID 高低段(2 个值);无返回表示没有。
|
| LuaFnGetCurrentPetGUID | sceneId, selfId → 当前召唤宠物 GUID 高低段(2 个值);未召唤不返回值。
|
| LuaFnGetPetObjIdByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 已召唤时返回场景对象 ID,否则 -1。
|
LuaFnGetPetGUID 和 LuaFnGetCurrentPetGUID 都返回**两个值**(高段、低段),必须用两个变量接收。珍兽接口普遍使用这种高低段 GUID,与场景对象 ID 不同——需要对象 ID 时用 LuaFnGetPetObjIdByGUID 转换。
等级与经验
| 接口 | 参数与返回 |
|---|---|
| LuaFnGetPetLevelByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 等级;失败 -1。
|
| GetPet_ExpByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 当前经验;宠物不存在返回 -1。
|
| LuaFnGetPetNeedExp | sceneId, selfId, petLevel → 该等级升级所需经验;非正等级返回 0。
|
| GetPetMaxLevelToHuman | sceneId, selfId, guidPetHigh, guidPetLow → 相对主人允许的最高等级;失败 -1。
|
| GetPetMaxLevelLimit | () → 宠物等级配置表允许的最大等级(无参)。
|
LuaFnGetPetNeedExp 传的是**等级**(petLevel),不是 GUID。GetPetMaxLevelLimit 不接受参数。
生命与寿命
| 接口 | 参数与返回 |
|---|---|
| LuaFnGetPetHP / LuaFnGetPetMaxHP | sceneId, selfId, petGUID_H, petGUID_L → 当前 / 上限生命;失败 -1。
|
| LuaFnGetPetLife / LuaFnGetPetMaxLife | sceneId, selfId, petGUID_H, petGUID_L → 当前 / 最大寿命;失败 -1。
|
| LuaFnGetPetHappiness | sceneId, selfId, petGUID_H, petGUID_L → 快乐度;失败 -1。
|
注意这组查询接口的参数名是 petGUID_H / petGUID_L,与设置接口的 happy 等混用需按实际顺序传入。
悟性与资质
| 接口 | 参数与返回 |
|---|---|
| GetPetSavvy | sceneId, selfId, guidPetHigh, guidPetLow → 悟性;宠物不存在返回 0。
|
| LuaFnGetPetGenGuByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 根骨;失败 -1。
|
| GetPetPerceptionLevel | sceneId, selfId, guidPetHigh, guidPetLow → 资质档位;部分分支无返回值。
|
| GetPetTransString | sceneId, selfId, guidPetHigh, guidPetLow → 转移字符串;不存在返回空串。
|
GetPetSavvy 宠物不存在返回 0(与失败 -1 不同),不要用 0 判断「失败」。
类型与属性
| 接口 | 参数与返回 |
|---|---|
| LuaFnGetPetTypeByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 类型(宝宝 / 变异 / 野生);失败 -1。
|
| LuaFnGetPetAITypeByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 性格类型;失败 -1。
|
| LuaFnGetPetDataIDByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 模型数据编号;失败 -1。
|
| LuaFnGetPetNameByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 名称;不存在 -1。
|
| LuaFnGetPetSpouseGUIDByGUID | sceneId, selfId, guidPetHigh, guidPetLow → 配偶 GUID 高低段(2 个值);不存在不返回值。
|
称号与数量
| 接口 | 参数与返回 |
|---|---|
| LuaFnGetPetTitleAttr | sceneId, selfId, arg3, arg4, titleId → 类别、等级、格式、说明(4 个值)。
|
| GetPetNumMax | sceneId, selfId → 允许携带的宠物数量上限;部分分支无返回值。
|
| GetPetNumExtra | sceneId, selfId → 额外宠物栏数量;部分分支无返回值。
|
LuaFnGetPetTitleAttr 返回 4 个值,需要用 4 个变量接收。
技能与药品配置
| 接口 | 参数与返回 |
|---|---|
| GetPetBookSkillID | sceneId, nBookItemID → 技能书物品对应的技能编号;失败 -1。
|
| GetPetSkillLevelupTbl | sceneId, selfId, guidPetHigh, guidPetLow, nSkillIndex → 升级技能、消耗物品、费用、广播标记(5 个值)。
|
| GetPetMedicineHCTbl | sceneId, nMedicineHCID → 合成后物品编号及费用(2 个值);失败 -100。
|
GetPetSkillLevelupTbl 返回 5 个值,GetPetMedicineHCTbl 返回 2 个值,注意按顺序接收。
读取宠物等级
local high, low = LuaFnGetPetGUID(sceneId, selfId, petIndex)
if type(high) == "number" and type(low) == "number" then
local level = LuaFnGetPetLevelByGUID(sceneId, selfId, high, low)
if type(level) == "number" and level ~= -1 then
-- 取得宠物等级
end
end
LuaFnGetPetGUID 返回两个值(高段、低段),用两个变量接收,再传给其他按 GUID 定位的接口。
读取宠物悟性
local savvy = GetPetSavvy(sceneId, selfId, guidPetHigh, guidPetLow)
if type(savvy) == "number" then
-- savvy 为悟性;宠物不存在时返回 0
end
GetPetSavvy 宠物不存在返回 0,不要用 0 判断失败;失败路径需要另判。
相关主题
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID
本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。