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

来自天龙知识库
跳到导航跳到搜索
雪舞​(留言 | 贡献)
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
Waylee​(留言 | 贡献)
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
__NOTOC__
__NOTOC__
<div class="lua-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;">
<div class="lua-reference">
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]]
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端调用约定|调用约定]]


第6行: 第6行:


== GUID 获取 ==
== GUID 获取 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetGUID|LuaFnGetPetGUID]]
| [[Lua接口/服务端/LuaFnGetPetGUID|LuaFnGetPetGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petIndex</code> → 宠物 GUID 高低段(2 个值);无返回表示没有。
| <code>sceneId, selfId, petIndex</code> → 宠物 GUID 高低段(2 个值);无返回表示没有。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetCurrentPetGUID|LuaFnGetCurrentPetGUID]]
| [[Lua接口/服务端/LuaFnGetCurrentPetGUID|LuaFnGetCurrentPetGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 当前召唤宠物 GUID 高低段(2 个值);未召唤不返回值。
| <code>sceneId, selfId</code> → 当前召唤宠物 GUID 高低段(2 个值);未召唤不返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetObjIdByGUID|LuaFnGetPetObjIdByGUID]]
| [[Lua接口/服务端/LuaFnGetPetObjIdByGUID|LuaFnGetPetObjIdByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 已召唤时返回场景对象 ID,否则 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 已召唤时返回场景对象 ID,否则 -1。
|}
|}
[[Lua接口/服务端/LuaFnGetPetGUID|LuaFnGetPetGUID]] 和 [[Lua接口/服务端/LuaFnGetCurrentPetGUID|LuaFnGetCurrentPetGUID]] 都返回**两个值**(高段、低段),必须用两个变量接收。珍兽接口普遍使用这种高低段 GUID,与场景对象 ID 不同——需要对象 ID 时用 [[Lua接口/服务端/LuaFnGetPetObjIdByGUID|LuaFnGetPetObjIdByGUID]] 转换。
[[Lua接口/服务端/LuaFnGetPetGUID|LuaFnGetPetGUID]] 和 [[Lua接口/服务端/LuaFnGetCurrentPetGUID|LuaFnGetCurrentPetGUID]] 都返回'''两个值'''(高段、低段),必须用两个变量接收。珍兽接口普遍使用这种高低段 GUID,与场景对象 ID 不同——需要对象 ID 时用 [[Lua接口/服务端/LuaFnGetPetObjIdByGUID|LuaFnGetPetObjIdByGUID]] 转换。


== 等级与经验 ==
== 等级与经验 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetLevelByGUID|LuaFnGetPetLevelByGUID]]
| [[Lua接口/服务端/LuaFnGetPetLevelByGUID|LuaFnGetPetLevelByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 等级;失败 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 等级;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPet_ExpByGUID|GetPet_ExpByGUID]]
| [[Lua接口/服务端/GetPet_ExpByGUID|GetPet_ExpByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 当前经验;宠物不存在返回 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 当前经验;宠物不存在返回 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetNeedExp|LuaFnGetPetNeedExp]]
| [[Lua接口/服务端/LuaFnGetPetNeedExp|LuaFnGetPetNeedExp]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petLevel</code> → 该等级升级所需经验;非正等级返回 0。
| <code>sceneId, selfId, petLevel</code> → 该等级升级所需经验;非正等级返回 0。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetMaxLevelToHuman|GetPetMaxLevelToHuman]]
| [[Lua接口/服务端/GetPetMaxLevelToHuman|GetPetMaxLevelToHuman]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 相对主人允许的最高等级;失败 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 相对主人允许的最高等级;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetMaxLevelLimit|GetPetMaxLevelLimit]]
| [[Lua接口/服务端/GetPetMaxLevelLimit|GetPetMaxLevelLimit]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">()</code> → 宠物等级配置表允许的最大等级(无参)。
| <code>()</code> → 宠物等级配置表允许的最大等级(无参)。
|}
|}
[[Lua接口/服务端/LuaFnGetPetNeedExp|LuaFnGetPetNeedExp]] 传的是**等级**(petLevel),不是 GUID。[[Lua接口/服务端/GetPetMaxLevelLimit|GetPetMaxLevelLimit]] 不接受参数。
[[Lua接口/服务端/LuaFnGetPetNeedExp|LuaFnGetPetNeedExp]] 传的是'''等级'''(petLevel),不是 GUID。[[Lua接口/服务端/GetPetMaxLevelLimit|GetPetMaxLevelLimit]] 不接受参数。


