Lua接口/服务端/AwardTitle:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| (未显示同一用户的2个中间版本) | |||
| 第1行: | 第1行: | ||
__NOTOC__ | __NOTOC__ | ||
<div class="lua-reference | <div class="lua-reference"> | ||
[[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端函数索引/通用与活动|通用与活动]] · [[Lua接口/服务端调用约定|调用约定]] | [[首页|首页]] · [[Lua接口/服务端函数索引|服务端接口]] · [[Lua接口/服务端函数索引/通用与活动|通用与活动]] · [[Lua接口/服务端调用约定|调用约定]] | ||
<div | <div class="lua-lead lua-rule">为selfId授予一个称号</div> | ||
同一接口的其他调用名称:<code | 同一接口的其他调用名称:<code>LuaFnAwardTitle</code>。 | ||
== Lua 调用 == | == Lua 调用 == | ||
<pre | <pre>AwardTitle(sceneId, selfId, TitleIndex, TitleId, uDisabledTime)</pre> | ||
服务端脚本中共出现 29 处调用,实参个数出现过:4 个(20 处)、5 个(9 处)。 | 服务端脚本中共出现 29 处调用,实参个数出现过:4 个(20 处)、5 个(9 处)。 | ||
实现位于 <code | 实现位于 <code>LuaFnTbl_Misc.h</code>。 | ||
== 参数 == | == 参数 == | ||
{| class="wikitable | {| class="wikitable" | ||
! scope="col" | ! scope="col" class="lua-w11" | 序号 | ||
! scope="col" | ! scope="col" class="lua-w36" | 参数 / 类型 | ||
! scope="col | ! scope="col" | 说明 | ||
|- | |- | ||
| 1 | |||
| <code>sceneId</code><br /><span class="lua-muted"><code>number</code></span> | |||
| 当前调用所在的场景 ID。<br /><span class="lua-muted">脚本中的实参:<code>sceneId</code>(29 处)</span> | |||
|- | |- | ||
| 2 | |||
| <code>selfId</code><br /><span class="lua-muted"><code>number</code></span> | |||
| 当前场景内的对象 ID。玩家接口需传入有效玩家对象;不是角色 GUID。<br /><span class="lua-muted">脚本中的实参:<code>selfId</code>(22 处)、<code>nHumanId</code>(4 处)、<code>targetId</code>(2 处)</span> | |||
|- | |- | ||
| 3 | |||
| <code>TitleIndex</code><br /><span class="lua-muted"><code>number</code></span> | |||
| 称号ID<br /><span class="lua-muted">脚本中的实参:<code>13</code>(4 处)、<code>8</code>(4 处)、<code>14</code>(3 处)</span> | |||
|- | |- | ||
| 4 | |||
| <code>TitleId</code><br /><span class="lua-muted"><code>number</code></span> | |||
| 称号ID<br /><span class="lua-muted">脚本中的实参:<code>untBounty[2]</code>(4 处)、<code>233</code>(2 处)、<code>234</code>(2 处)</span> | |||
|- | |- | ||
| 5 | |||
| <code>uDisabledTime</code><br /><span class="lua-muted"><code>number</code></span> | |||
| 禁用时间。<br /><span class="lua-muted">脚本中的实参:<code>7*24</code>(4 处)、<code>24 * 7</code>(2 处)、<code>24 * x808080_GodFireTitle_AlongTime</code></span> | |||
|} | |} | ||
| 第46行: | 第46行: | ||
== 脚本中的调用 == | == 脚本中的调用 == | ||
以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。 | 以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。 | ||
<pre | <pre>-- event/caoyun/ecaoyun.lua | ||
LuaFnAwardTitle(sceneId, selfId, 5, New_Title) | LuaFnAwardTitle(sceneId, selfId, 5, New_Title) | ||
| 第73行: | 第73行: | ||
* 调用对象必须是当前场景中的有效玩家。 | * 调用对象必须是当前场景中的有效玩家。 | ||
* 脚本中有只传 4 个实参的调用,少于实现体读取的 5 个位置;缺省位置按引擎对缺失值的转换处理(通常为 0),不能直接当作有效数据。 | * 脚本中有只传 4 个实参的调用,少于实现体读取的 5 个位置;缺省位置按引擎对缺失值的转换处理(通常为 0),不能直接当作有效数据。 | ||
* 调用前要求玩家处于可执行逻辑的状态(实现体断言 <code | * 调用前要求玩家处于可执行逻辑的状态(实现体断言 <code>pHuman->IsCanLogic()</code>);不满足时会记录断言,应先确认玩家当前状态。 | ||
</div> | </div> | ||
2026年9月20日 (日) 00:13的最新版本
为selfId授予一个称号
同一接口的其他调用名称:LuaFnAwardTitle。
Lua 调用
AwardTitle(sceneId, selfId, TitleIndex, TitleId, uDisabledTime)
服务端脚本中共出现 29 处调用,实参个数出现过:4 个(20 处)、5 个(9 处)。
实现位于 LuaFnTbl_Misc.h。
参数
| 序号 | 参数 / 类型 | 说明 |
|---|---|---|
| 1 | sceneIdnumber
|
当前调用所在的场景 ID。 脚本中的实参: sceneId(29 处)
|
| 2 | selfIdnumber
|
当前场景内的对象 ID。玩家接口需传入有效玩家对象;不是角色 GUID。 脚本中的实参: selfId(22 处)、nHumanId(4 处)、targetId(2 处)
|
| 3 | TitleIndexnumber
|
称号ID 脚本中的实参: 13(4 处)、8(4 处)、14(3 处)
|
| 4 | TitleIdnumber
|
称号ID 脚本中的实参: untBounty[2](4 处)、233(2 处)、234(2 处)
|
| 5 | uDisabledTimenumber
|
禁用时间。 脚本中的实参: 7*24(4 处)、24 * 7(2 处)、24 * x808080_GodFireTitle_AlongTime
|
返回值
无返回值。赋值接收时得到 nil;这与返回数字 0 不同。
脚本中的调用
以下是服务端脚本里的真实调用点,按实参形态去重后列出 8 条。这些调用取自随包发布的脚本,可用于确认参数顺序与实际传入的值;它们不代表该写法在当前版本仍然有效。
-- event/caoyun/ecaoyun.lua LuaFnAwardTitle(sceneId, selfId, 5, New_Title) -- event/caoyun/ecaoyun.lua LuaFnAwardTitle(sceneId, selfId, 5, 124) -- event/EventScript/client_GiveRose.lua AwardTitle(sceneId, selfId, 8, untBounty[2]) -- event/EventScript/client_GiveRose.lua AwardTitle(sceneId, targetId, 8, untBounty[2]) -- event/fuben/efuben_bangzhan.lua LuaFnAwardTitle(sceneId, selfId, x402047_g_PrizeTitle[1].AwardPos, x402047_g_PrizeTitle[1].Index, 7*24) -- event/fuben/efuben_bangzhan.lua LuaFnAwardTitle(sceneId, selfId, x402047_g_PrizeTitle[2].AwardPos, x402047_g_PrizeTitle[2].Index, 7*24) -- event/fuben/efuben_bangzhan.lua LuaFnAwardTitle(sceneId, selfId, x402047_g_PrizeTitle[3].AwardPos, x402047_g_PrizeTitle[3].Index, 7*24) -- event/fuben/efuben_jiaofei.lua AwardTitle(sceneId, nHumanId, 13, 237)
注意事项
- 调用对象必须是当前场景中的有效玩家。
- 脚本中有只传 4 个实参的调用,少于实现体读取的 5 个位置;缺省位置按引擎对缺失值的转换处理(通常为 0),不能直接当作有效数据。
- 调用前要求玩家处于可执行逻辑的状态(实现体断言
pHuman->IsCanLogic());不满足时会记录断言,应先确认玩家当前状态。