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接口/服务端/GetTeamId|GetTeamId]]
| [[Lua接口/服务端/GetTeamId|GetTeamId]]
| 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接口/服务端/LuaFnHasTeam|LuaFnHasTeam]]
| [[Lua接口/服务端/LuaFnHasTeam|LuaFnHasTeam]]
| 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接口/服务端/LuaFnIsTeamLeader|LuaFnIsTeamLeader]]
| [[Lua接口/服务端/LuaFnIsTeamLeader|LuaFnIsTeamLeader]]
| 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接口/服务端/GetTeamSize|GetTeamSize]]
| [[Lua接口/服务端/GetTeamSize|GetTeamSize]]
| 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接口/服务端/GetTeamMemberCount|GetTeamMemberCount]]
| [[Lua接口/服务端/GetTeamMemberCount|GetTeamMemberCount]]
| 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接口/服务端/GetTeamLeader|GetTeamLeader]]
| [[Lua接口/服务端/GetTeamLeader|GetTeamLeader]]
| 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。
|}
|}
[[Lua接口/服务端/GetTeamLeader|GetTeamLeader]] 返回的是**同场景**队长的对象 ID,队长不在当前场景时返回 -1。
[[Lua接口/服务端/GetTeamLeader|GetTeamLeader]] 返回的是**同场景**队长的对象 ID,队长不在当前场景时返回 -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接口/服务端/GetTeamMemberGuid|GetTeamMemberGuid]]
| [[Lua接口/服务端/GetTeamMemberGuid|GetTeamMemberGuid]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, memberIndex</code> → 第 memberIndex 个成员的 GUID;失败 -1。
| <code>sceneId, selfId, memberIndex</code> → 第 memberIndex 个成员的 GUID;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetTeamSceneMember|LuaFnGetTeamSceneMember]]
| [[Lua接口/服务端/LuaFnGetTeamSceneMember|LuaFnGetTeamSceneMember]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, memberIndex</code> → 同场景成员 OBJID;失败 -1。
| <code>sceneId, selfId, memberIndex</code> → 同场景成员 OBJID;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/GetTeamSceneMemberCount|GetTeamSceneMemberCount]]
| [[Lua接口/服务端/GetTeamSceneMemberCount|GetTeamSceneMemberCount]]
| 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接口/服务端/GetNearTeamCount|GetNearTeamCount]]
| [[Lua接口/服务端/GetNearTeamCount|GetNearTeamCount]]
| 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接口/服务端/GetNearTeamMember|GetNearTeamMember]]
| [[Lua接口/服务端/GetNearTeamMember|GetNearTeamMember]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, index</code> → 附近队友 objid(含自己);失败 -1。
| <code>sceneId, selfId, index</code> → 附近队友 objid(含自己);失败 -1。
|}
|}
[[Lua接口/服务端/GetTeamMemberGuid|GetTeamMemberGuid]] 按队伍成员下标返回 GUID,[[Lua接口/服务端/LuaFnGetTeamSceneMember|LuaFnGetTeamSceneMember]] 按**同场景**成员下标返回 OBJID——两者下标口径不同。[[Lua接口/服务端/GetNearTeamCount|GetNearTeamCount]]、[[Lua接口/服务端/GetNearTeamMember|GetNearTeamMember]] **包含自己**。
[[Lua接口/服务端/GetTeamMemberGuid|GetTeamMemberGuid]] 按队伍成员下标返回 GUID,[[Lua接口/服务端/LuaFnGetTeamSceneMember|LuaFnGetTeamSceneMember]] 按**同场景**成员下标返回 OBJID——两者下标口径不同。[[Lua接口/服务端/GetNearTeamCount|GetNearTeamCount]]、[[Lua接口/服务端/GetNearTeamMember|GetNearTeamMember]] **包含自己**。