== 生命与寿命 ==
== 生命与寿命 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetHP|LuaFnGetPetHP]] / [[Lua接口/服务端/LuaFnGetPetMaxHP|LuaFnGetPetMaxHP]]
| [[Lua接口/服务端/LuaFnGetPetHP|LuaFnGetPetHP]] / [[Lua接口/服务端/LuaFnGetPetMaxHP|LuaFnGetPetMaxHP]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L</code> → 当前 / 上限生命;失败 -1。
| <code>sceneId, selfId, petGUID_H, petGUID_L</code> → 当前 / 上限生命;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetLife|LuaFnGetPetLife]] / [[Lua接口/服务端/LuaFnGetPetMaxLife|LuaFnGetPetMaxLife]]
| [[Lua接口/服务端/LuaFnGetPetLife|LuaFnGetPetLife]] / [[Lua接口/服务端/LuaFnGetPetMaxLife|LuaFnGetPetMaxLife]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L</code> → 当前 / 最大寿命;失败 -1。
| <code>sceneId, selfId, petGUID_H, petGUID_L</code> → 当前 / 最大寿命;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetHappiness|LuaFnGetPetHappiness]]
| [[Lua接口/服务端/LuaFnGetPetHappiness|LuaFnGetPetHappiness]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L</code> → 快乐度;失败 -1。
| <code>sceneId, selfId, petGUID_H, petGUID_L</code> → 快乐度;失败 -1。
|}
|}
注意这组查询接口的参数名是 petGUID_H / petGUID_L,与设置接口的 happy 等混用需按实际顺序传入。
注意这组查询接口的参数名是 petGUID_H / petGUID_L,与设置接口的 happy 等混用需按实际顺序传入。


== 悟性与资质 ==
== 悟性与资质 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetSavvy|GetPetSavvy]]
| [[Lua接口/服务端/GetPetSavvy|GetPetSavvy]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 悟性;宠物不存在返回 0。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 悟性;宠物不存在返回 0。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetGenGuByGUID|LuaFnGetPetGenGuByGUID]]
| [[Lua接口/服务端/LuaFnGetPetGenGuByGUID|LuaFnGetPetGenGuByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 根骨;失败 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 根骨;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetPerceptionLevel|GetPetPerceptionLevel]]
| [[Lua接口/服务端/GetPetPerceptionLevel|GetPetPerceptionLevel]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 资质档位;部分分支无返回值。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 资质档位;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetTransString|GetPetTransString]]
| [[Lua接口/服务端/GetPetTransString|GetPetTransString]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 转移字符串;不存在返回空串。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 转移字符串;不存在返回空串。
|}
|}
[[Lua接口/服务端/GetPetSavvy|GetPetSavvy]] 宠物不存在返回 0(与失败 -1 不同),不要用 0 判断「失败」。
[[Lua接口/服务端/GetPetSavvy|GetPetSavvy]] 宠物不存在返回 0(与失败 -1 不同),不要用 0 判断「失败」。


== 类型与属性 ==
== 类型与属性 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetTypeByGUID|LuaFnGetPetTypeByGUID]]
| [[Lua接口/服务端/LuaFnGetPetTypeByGUID|LuaFnGetPetTypeByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 类型(宝宝 / 变异 / 野生);失败 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 类型(宝宝 / 变异 / 野生);失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetAITypeByGUID|LuaFnGetPetAITypeByGUID]]
| [[Lua接口/服务端/LuaFnGetPetAITypeByGUID|LuaFnGetPetAITypeByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 性格类型;失败 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 性格类型;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetDataIDByGUID|LuaFnGetPetDataIDByGUID]]
| [[Lua接口/服务端/LuaFnGetPetDataIDByGUID|LuaFnGetPetDataIDByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 模型数据编号;失败 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 模型数据编号;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetNameByGUID|LuaFnGetPetNameByGUID]]
| [[Lua接口/服务端/LuaFnGetPetNameByGUID|LuaFnGetPetNameByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 名称;不存在 -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 名称;不存在 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetSpouseGUIDByGUID|LuaFnGetPetSpouseGUIDByGUID]]
| [[Lua接口/服务端/LuaFnGetPetSpouseGUIDByGUID|LuaFnGetPetSpouseGUIDByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 配偶 GUID 高低段(2 个值);不存在不返回值。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 配偶 GUID 高低段(2 个值);不存在不返回值。
|}
|}


