Lua接口/服务端/DispatchAbilityInfo:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第4行: | 第4行: | ||
<div style="padding:14px 0;border-top:3px solid #287568;border-bottom:1px solid #dbe3e6;">向玩家发送生活技能老师的学习费用、经验和等级限制信息。</div> | <div style="padding:14px 0;border-top:3px solid #287568;border-bottom:1px solid #dbe3e6;">向玩家发送生活技能老师的学习费用、经验和等级限制信息。</div> | ||
== Lua 调用 == | == Lua 调用 == | ||
| 第11行: | 第9行: | ||
服务端脚本中共出现 30 处调用,实参个数出现过:9 个(30 处)。 | 服务端脚本中共出现 30 处调用,实参个数出现过:9 个(30 处)。 | ||
实现位于 <code style="white-space:normal;overflow-wrap:anywhere;">LuaFnTbl_Shop.h</code> 第 2133 行,注册表第 684 行。 | |||
== 参数 == | == 参数 == | ||
| 第87行: | 第87行: | ||
* 调用对象必须是当前场景中的有效玩家。 | * 调用对象必须是当前场景中的有效玩家。 | ||
* 调用前要求玩家处于可执行逻辑的状态(实现体断言 <code style="white-space:normal;overflow-wrap:anywhere;">pHuman->IsCanLogic()</code>);不满足时会记录断言,应先确认玩家当前状态。 | * 调用前要求玩家处于可执行逻辑的状态(实现体断言 <code style="white-space:normal;overflow-wrap:anywhere;">pHuman->IsCanLogic()</code>);不满足时会记录断言,应先确认玩家当前状态。 | ||
</div> | </div> | ||
2026年9月19日 (六) 13:23的版本
向玩家发送生活技能老师的学习费用、经验和等级限制信息。
Lua 调用
DispatchAbilityInfo(sceneId, selfId, targetId, scriptId, AbilityId, nNeedMoney, nNeedExp, nNeedSkillExp, nLevelLimit)
服务端脚本中共出现 30 处调用,实参个数出现过:9 个(30 处)。
实现位于 LuaFnTbl_Shop.h 第 2133 行,注册表第 684 行。
参数
| 序号 | 参数 / 类型 | 说明 |
|---|---|---|
| 1 | sceneIdnumber
|
当前调用所在的场景 ID。 脚本中的实参: sceneId(30 处)
|
| 2 | selfIdnumber
|
当前场景内的对象 ID。玩家接口需传入有效玩家对象;不是角色 GUID。 脚本中的实参: selfId(30 处)
|
| 3 | targetIdnumber
|
目标的场景对象 ID。 脚本中的实参: targetId(30 处)
|
| 4 | scriptIdnumber
|
脚本配置编号。 脚本中的实参: tempScriptId(11 处)、x713561_g_ScriptId、x713562_g_ScriptId
|
| 5 | AbilityIdnumber
|
生活技能编号。 脚本中的实参: tempAbilityId(20 处)、x713561_g_AbilityID、x713562_g_AbilityID
|
| 6 | nNeedMoneynumber
|
所需金钱。 脚本中的实参: demandMoney(30 处)
|
| 7 | nNeedExpnumber
|
所需经验。 脚本中的实参: demandExp(30 处)
|
| 8 | nNeedSkillExpnumber
|
所需技能经验。 脚本中的实参: limitAbilityExpShow(30 处)
|
| 9 | nLevelLimitnumber
|
等级限制。 脚本中的实参: limitLevel(30 处)
|
返回值
无返回值。赋值接收时得到 nil;这与返回数字 0 不同。
脚本中的调用
以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。
-- event/liveabilityevent/elevelup_caibingshu.lua DispatchAbilityInfo(sceneId, selfId, targetId, tempScriptId, tempAbilityId, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_caikuang.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713567_g_ScriptId, x713567_g_AbilityID, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_caiyao.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713568_g_ScriptId, x713568_g_AbilityID, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_diaoyu.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713569_g_ScriptId, x713569_g_AbilityID, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_fengren.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713565_g_ScriptId, x713565_g_AbilityID, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_gongyi.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713566_g_ScriptId, x713566_g_AbilityID, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_kaiguang.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713571_g_ScriptId, tempAbilityId, demandMoney, demandExp, limitAbilityExpShow, limitLevel) -- event/liveabilityevent/elevelup_liandan.lua DispatchAbilityInfo(sceneId, selfId, targetId, x713578_g_ScriptId, tempAbilityId, demandMoney, demandExp, limitAbilityExpShow, limitLevel)
注意事项
- 调用对象必须是当前场景中的有效玩家。
- 调用前要求玩家处于可执行逻辑的状态(实现体断言
pHuman->IsCanLogic());不满足时会记录断言,应先确认玩家当前状态。