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行:


== 活动控制 ==
== 活动控制 ==
{| 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接口/服务端/StartOneActivity|StartOneActivity]]
| [[Lua接口/服务端/StartOneActivity|StartOneActivity]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uActivityId, uInterval, iNoticeType</code> → 返回值;失败 -1。
| <code>sceneId, uActivityId, uInterval, iNoticeType</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/StopOneActivity|StopOneActivity]]
| [[Lua接口/服务端/StopOneActivity|StopOneActivity]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uActivityId</code> → 返回值;失败 -1。
| <code>sceneId, uActivityId</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/CheckActiviyValidity|CheckActiviyValidity]]
| [[Lua接口/服务端/CheckActiviyValidity|CheckActiviyValidity]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uActivityId</code> → 是否仍在有效时间;失败 -1。
| <code>sceneId, uActivityId</code> → 是否仍在有效时间;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetActivityState|GetActivityState]]
| [[Lua接口/服务端/GetActivityState|GetActivityState]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uActivityId</code> → 活动状态 0-4,不存在返回 -1。
| <code>sceneId, uActivityId</code> → 活动状态 0-4,不存在返回 -1。
|}
|}
[[Lua接口/服务端/StartOneActivity|StartOneActivity]] 需要 4 个参数(含周期计时器间隔、公告类型)。[[Lua接口/服务端/GetActivityState|GetActivityState]] 返回 0 到 4 的状态编号,-1 表示活动不存在——**0 是有效状态**,不能用真值判断。
[[Lua接口/服务端/StartOneActivity|StartOneActivity]] 需要 4 个参数(含周期计时器间隔、公告类型)。[[Lua接口/服务端/GetActivityState|GetActivityState]] 返回 0 到 4 的状态编号,-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接口/服务端/SetActivityParam|SetActivityParam]]
| [[Lua接口/服务端/SetActivityParam|SetActivityParam]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uActivityId, uIndex, iValue</code> → 返回值;失败 -1。
| <code>sceneId, uActivityId, uIndex, iValue</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetActivityParam|GetActivityParam]]
| [[Lua接口/服务端/GetActivityParam|GetActivityParam]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, uActivityId, uIndex</code> → 参数值;失败 -1。
| <code>sceneId, uActivityId, uIndex</code> → 参数值;失败 -1。
|}
|}
活动参数槽按 uIndex 读写,用于在活动实例间传递脚本状态。
活动参数槽按 uIndex 读写,用于在活动实例间传递脚本状态。


== 排行榜 ==
== 排行榜 ==
{| 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接口/服务端/HitParadeRegisterTab|HitParadeRegisterTab]]
| [[Lua接口/服务端/HitParadeRegisterTab|HitParadeRegisterTab]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId</code> → 排行榜编号;失败 -1。
| <code>sceneId</code> → 排行榜编号;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadeReleaseTab|HitParadeReleaseTab]]
| [[Lua接口/服务端/HitParadeReleaseTab|HitParadeReleaseTab]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId</code> → 返回值;失败 -1。
| <code>sceneId, tabId</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadePlayerJoin|HitParadePlayerJoin]]
| [[Lua接口/服务端/HitParadePlayerJoin|HitParadePlayerJoin]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId, guid, key</code> → 返回值;失败 -1。
| <code>sceneId, tabId, guid, key</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadeSort|HitParadeSort]]
| [[Lua接口/服务端/HitParadeSort|HitParadeSort]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId</code> → 返回值;失败 -1。
| <code>sceneId, tabId</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadeGetTabInfo|HitParadeGetTabInfo]]
| [[Lua接口/服务端/HitParadeGetTabInfo|HitParadeGetTabInfo]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId</code> → 排行榜中角色数量;失败 -1。
| <code>sceneId, tabId</code> → 排行榜中角色数量;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadeGetPlyInfo|HitParadeGetPlyInfo]]
| [[Lua接口/服务端/HitParadeGetPlyInfo|HitParadeGetPlyInfo]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId, plyId</code> → 角色标识、排序键(2 个值);未找到单个 -1。
| <code>sceneId, tabId, plyId</code> → 角色标识、排序键(2 个值);未找到单个 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadeSetTabParam|HitParadeSetTabParam]]
| [[Lua接口/服务端/HitParadeSetTabParam|HitParadeSetTabParam]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId, paramId, paramValue</code> → 返回值;失败 -1。
| <code>sceneId, tabId, paramId, paramValue</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/HitParadeGetTabParam|HitParadeGetTabParam]]
| [[Lua接口/服务端/HitParadeGetTabParam|HitParadeGetTabParam]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, tabId, paramId</code> → 参数值;失败 -1。
| <code>sceneId, tabId, paramId</code> → 参数值;失败 -1。
|}
|}
排行榜用法:[[Lua接口/服务端/HitParadeRegisterTab|HitParadeRegisterTab]] 建榜 → [[Lua接口/服务端/HitParadePlayerJoin|HitParadePlayerJoin]] 加入记录 → [[Lua接口/服务端/HitParadeSort|HitParadeSort]] 排序 → [[Lua接口/服务端/HitParadeGetTabInfo|HitParadeGetTabInfo]] / [[Lua接口/服务端/HitParadeGetPlyInfo|HitParadeGetPlyInfo]] 读取。[[Lua接口/服务端/HitParadeGetPlyInfo|HitParadeGetPlyInfo]] 成功返回 2 个值、失败返回单个 -1。
排行榜用法:[[Lua接口/服务端/HitParadeRegisterTab|HitParadeRegisterTab]] 建榜 → [[Lua接口/服务端/HitParadePlayerJoin|HitParadePlayerJoin]] 加入记录 → [[Lua接口/服务端/HitParadeSort|HitParadeSort]] 排序 → [[Lua接口/服务端/HitParadeGetTabInfo|HitParadeGetTabInfo]] / [[Lua接口/服务端/HitParadeGetPlyInfo|HitParadeGetPlyInfo]] 读取。[[Lua接口/服务端/HitParadeGetPlyInfo|HitParadeGetPlyInfo]] 成功返回 2 个值、失败返回单个 -1。


