Lua接口/珍兽查询:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞留言 | 贡献
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
雪舞留言 | 贡献
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
 
第173行: 第173行:
* [[Lua接口/时间与计时|时间与计时]]
* [[Lua接口/时间与计时|时间与计时]]
* [[Lua接口/怪物相关|怪物相关]]
* [[Lua接口/怪物相关|怪物相关]]
* [[Lua接口/队伍相关|队伍相关]]
* [[Lua接口/帮会相关|帮会相关]]
* [[Lua接口/消息与提示|消息与提示]]
* [[Lua接口/聊天与公告|聊天与公告]]


[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]

2026年9月12日 (六) 13:54的最新版本

首页 · 服务端接口 · 调用约定

查询珍兽的 GUID、等级、生命、悟性、资质、类型、名称与技能配置。多数接口用 GUID 的高低段(guidPetHigh、guidPetLow)定位宠物,而不是场景对象 ID。

GUID 获取

接口 参数与返回
LuaFnGetPetGUID sceneId, selfId, petIndex → 宠物 GUID 高低段(2 个值);无返回表示没有。
LuaFnGetCurrentPetGUID sceneId, selfId → 当前召唤宠物 GUID 高低段(2 个值);未召唤不返回值。
LuaFnGetPetObjIdByGUID sceneId, selfId, guidPetHigh, guidPetLow → 已召唤时返回场景对象 ID,否则 -1。

LuaFnGetPetGUIDLuaFnGetCurrentPetGUID 都返回**两个值**(高段、低段),必须用两个变量接收。珍兽接口普遍使用这种高低段 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 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。