Lua接口/珍兽操作:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞​(留言 | 贡献)
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
Waylee​(留言 | 贡献)
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
第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行:


== 创建与删除 ==
== 创建与删除 ==
{| 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接口/服务端/LuaFnCreatePetToHuman|LuaFnCreatePetToHuman]]
| [[Lua接口/服务端/LuaFnCreatePetToHuman|LuaFnCreatePetToHuman]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nPetDataID, nPetLevel, nRuler</code> → 创建结果(3 个值);部分分支无返回值。
| <code>sceneId, selfId, nPetDataID, nPetLevel, nRuler</code> → 创建结果(3 个值);部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnDeletePetByGUID|LuaFnDeletePetByGUID]]
| [[Lua接口/服务端/LuaFnDeletePetByGUID|LuaFnDeletePetByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 0 / 1 / -1,删除前记录完整档案到宠物日志。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 0 / 1 / -1,删除前记录完整档案到宠物日志。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/RecallPet|RecallPet]]
| [[Lua接口/服务端/RecallPet|RecallPet]]
| 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接口/服务端/LuaFnCreatePetToHuman|LuaFnCreatePetToHuman]] 按生成规则创建宠物,返回 3 个值。[[Lua接口/服务端/LuaFnDeletePetByGUID|LuaFnDeletePetByGUID]] 删除前会把完整档案写入宠物日志。[[Lua接口/服务端/RecallPet|RecallPet]] 无返回值。
[[Lua接口/服务端/LuaFnCreatePetToHuman|LuaFnCreatePetToHuman]] 按生成规则创建宠物,返回 3 个值。[[Lua接口/服务端/LuaFnDeletePetByGUID|LuaFnDeletePetByGUID]] 删除前会把完整档案写入宠物日志。[[Lua接口/服务端/RecallPet|RecallPet]] 无返回值。


== 属性设置 ==
== 属性设置 ==
{| 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接口/服务端/LuaFnSetPetHP|LuaFnSetPetHP]]
| [[Lua接口/服务端/LuaFnSetPetHP|LuaFnSetPetHP]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L, hp</code>;无返回值。
| <code>sceneId, selfId, petGUID_H, petGUID_L, hp</code>;无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetPetMaxHP|LuaFnSetPetMaxHP]]
| [[Lua接口/服务端/LuaFnSetPetMaxHP|LuaFnSetPetMaxHP]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, arg3, arg4, arg5</code>;无返回值。
| <code>sceneId, selfId, arg3, arg4, arg5</code>;无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetPetLife|LuaFnSetPetLife]]
| [[Lua接口/服务端/LuaFnSetPetLife|LuaFnSetPetLife]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L, life</code>;无返回值。
| <code>sceneId, selfId, petGUID_H, petGUID_L, life</code>;无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetPetHappiness|LuaFnSetPetHappiness]]
| [[Lua接口/服务端/LuaFnSetPetHappiness|LuaFnSetPetHappiness]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L, happiness</code>;无返回值。
| <code>sceneId, selfId, petGUID_H, petGUID_L, happiness</code>;无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetPetSavvy|SetPetSavvy]]
| [[Lua接口/服务端/SetPetSavvy|SetPetSavvy]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow, nSavvyNew</code> → 结果;部分分支无返回值。
| <code>sceneId, selfId, guidPetHigh, guidPetLow, nSavvyNew</code> → 结果;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetPetAITypeByGUID|LuaFnSetPetAITypeByGUID]]
| [[Lua接口/服务端/LuaFnSetPetAITypeByGUID|LuaFnSetPetAITypeByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow, nAIType</code> → 1 / 0。
| <code>sceneId, selfId, guidPetHigh, guidPetLow, nAIType</code> → 1 / 0。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetPetTitle|LuaFnSetPetTitle]]
| [[Lua接口/服务端/LuaFnSetPetTitle|LuaFnSetPetTitle]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow, tTitleID</code> → 部分分支无返回值。
| <code>sceneId, selfId, guidPetHigh, guidPetLow, tTitleID</code> → 部分分支无返回值。
|}
|}
[[Lua接口/服务端/LuaFnSetPetHP|LuaFnSetPetHP]]、[[Lua接口/服务端/LuaFnSetPetMaxHP|LuaFnSetPetMaxHP]]、[[Lua接口/服务端/LuaFnSetPetLife|LuaFnSetPetLife]]、[[Lua接口/服务端/LuaFnSetPetHappiness|LuaFnSetPetHappiness]] 都**无返回值**,赋值接收得到 nil,不能用 <code style="white-space:normal;overflow-wrap:anywhere;">if X(...) then</code> 判断成功。设置宠物悟性、写宠物日志并刷新详情由 [[Lua接口/服务端/SetPetSavvy|SetPetSavvy]] 完成。
[[Lua接口/服务端/LuaFnSetPetHP|LuaFnSetPetHP]]、[[Lua接口/服务端/LuaFnSetPetMaxHP|LuaFnSetPetMaxHP]]、[[Lua接口/服务端/LuaFnSetPetLife|LuaFnSetPetLife]]、[[Lua接口/服务端/LuaFnSetPetHappiness|LuaFnSetPetHappiness]] 都**无返回值**,赋值接收得到 nil,不能用 <code>if X(...) then</code> 判断成功。设置宠物悟性、写宠物日志并刷新详情由 [[Lua接口/服务端/SetPetSavvy|SetPetSavvy]] 完成。