== 组队跟随 ==
== 组队跟随 ==
{| 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接口/服务端/IsTeamFollow|IsTeamFollow]]
| [[Lua接口/服务端/IsTeamFollow|IsTeamFollow]]
| 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接口/服务端/GetFollowedMembersCount|GetFollowedMembersCount]]
| [[Lua接口/服务端/GetFollowedMembersCount|GetFollowedMembersCount]]
| 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接口/服务端/GetFollowedMember|GetFollowedMember]]
| [[Lua接口/服务端/GetFollowedMember|GetFollowedMember]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, memberIndex</code> → 跟随队友 objId;失败 -1。
| <code>sceneId, selfId, memberIndex</code> → 跟随队友 objId;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/SetTeamFollowSpeed|SetTeamFollowSpeed]]
| [[Lua接口/服务端/SetTeamFollowSpeed|SetTeamFollowSpeed]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, fSpeed</code> → 返回值;失败 -1。
| <code>sceneId, selfId, fSpeed</code> → 返回值;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/StopTeamFollow|StopTeamFollow]]
| [[Lua接口/服务端/StopTeamFollow|StopTeamFollow]]
| 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接口/服务端/ClearFollowedMembers|ClearFollowedMembers]]
| [[Lua接口/服务端/ClearFollowedMembers|ClearFollowedMembers]]
| 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接口/服务端/SetTeamFollowSpeed|SetTeamFollowSpeed]] 的 fSpeed 是浮点速度值。[[Lua接口/服务端/StopTeamFollow|StopTeamFollow]] 与 [[Lua接口/服务端/ClearFollowedMembers|ClearFollowedMembers]] 部分分支不返回值。
[[Lua接口/服务端/SetTeamFollowSpeed|SetTeamFollowSpeed]] 的 fSpeed 是浮点速度值。[[Lua接口/服务端/StopTeamFollow|StopTeamFollow]] 与 [[Lua接口/服务端/ClearFollowedMembers|ClearFollowedMembers]] 部分分支不返回值。


== 离队与分配 ==
== 离队与分配 ==
{| 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接口/服务端/LeaveTeam|LeaveTeam]]
| [[Lua接口/服务端/LeaveTeam|LeaveTeam]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 1 / -1。
| <code>sceneId, selfId</code> → 1 / -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnSetTeamExpAllotMode|LuaFnSetTeamExpAllotMode]]
| [[Lua接口/服务端/LuaFnSetTeamExpAllotMode|LuaFnSetTeamExpAllotMode]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, allotMode</code> → 部分分支无返回值。
| <code>sceneId, selfId, allotMode</code> → 部分分支无返回值。
|}
|}
[[Lua接口/服务端/LuaFnSetTeamExpAllotMode|LuaFnSetTeamExpAllotMode]] 通过 WorldServer 广播给队员,部分分支不返回值。
[[Lua接口/服务端/LuaFnSetTeamExpAllotMode|LuaFnSetTeamExpAllotMode]] 通过 WorldServer 广播给队员,部分分支不返回值。


== 双人骑乘 ==
== 双人骑乘 ==
{| 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接口/服务端/LuaFnIsRiding|LuaFnIsRiding]]
| [[Lua接口/服务端/LuaFnIsRiding|LuaFnIsRiding]]
| 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接口/服务端/LuaFnGetDRideFlag|LuaFnGetDRideFlag]]
| [[Lua接口/服务端/LuaFnGetDRideFlag|LuaFnGetDRideFlag]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 0 否、1 是、-1 参数无效。
| <code>sceneId, selfId</code> → 0 否、1 是、-1 参数无效。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnGetDRide|LuaFnGetDRide]]
| [[Lua接口/服务端/LuaFnGetDRide|LuaFnGetDRide]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId, targetId</code> → 目标是否处于双骑关系;失败 -1。
| <code>sceneId, selfId, targetId</code> → 目标是否处于双骑关系;失败 -1。
|-
|-
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | [[Lua接口/服务端/LuaFnIsDRideMountOwner|LuaFnIsDRideMountOwner]]
| [[Lua接口/服务端/LuaFnIsDRideMountOwner|LuaFnIsDRideMountOwner]]
| 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接口/服务端/LuaFnGetDRideTargetID|LuaFnGetDRideTargetID]]
| [[Lua接口/服务端/LuaFnGetDRideTargetID|LuaFnGetDRideTargetID]]
| style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">sceneId, selfId</code> → 同场景双骑目标 ObjID;目标不在线或不同场景 -1。
| <code>sceneId, selfId</code> → 同场景双骑目标 ObjID;目标不在线或不同场景 -1。
|}
|}
[[Lua接口/服务端/LuaFnGetDRideFlag|LuaFnGetDRideFlag]] 返回 **0 或 1**(-1 才是无效),不能用真值判断。[[Lua接口/服务端/LuaFnIsDRideMountOwner|LuaFnIsDRideMountOwner]] 无双骑关系时返回 -1,不是 0。
[[Lua接口/服务端/LuaFnGetDRideFlag|LuaFnGetDRideFlag]] 返回 **0 或 1**(-1 才是无效),不能用真值判断。[[Lua接口/服务端/LuaFnIsDRideMountOwner|LuaFnIsDRideMountOwner]] 无双骑关系时返回 -1,不是 0。


== 检查队伍并读取队长 ==
== 检查队伍并读取队长 ==
<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 has = LuaFnHasTeam(sceneId, selfId)
<pre>local has = LuaFnHasTeam(sceneId, selfId)
if type(has) == "number" and has ~= -1 then
if type(has) == "number" and has ~= -1 then
     local size = GetTeamSize(sceneId, selfId)
     local size = GetTeamSize(sceneId, selfId)
第123行: 第123行:


== 遍历同场景队友 ==
== 遍历同场景队友 ==
<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 count = GetTeamSceneMemberCount(sceneId, selfId)
<pre>local count = GetTeamSceneMemberCount(sceneId, selfId)
if type(count) == "number" and count ~= -1 then
if type(count) == "number" and count ~= -1 then
     local objId = LuaFnGetTeamSceneMember(sceneId, selfId, 0)
     local objId = LuaFnGetTeamSceneMember(sceneId, selfId, 0)
第166行: 第166行:
[[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的版本

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

查询队伍信息、遍历队友、控制组队跟随与双人骑乘。队伍用队伍 ID(teamId)标识,成员用索引(memberIndex)遍历。

队伍查询

接口 参数与返回
GetTeamId sceneId, selfId → 队伍 ID;失败 -1。
LuaFnHasTeam sceneId, selfId → 是否在组队状态;失败 -1。
LuaFnIsTeamLeader sceneId, selfId → 是否为队长;失败 -1。
GetTeamSize sceneId, selfId → 队伍人数;失败 -1。
GetTeamMemberCount sceneId, selfId → 队伍成员数量;失败 -1。
GetTeamLeader sceneId, selfId → 同场景队长对象 ID;未找到 -1。

GetTeamLeader 返回的是**同场景**队长的对象 ID,队长不在当前场景时返回 -1。

成员遍历

接口 参数与返回
GetTeamMemberGuid sceneId, selfId, memberIndex → 第 memberIndex 个成员的 GUID;失败 -1。
LuaFnGetTeamSceneMember sceneId, selfId, memberIndex → 同场景成员 OBJID;失败 -1。
GetTeamSceneMemberCount sceneId, selfId → 同场景成员数量;失败 -1。
GetNearTeamCount sceneId, selfId → 附近队友数量(含自己);失败 -1。
GetNearTeamMember sceneId, selfId, index → 附近队友 objid(含自己);失败 -1。

GetTeamMemberGuid 按队伍成员下标返回 GUID,LuaFnGetTeamSceneMember 按**同场景**成员下标返回 OBJID——两者下标口径不同。GetNearTeamCount、GetNearTeamMember **包含自己**。

组队跟随

接口 参数与返回
IsTeamFollow sceneId, selfId → 是否处于组队跟随状态;失败 -1。
GetFollowedMembersCount sceneId, selfId → 跟随队友数量;失败 -1。
GetFollowedMember sceneId, selfId, memberIndex → 跟随队友 objId;失败 -1。
SetTeamFollowSpeed sceneId, selfId, fSpeed → 返回值;失败 -1。
StopTeamFollow sceneId, selfId → 部分分支无返回值。
ClearFollowedMembers sceneId, selfId → 部分分支无返回值。

SetTeamFollowSpeed 的 fSpeed 是浮点速度值。StopTeamFollow 与 ClearFollowedMembers 部分分支不返回值。

离队与分配

接口 参数与返回
LeaveTeam sceneId, selfId → 1 / -1。
LuaFnSetTeamExpAllotMode sceneId, selfId, allotMode → 部分分支无返回值。

LuaFnSetTeamExpAllotMode 通过 WorldServer 广播给队员,部分分支不返回值。

双人骑乘

接口 参数与返回
LuaFnIsRiding sceneId, selfId → 是否处于骑乘状态;失败 -1。
LuaFnGetDRideFlag sceneId, selfId → 0 否、1 是、-1 参数无效。
LuaFnGetDRide sceneId, selfId, targetId → 目标是否处于双骑关系;失败 -1。
LuaFnIsDRideMountOwner sceneId, selfId → 是否为主动方;无双骑关系 -1。
LuaFnGetDRideTargetID sceneId, selfId → 同场景双骑目标 ObjID;目标不在线或不同场景 -1。

LuaFnGetDRideFlag 返回 **0 或 1**(-1 才是无效),不能用真值判断。LuaFnIsDRideMountOwner 无双骑关系时返回 -1,不是 0。

检查队伍并读取队长

local has = LuaFnHasTeam(sceneId, selfId)
if type(has) == "number" and has ~= -1 then
    local size = GetTeamSize(sceneId, selfId)
    if type(size) == "number" and size > 0 then
        local leader = GetTeamLeader(sceneId, selfId)
    end
end

LuaFnHasTeam 失败返回 -1,先判类型再排除 -1 再读队长。

遍历同场景队友

local count = GetTeamSceneMemberCount(sceneId, selfId)
if type(count) == "number" and count ~= -1 then
    local objId = LuaFnGetTeamSceneMember(sceneId, selfId, 0)
    if type(objId) == "number" and objId ~= -1 then
        -- 取得首个同场景队友的对象 ID
    end
end

先取数量再按索引取 OBJID,下标从 0 开始。

相关主题

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

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

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