== 双人答题 ==
== 双人答题 ==
{| 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接口/服务端/GetCoupleQuestionState|GetCoupleQuestionState]]
| [[Lua接口/服务端/GetCoupleQuestionState|GetCoupleQuestionState]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 开始标志、最大题数、当前题位置、默契值、最大默契值、相同答案次数(6 个值);失败 -1。
| <code>sceneId, selfId</code> → 开始标志、最大题数、当前题位置、默契值、最大默契值、相同答案次数(6 个值);失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetCoupleID|GetCoupleID]]
| [[Lua接口/服务端/GetCoupleID|GetCoupleID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 可用搭档对象 ID;失败 -1。
| <code>sceneId, selfId</code> → 可用搭档对象 ID;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/StartCoupleQuestion|StartCoupleQuestion]]
| [[Lua接口/服务端/StartCoupleQuestion|StartCoupleQuestion]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId, npcId, maxQuestionNum</code> → 返回值;失败 -1。
| <code>sceneId, selfId, targetId, npcId, maxQuestionNum</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/StopCoupleQuestion|StopCoupleQuestion]]
| [[Lua接口/服务端/StopCoupleQuestion|StopCoupleQuestion]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 返回值;失败 -1。
| <code>sceneId, selfId</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/NextCoupleQuestion|NextCoupleQuestion]]
| [[Lua接口/服务端/NextCoupleQuestion|NextCoupleQuestion]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, currentPos, privity, sameNum</code> → 返回值;失败 -1。
| <code>sceneId, selfId, currentPos, privity, sameNum</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetCurCoupleQuestion|GetCurCoupleQuestion]]
| [[Lua接口/服务端/GetCurCoupleQuestion|GetCurCoupleQuestion]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 当前题号、最大选项数、答案(3 个值);失败 -1。
| <code>sceneId, selfId</code> → 当前题号、最大选项数、答案(3 个值);失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetCurCoupleQuestion|SetCurCoupleQuestion]]
| [[Lua接口/服务端/SetCurCoupleQuestion|SetCurCoupleQuestion]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, question, maxAnswer, answer</code> → 返回值;失败 -1。
| <code>sceneId, selfId, question, maxAnswer, answer</code> → 返回值;失败 -1。
|}
|}
[[Lua接口/服务端/GetCoupleQuestionState|GetCoupleQuestionState]] 成功返回 **6 个值**,[[Lua接口/服务端/GetCurCoupleQuestion|GetCurCoupleQuestion]] 返回 3 个值,都要按顺序接收。
[[Lua接口/服务端/GetCoupleQuestionState|GetCoupleQuestionState]] 成功返回 '''6 个值''',[[Lua接口/服务端/GetCurCoupleQuestion|GetCurCoupleQuestion]] 返回 3 个值,都要按顺序接收。


== 账号安全 ==
== 账号安全 ==
{| 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接口/服务端/CheckAccountSafe|CheckAccountSafe]]
| [[Lua接口/服务端/CheckAccountSafe|CheckAccountSafe]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 账号安全标志;失败 -1。
| <code>sceneId, selfId</code> → 账号安全标志;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/IsSameMAC|IsSameMAC]]
| [[Lua接口/服务端/IsSameMAC|IsSameMAC]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, otherId</code> → 1 相同、0 不同、2 另一对象非有效玩家、失败 -1。
| <code>sceneId, selfId, otherId</code> → 1 相同、0 不同、2 另一对象非有效玩家、失败 -1。
|}
|}
[[Lua接口/服务端/IsSameMAC|IsSameMAC]] 返回 4 种不同含义的数值,不能简单按真假判断。
[[Lua接口/服务端/IsSameMAC|IsSameMAC]] 返回 4 种不同含义的数值,不能简单按真假判断。