== 技能学习 ==
== 技能学习 ==
{| 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接口/服务端/PetStudySkill|PetStudySkill]]
| [[Lua接口/服务端/PetStudySkill|PetStudySkill]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow, skillId</code> → 1 / 0。
| <code>sceneId, selfId, guidPetHigh, guidPetLow, skillId</code> → 1 / 0。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/PetStudySkill_MenPai|PetStudySkill_MenPai]]
| [[Lua接口/服务端/PetStudySkill_MenPai|PetStudySkill_MenPai]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, arg3, arg4, arg5</code> → 0。
| <code>sceneId, selfId, arg3, arg4, arg5</code> → 0。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnPetSkillUp|LuaFnPetSkillUp]]
| [[Lua接口/服务端/LuaFnPetSkillUp|LuaFnPetSkillUp]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow, nSkillIndex, nSkillID</code> → 部分分支无返回值;把指定技能替换为升级后的技能。
| <code>sceneId, selfId, guidPetHigh, guidPetLow, nSkillIndex, nSkillID</code> → 部分分支无返回值;把指定技能替换为升级后的技能。
|}
|}
[[Lua接口/服务端/PetStudySkill|PetStudySkill]] 让宠物学习指定技能,[[Lua接口/服务端/PetStudySkill_MenPai|PetStudySkill_MenPai]] 学习门派技能。[[Lua接口/服务端/LuaFnPetSkillUp|LuaFnPetSkillUp]] 按技能位替换为升级后的技能并发送刷新。
[[Lua接口/服务端/PetStudySkill|PetStudySkill]] 让宠物学习指定技能,[[Lua接口/服务端/PetStudySkill_MenPai|PetStudySkill_MenPai]] 学习门派技能。[[Lua接口/服务端/LuaFnPetSkillUp|LuaFnPetSkillUp]] 按技能位替换为升级后的技能并发送刷新。