== 称号与数量 ==
== 称号与数量 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetTitleAttr|LuaFnGetPetTitleAttr]]
| [[Lua接口/服务端/LuaFnGetPetTitleAttr|LuaFnGetPetTitleAttr]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, arg3, arg4, titleId</code> → 类别、等级、格式、说明(4 个值)。
| <code>sceneId, selfId, arg3, arg4, titleId</code> → 类别、等级、格式、说明(4 个值)。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetNumMax|GetPetNumMax]]
| [[Lua接口/服务端/GetPetNumMax|GetPetNumMax]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 允许携带的宠物数量上限;部分分支无返回值。
| <code>sceneId, selfId</code> → 允许携带的宠物数量上限;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetNumExtra|GetPetNumExtra]]
| [[Lua接口/服务端/GetPetNumExtra|GetPetNumExtra]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 额外宠物栏数量;部分分支无返回值。
| <code>sceneId, selfId</code> → 额外宠物栏数量;部分分支无返回值。
|}
|}
[[Lua接口/服务端/LuaFnGetPetTitleAttr|LuaFnGetPetTitleAttr]] 返回 4 个值,需要用 4 个变量接收。
[[Lua接口/服务端/LuaFnGetPetTitleAttr|LuaFnGetPetTitleAttr]] 返回 4 个值,需要用 4 个变量接收。


== 技能与药品配置 ==
== 技能与药品配置 ==
{| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;"
{| class="wikitable"
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 接口
! scope="col" | 接口
! scope="col" style="text-align:left;background:#edf3f2;padding:8px;" | 参数与返回
! scope="col" | 参数与返回
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetBookSkillID|GetPetBookSkillID]]
| [[Lua接口/服务端/GetPetBookSkillID|GetPetBookSkillID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, nBookItemID</code> → 技能书物品对应的技能编号;失败 -1。
| <code>sceneId, nBookItemID</code> → 技能书物品对应的技能编号;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetSkillLevelupTbl|GetPetSkillLevelupTbl]]
| [[Lua接口/服务端/GetPetSkillLevelupTbl|GetPetSkillLevelupTbl]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow, nSkillIndex</code> → 升级技能、消耗物品、费用、广播标记(5 个值)。
| <code>sceneId, selfId, guidPetHigh, guidPetLow, nSkillIndex</code> → 升级技能、消耗物品、费用、广播标记(5 个值)。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetPetMedicineHCTbl|GetPetMedicineHCTbl]]
| [[Lua接口/服务端/GetPetMedicineHCTbl|GetPetMedicineHCTbl]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, nMedicineHCID</code> → 合成后物品编号及费用(2 个值);失败 -100。
| <code>sceneId, nMedicineHCID</code> → 合成后物品编号及费用(2 个值);失败 -100。
|}
|}
[[Lua接口/服务端/GetPetSkillLevelupTbl|GetPetSkillLevelupTbl]] 返回 5 个值,[[Lua接口/服务端/GetPetMedicineHCTbl|GetPetMedicineHCTbl]] 返回 2 个值,注意按顺序接收。
[[Lua接口/服务端/GetPetSkillLevelupTbl|GetPetSkillLevelupTbl]] 返回 5 个值,[[Lua接口/服务端/GetPetMedicineHCTbl|GetPetMedicineHCTbl]] 返回 2 个值,注意按顺序接收。


== 读取宠物等级 ==
== 读取宠物等级 ==
<pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local high, low = LuaFnGetPetGUID(sceneId, selfId, petIndex)
<pre>local high, low = LuaFnGetPetGUID(sceneId, selfId, petIndex)
if type(high) == "number" and type(low) == "number" then
if type(high) == "number" and type(low) == "number" then
     local level = LuaFnGetPetLevelByGUID(sceneId, selfId, high, low)
     local level = LuaFnGetPetLevelByGUID(sceneId, selfId, high, low)
第142行: 第142行:


== 读取宠物悟性 ==
== 读取宠物悟性 ==
<pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">local savvy = GetPetSavvy(sceneId, selfId, guidPetHigh, guidPetLow)
<pre>local savvy = GetPetSavvy(sceneId, selfId, guidPetHigh, guidPetLow)
if type(savvy) == "number" then
if type(savvy) == "number" then
     -- savvy 为悟性;宠物不存在时返回 0
     -- savvy 为悟性;宠物不存在时返回 0
第181行: 第181行:


[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]]
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]]
<div style="margin-top:20px;padding-top:10px;border-top:1px solid #dbe3e6;color:#657078;font-size:12px;">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div>


</div>
</div>

2026年10月26日 (一) 17:29的最新版本

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

查询珍兽的 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