== 启动活动 ==
== 启动活动 ==
<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 state = GetActivityState(sceneId, uActivityId)
<pre>local state = GetActivityState(sceneId, uActivityId)
if type(state) == "number" and state == -1 then
if type(state) == "number" and state == -1 then
     StartOneActivity(sceneId, uActivityId, 60000, 0)
     StartOneActivity(sceneId, uActivityId, 60000, 0)
end</pre>
end</pre>
[[Lua接口/服务端/GetActivityState|GetActivityState]] 活动不存在返回 -1,用 <code style="white-space:normal;overflow-wrap:anywhere;">state == -1</code> 判断后再启动。
[[Lua接口/服务端/GetActivityState|GetActivityState]] 活动不存在返回 -1,用 <code>state == -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;">local tabId = HitParadeRegisterTab(sceneId)
<pre>local tabId = HitParadeRegisterTab(sceneId)
if type(tabId) == "number" and tabId ~= -1 then
if type(tabId) == "number" and tabId ~= -1 then
     HitParadePlayerJoin(sceneId, tabId, guid, key)
     HitParadePlayerJoin(sceneId, tabId, guid, key)
第157行: 第157行:


[[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的最新版本

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

启动与关闭活动、读写活动参数、管理排行榜与双人答题流程。活动编号(uActivityId)来自活动表。

活动控制

接口 参数与返回
StartOneActivity sceneId, uActivityId, uInterval, iNoticeType → 返回值;失败 -1。
StopOneActivity sceneId, uActivityId → 返回值;失败 -1。
CheckActiviyValidity sceneId, uActivityId → 是否仍在有效时间;失败 -1。
GetActivityState sceneId, uActivityId → 活动状态 0-4,不存在返回 -1。

StartOneActivity 需要 4 个参数(含周期计时器间隔、公告类型)。GetActivityState 返回 0 到 4 的状态编号,-1 表示活动不存在——0 是有效状态,不能用真值判断。

活动参数

接口 参数与返回
SetActivityParam sceneId, uActivityId, uIndex, iValue → 返回值;失败 -1。
GetActivityParam sceneId, uActivityId, uIndex → 参数值;失败 -1。

活动参数槽按 uIndex 读写,用于在活动实例间传递脚本状态。

排行榜

接口 参数与返回
HitParadeRegisterTab sceneId → 排行榜编号;失败 -1。
HitParadeReleaseTab sceneId, tabId → 返回值;失败 -1。
HitParadePlayerJoin sceneId, tabId, guid, key → 返回值;失败 -1。
HitParadeSort sceneId, tabId → 返回值;失败 -1。
HitParadeGetTabInfo sceneId, tabId → 排行榜中角色数量;失败 -1。
HitParadeGetPlyInfo sceneId, tabId, plyId → 角色标识、排序键(2 个值);未找到单个 -1。
HitParadeSetTabParam sceneId, tabId, paramId, paramValue → 返回值;失败 -1。
HitParadeGetTabParam sceneId, tabId, paramId → 参数值;失败 -1。

排行榜用法:HitParadeRegisterTab 建榜 → HitParadePlayerJoin 加入记录 → HitParadeSort 排序 → HitParadeGetTabInfo / HitParadeGetPlyInfo 读取。HitParadeGetPlyInfo 成功返回 2 个值、失败返回单个 -1。

双人答题

接口 参数与返回
GetCoupleQuestionState sceneId, selfId → 开始标志、最大题数、当前题位置、默契值、最大默契值、相同答案次数(6 个值);失败 -1。
GetCoupleID sceneId, selfId → 可用搭档对象 ID;失败 -1。
StartCoupleQuestion sceneId, selfId, targetId, npcId, maxQuestionNum → 返回值;失败 -1。
StopCoupleQuestion sceneId, selfId → 返回值;失败 -1。
NextCoupleQuestion sceneId, selfId, currentPos, privity, sameNum → 返回值;失败 -1。
GetCurCoupleQuestion sceneId, selfId → 当前题号、最大选项数、答案(3 个值);失败 -1。
SetCurCoupleQuestion sceneId, selfId, question, maxAnswer, answer → 返回值;失败 -1。

GetCoupleQuestionState 成功返回 6 个值,GetCurCoupleQuestion 返回 3 个值,都要按顺序接收。

账号安全

接口 参数与返回
CheckAccountSafe sceneId, selfId → 账号安全标志;失败 -1。
IsSameMAC sceneId, selfId, otherId → 1 相同、0 不同、2 另一对象非有效玩家、失败 -1。

IsSameMAC 返回 4 种不同含义的数值,不能简单按真假判断。

启动活动

local state = GetActivityState(sceneId, uActivityId)
if type(state) == "number" and state == -1 then
    StartOneActivity(sceneId, uActivityId, 60000, 0)
end

GetActivityState 活动不存在返回 -1,用 state == -1 判断后再启动。

排行榜写入

local tabId = HitParadeRegisterTab(sceneId)
if type(tabId) == "number" and tabId ~= -1 then
    HitParadePlayerJoin(sceneId, tabId, guid, key)
    HitParadeSort(sceneId, tabId)
end

先建榜取得 tabId,再加入记录并排序。

相关主题

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

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