== 训养与还童 ==
== 训养与还童 ==
{| 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接口/服务端/CalcPetDomesticationMoney|CalcPetDomesticationMoney]]
| [[Lua接口/服务端/CalcPetDomesticationMoney|CalcPetDomesticationMoney]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, humanId, petGUID_H, petGUID_L</code> → 训养费用;失败 -1。
| <code>sceneId, humanId, petGUID_H, petGUID_L</code> → 训养费用;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/PetDomestication|PetDomestication]]
| [[Lua接口/服务端/PetDomestication|PetDomestication]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 1 / -1。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 1 / -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetHuanTongCost|LuaFnGetPetHuanTongCost]]
| [[Lua接口/服务端/LuaFnGetPetHuanTongCost|LuaFnGetPetHuanTongCost]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, takeLevel</code> → 还童费用;失败 -1。
| <code>sceneId, takeLevel</code> → 还童费用;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnPetCanReturnToChild|LuaFnPetCanReturnToChild]]
| [[Lua接口/服务端/LuaFnPetCanReturnToChild|LuaFnPetCanReturnToChild]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L, nRuler, nSpecifyPetDataID</code> → 是否可还童;部分分支无返回值。
| <code>sceneId, selfId, petGUID_H, petGUID_L, nRuler, nSpecifyPetDataID</code> → 是否可还童;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnPetReturnToChild|LuaFnPetReturnToChild]]
| [[Lua接口/服务端/LuaFnPetReturnToChild|LuaFnPetReturnToChild]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L, nRuler, nSpecifyPetDataID</code> → 还童结果(2 个值);部分分支无返回值。
| <code>sceneId, selfId, petGUID_H, petGUID_L, nRuler, nSpecifyPetDataID</code> → 还童结果(2 个值);部分分支无返回值。
|}
|}
[[Lua接口/服务端/CalcPetDomesticationMoney|CalcPetDomesticationMoney]] 先算费用,[[Lua接口/服务端/PetDomestication|PetDomestication]] 执行训养。[[Lua接口/服务端/LuaFnPetReturnToChild|LuaFnPetReturnToChild]] 需要 6 个参数,返回 2 个值。
[[Lua接口/服务端/CalcPetDomesticationMoney|CalcPetDomesticationMoney]] 先算费用,[[Lua接口/服务端/PetDomestication|PetDomestication]] 执行训养。[[Lua接口/服务端/LuaFnPetReturnToChild|LuaFnPetReturnToChild]] 需要 6 个参数,返回 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接口/服务端/PetAddExp|PetAddExp]]
| [[Lua接口/服务端/PetAddExp|PetAddExp]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nExp</code> → 部分分支无返回值;为当前出战宠物加经验。
| <code>sceneId, selfId, nExp</code> → 部分分支无返回值;为当前出战宠物加经验。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnCheckResetPetAttrPt|LuaFnCheckResetPetAttrPt]]
| [[Lua接口/服务端/LuaFnCheckResetPetAttrPt|LuaFnCheckResetPetAttrPt]]
| 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接口/服务端/LuaFnResetPetAttrPt|LuaFnResetPetAttrPt]]
| [[Lua接口/服务端/LuaFnResetPetAttrPt|LuaFnResetPetAttrPt]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 1 / -1;重置并刷新详情。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 1 / -1;重置并刷新详情。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetPetNumExtra|SetPetNumExtra]]
| [[Lua接口/服务端/SetPetNumExtra|SetPetNumExtra]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, yValue</code> → 1 / 0;允许范围 0 到 4。
| <code>sceneId, selfId, yValue</code> → 1 / 0;允许范围 0 到 4。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnPetCanUseFood|LuaFnPetCanUseFood]]
| [[Lua接口/服务端/LuaFnPetCanUseFood|LuaFnPetCanUseFood]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, petGUID_H, petGUID_L, nIndex</code> → 是否可食用;失败 -1。
| <code>sceneId, selfId, petGUID_H, petGUID_L, nIndex</code> → 是否可食用;失败 -1。
|}
|}
[[Lua接口/服务端/SetPetNumExtra|SetPetNumExtra]] 的额外宠物栏数量允许范围是 0 到 4。[[Lua接口/服务端/PetAddExp|PetAddExp]] 部分分支不返回值。
[[Lua接口/服务端/SetPetNumExtra|SetPetNumExtra]] 的额外宠物栏数量允许范围是 0 到 4。[[Lua接口/服务端/PetAddExp|PetAddExp]] 部分分支不返回值。


== 融合与悟性提升 ==
== 融合与悟性提升 ==
{| 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接口/服务端/LuaFnCallPetCompoundUI|LuaFnCallPetCompoundUI]]
| [[Lua接口/服务端/LuaFnCallPetCompoundUI|LuaFnCallPetCompoundUI]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId, nUIIndex</code> → 1 / 0;打开宠物融合界面。
| <code>sceneId, selfId, targetId, nUIIndex</code> → 1 / 0;打开宠物融合界面。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/IncreaceSavvyByCompound|IncreaceSavvyByCompound]]
| [[Lua接口/服务端/IncreaceSavvyByCompound|IncreaceSavvyByCompound]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, destPetHigh, destPetLow, assistantPetHigh, assistantPetLow</code> → 悟性变化值;部分分支无返回值。
| <code>sceneId, selfId, destPetHigh, destPetLow, assistantPetHigh, assistantPetLow</code> → 悟性变化值;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetCostOfGenGuBySavvy|GetCostOfGenGuBySavvy]]
| [[Lua接口/服务端/GetCostOfGenGuBySavvy|GetCostOfGenGuBySavvy]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nSavvy</code> → 提升根骨费用;部分分支无返回值。
| <code>sceneId, selfId, nSavvy</code> → 提升根骨费用;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetSuccrateOfGenGuBySavvy|GetSuccrateOfGenGuBySavvy]]
| [[Lua接口/服务端/GetSuccrateOfGenGuBySavvy|GetSuccrateOfGenGuBySavvy]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nSavvy</code> → 提升根骨成功率;部分分支无返回值。
| <code>sceneId, selfId, nSavvy</code> → 提升根骨成功率;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetLeveldownOfCompoundBySavvy|GetLeveldownOfCompoundBySavvy]]
| [[Lua接口/服务端/GetLeveldownOfCompoundBySavvy|GetLeveldownOfCompoundBySavvy]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, nSavvy</code> → 融合后按悟性扣减的等级;部分分支无返回值。
| <code>sceneId, selfId, nSavvy</code> → 融合后按悟性扣减的等级;部分分支无返回值。
|}
|}
这组接口按悟性读取融合 / 根骨相关的费用、成功率与等级扣减,用悟性值作为查询参数。
这组接口按悟性读取融合 / 根骨相关的费用、成功率与等级扣减,用悟性值作为查询参数。


== 繁殖 ==
== 繁殖 ==
{| 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接口/服务端/LuaFnCheckCallPetProcreateRegisterUI|LuaFnCheckCallPetProcreateRegisterUI]]
| [[Lua接口/服务端/LuaFnCheckCallPetProcreateRegisterUI|LuaFnCheckCallPetProcreateRegisterUI]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId</code> → 是否满足登记条件;部分分支无返回值。
| <code>sceneId, selfId, targetId</code> → 是否满足登记条件;部分分支无返回值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnCallPetProcreateRegisterUI|LuaFnCallPetProcreateRegisterUI]]
| [[Lua接口/服务端/LuaFnCallPetProcreateRegisterUI|LuaFnCallPetProcreateRegisterUI]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId, nUIIndex</code> → 1 / 0;打开登记界面。
| <code>sceneId, selfId, targetId, nUIIndex</code> → 1 / 0;打开登记界面。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnCheckPetProcreateTakeOut|LuaFnCheckPetProcreateTakeOut]]
| [[Lua接口/服务端/LuaFnCheckPetProcreateTakeOut|LuaFnCheckPetProcreateTakeOut]]
| 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接口/服务端/LuaFnPetProcreateTakeOut|LuaFnPetProcreateTakeOut]]
| [[Lua接口/服务端/LuaFnPetProcreateTakeOut|LuaFnPetProcreateTakeOut]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 1 / 0;领取繁殖结果。
| <code>sceneId, selfId</code> → 1 / 0;领取繁殖结果。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetPetProcreateInfo|LuaFnGetPetProcreateInfo]]
| [[Lua接口/服务端/LuaFnGetPetProcreateInfo|LuaFnGetPetProcreateInfo]]
| 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接口/服务端/LuaFnGetPetProcreateInfo|LuaFnGetPetProcreateInfo]] 无返回值,结果由世界服异步返回。
[[Lua接口/服务端/LuaFnGetPetProcreateInfo|LuaFnGetPetProcreateInfo]] 无返回值,结果由世界服异步返回。


== 锁与 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接口/服务端/LuaFnIsPetLockedByGUID|LuaFnIsPetLockedByGUID]]
| [[Lua接口/服务端/LuaFnIsPetLockedByGUID|LuaFnIsPetLockedByGUID]]
| 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接口/服务端/LuaFnIsPetPWLockedByGUID|LuaFnIsPetPWLockedByGUID]]
| [[Lua接口/服务端/LuaFnIsPetPWLockedByGUID|LuaFnIsPetPWLockedByGUID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, guidPetHigh, guidPetLow</code> → 是否受二级密码保护;宠物不存在时不返回 Lua 值。
| <code>sceneId, selfId, guidPetHigh, guidPetLow</code> → 是否受二级密码保护;宠物不存在时不返回 Lua 值。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetLowSectionOfTargetPetGuid|LuaFnGetLowSectionOfTargetPetGuid]]
| [[Lua接口/服务端/LuaFnGetLowSectionOfTargetPetGuid|LuaFnGetLowSectionOfTargetPetGuid]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, nSelfID</code> → 当前操作目标珍兽 GUID 低段;失败 -1。
| <code>sceneId, nSelfID</code> → 当前操作目标珍兽 GUID 低段;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetHighSectionOfTargetPetGuid|LuaFnGetHighSectionOfTargetPetGuid]]
| [[Lua接口/服务端/LuaFnGetHighSectionOfTargetPetGuid|LuaFnGetHighSectionOfTargetPetGuid]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, nSelfID</code> → 当前操作目标珍兽 GUID 高段;失败 -1。
| <code>sceneId, nSelfID</code> → 当前操作目标珍兽 GUID 高段;失败 -1。
|}
|}
[[Lua接口/服务端/LuaFnGetLowSectionOfTargetPetGuid|LuaFnGetLowSectionOfTargetPetGuid]] 和 [[Lua接口/服务端/LuaFnGetHighSectionOfTargetPetGuid|LuaFnGetHighSectionOfTargetPetGuid]] 用于在当前操作流程中直接读取目标珍兽的 GUID 高低段,省去先取 GUID 再拆分。
[[Lua接口/服务端/LuaFnGetLowSectionOfTargetPetGuid|LuaFnGetLowSectionOfTargetPetGuid]] 和 [[Lua接口/服务端/LuaFnGetHighSectionOfTargetPetGuid|LuaFnGetHighSectionOfTargetPetGuid]] 用于在当前操作流程中直接读取目标珍兽的 GUID 高低段,省去先取 GUID 再拆分。


== 设置宠物生命 ==
== 设置宠物生命 ==
<pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">LuaFnSetPetHP(sceneId, selfId, guidPetHigh, guidPetLow, 100)
<pre>LuaFnSetPetHP(sceneId, selfId, guidPetHigh, guidPetLow, 100)
-- 无返回值;不能写 if LuaFnSetPetHP(...) then 判断
-- 无返回值;不能写 if LuaFnSetPetHP(...) then 判断
-- 想确认应改读 LuaFnGetPetHP 回比</pre>
-- 想确认应改读 LuaFnGetPetHP 回比</pre>
第179行: 第179行:


== 学习宠物技能 ==
== 学习宠物技能 ==
<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 result = PetStudySkill(sceneId, selfId, guidPetHigh, guidPetLow, skillId)
<pre>local result = PetStudySkill(sceneId, selfId, guidPetHigh, guidPetLow, skillId)
if type(result) == "number" and result == 1 then
if type(result) == "number" and result == 1 then
     -- 学习成功
     -- 学习成功
end</pre>
end</pre>
[[Lua接口/服务端/PetStudySkill|PetStudySkill]] 返回 1 表示成功、0 表示失败,用 <code style="white-space:normal;overflow-wrap:anywhere;">== 1</code> 判断。
[[Lua接口/服务端/PetStudySkill|PetStudySkill]] 返回 1 表示成功、0 表示失败,用 <code>== 1</code> 判断。


== 收回宠物 ==
== 收回宠物 ==
<pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">RecallPet(sceneId, selfId)
<pre>RecallPet(sceneId, selfId)
-- 无返回值;收回玩家当前召唤的宠物</pre>
-- 无返回值;收回玩家当前召唤的宠物</pre>
[[Lua接口/服务端/RecallPet|RecallPet]] 无返回值。
[[Lua接口/服务端/RecallPet|RecallPet]] 无返回值。
第224行: 第224行:
[[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 class="lua-note">本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。</div>


</div>
</div>

2026年9月19日 (六) 16:59的版本

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

创建、删除、召唤、设置属性、学习技能、训养、还童、融合与繁殖珍兽。多数接口用 GUID 高低段定位宠物。

创建与删除

接口 参数与返回
LuaFnCreatePetToHuman sceneId, selfId, nPetDataID, nPetLevel, nRuler → 创建结果(3 个值);部分分支无返回值。
LuaFnDeletePetByGUID sceneId, selfId, guidPetHigh, guidPetLow → 0 / 1 / -1,删除前记录完整档案到宠物日志。
RecallPet sceneId, selfId;无返回值。收回当前召唤的宠物。

LuaFnCreatePetToHuman 按生成规则创建宠物,返回 3 个值。LuaFnDeletePetByGUID 删除前会把完整档案写入宠物日志。RecallPet 无返回值。

属性设置

接口 参数与返回
LuaFnSetPetHP sceneId, selfId, petGUID_H, petGUID_L, hp;无返回值。
LuaFnSetPetMaxHP sceneId, selfId, arg3, arg4, arg5;无返回值。
LuaFnSetPetLife sceneId, selfId, petGUID_H, petGUID_L, life;无返回值。
LuaFnSetPetHappiness sceneId, selfId, petGUID_H, petGUID_L, happiness;无返回值。
SetPetSavvy sceneId, selfId, guidPetHigh, guidPetLow, nSavvyNew → 结果;部分分支无返回值。
LuaFnSetPetAITypeByGUID sceneId, selfId, guidPetHigh, guidPetLow, nAIType → 1 / 0。
LuaFnSetPetTitle sceneId, selfId, guidPetHigh, guidPetLow, tTitleID → 部分分支无返回值。

LuaFnSetPetHP、LuaFnSetPetMaxHP、LuaFnSetPetLife、LuaFnSetPetHappiness 都**无返回值**,赋值接收得到 nil,不能用 if X(...) then 判断成功。设置宠物悟性、写宠物日志并刷新详情由 SetPetSavvy 完成。

技能学习

接口 参数与返回
PetStudySkill sceneId, selfId, guidPetHigh, guidPetLow, skillId → 1 / 0。
PetStudySkill_MenPai sceneId, selfId, arg3, arg4, arg5 → 0。
LuaFnPetSkillUp sceneId, selfId, guidPetHigh, guidPetLow, nSkillIndex, nSkillID → 部分分支无返回值;把指定技能替换为升级后的技能。

PetStudySkill 让宠物学习指定技能,PetStudySkill_MenPai 学习门派技能。LuaFnPetSkillUp 按技能位替换为升级后的技能并发送刷新。

训养与还童

接口 参数与返回
CalcPetDomesticationMoney sceneId, humanId, petGUID_H, petGUID_L → 训养费用;失败 -1。
PetDomestication sceneId, selfId, guidPetHigh, guidPetLow → 1 / -1。
LuaFnGetPetHuanTongCost sceneId, takeLevel → 还童费用;失败 -1。
LuaFnPetCanReturnToChild sceneId, selfId, petGUID_H, petGUID_L, nRuler, nSpecifyPetDataID → 是否可还童;部分分支无返回值。
LuaFnPetReturnToChild sceneId, selfId, petGUID_H, petGUID_L, nRuler, nSpecifyPetDataID → 还童结果(2 个值);部分分支无返回值。

CalcPetDomesticationMoney 先算费用,PetDomestication 执行训养。LuaFnPetReturnToChild 需要 6 个参数,返回 2 个值。

经验与属性点

接口 参数与返回
PetAddExp sceneId, selfId, nExp → 部分分支无返回值;为当前出战宠物加经验。
LuaFnCheckResetPetAttrPt sceneId, selfId, guidPetHigh, guidPetLow → 是否允许重置;失败 -1。
LuaFnResetPetAttrPt sceneId, selfId, guidPetHigh, guidPetLow → 1 / -1;重置并刷新详情。
SetPetNumExtra sceneId, selfId, yValue → 1 / 0;允许范围 0 到 4。
LuaFnPetCanUseFood sceneId, selfId, petGUID_H, petGUID_L, nIndex → 是否可食用;失败 -1。

SetPetNumExtra 的额外宠物栏数量允许范围是 0 到 4。PetAddExp 部分分支不返回值。

融合与悟性提升

接口 参数与返回
LuaFnCallPetCompoundUI sceneId, selfId, targetId, nUIIndex → 1 / 0;打开宠物融合界面。
IncreaceSavvyByCompound sceneId, selfId, destPetHigh, destPetLow, assistantPetHigh, assistantPetLow → 悟性变化值;部分分支无返回值。
GetCostOfGenGuBySavvy sceneId, selfId, nSavvy → 提升根骨费用;部分分支无返回值。
GetSuccrateOfGenGuBySavvy sceneId, selfId, nSavvy → 提升根骨成功率;部分分支无返回值。
GetLeveldownOfCompoundBySavvy sceneId, selfId, nSavvy → 融合后按悟性扣减的等级;部分分支无返回值。

这组接口按悟性读取融合 / 根骨相关的费用、成功率与等级扣减,用悟性值作为查询参数。

繁殖

接口 参数与返回
LuaFnCheckCallPetProcreateRegisterUI sceneId, selfId, targetId → 是否满足登记条件;部分分支无返回值。
LuaFnCallPetProcreateRegisterUI sceneId, selfId, targetId, nUIIndex → 1 / 0;打开登记界面。
LuaFnCheckPetProcreateTakeOut sceneId, selfId → 是否满足领取条件;部分分支无返回值。
LuaFnPetProcreateTakeOut sceneId, selfId → 1 / 0;领取繁殖结果。
LuaFnGetPetProcreateInfo sceneId, selfId;无返回值。向世界服查询繁殖记录。

LuaFnGetPetProcreateInfo 无返回值,结果由世界服异步返回。

锁与 GUID 高低段

接口 参数与返回
LuaFnIsPetLockedByGUID sceneId, selfId, guidPetHigh, guidPetLow → 是否被运行时交易锁锁定;部分分支无返回值。
LuaFnIsPetPWLockedByGUID sceneId, selfId, guidPetHigh, guidPetLow → 是否受二级密码保护;宠物不存在时不返回 Lua 值。
LuaFnGetLowSectionOfTargetPetGuid sceneId, nSelfID → 当前操作目标珍兽 GUID 低段;失败 -1。
LuaFnGetHighSectionOfTargetPetGuid sceneId, nSelfID → 当前操作目标珍兽 GUID 高段;失败 -1。

LuaFnGetLowSectionOfTargetPetGuid 和 LuaFnGetHighSectionOfTargetPetGuid 用于在当前操作流程中直接读取目标珍兽的 GUID 高低段,省去先取 GUID 再拆分。

设置宠物生命

LuaFnSetPetHP(sceneId, selfId, guidPetHigh, guidPetLow, 100)
-- 无返回值;不能写 if LuaFnSetPetHP(...) then 判断
-- 想确认应改读 LuaFnGetPetHP 回比

LuaFnSetPetHP 无返回值。需要确认生效应在用 LuaFnGetPetHP 读回比较。

学习宠物技能

local result = PetStudySkill(sceneId, selfId, guidPetHigh, guidPetLow, skillId)
if type(result) == "number" and result == 1 then
    -- 学习成功
end

PetStudySkill 返回 1 表示成功、0 表示失败,用 == 1 判断。

收回宠物

RecallPet(sceneId, selfId)
-- 无返回值;收回玩家当前召唤的宠物

RecallPet 无返回值。

相关主题

服务端调用约定 · 服务端调用示例 · 服务端函数索引

函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID

本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。