Lua接口/队伍相关:修订间差异
来自天龙知识库
跳到导航跳到搜索
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例 |
||
| 第165行: | 第165行: | ||
[[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | [[Lua接口/函数不存在|函数不存在或提示 nil]] · [[Lua接口/参数类型与顺序|参数类型与顺序]] · [[Lua接口/返回值判断|返回值判断]] · [[Lua接口/对象ID与GUID|对象 ID 与 GUID]] | ||
</div> | </div> | ||
2026年10月26日 (一) 17:29的最新版本
查询队伍信息、遍历队友、控制组队跟随与双人骑乘。队伍用队伍 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 开始。
相关主题
- 角色信息
- 属性读取与修改
- 等级与经验
- 货币相关
- 物品查询
- 物品发放与扣除
- 背包空间
- 装备操作
- 任务状态
- 任务变量
- NPC 对话
- 对话选项
- 技能相关
- 心法相关
- 状态效果
- 生活技能
- 珍兽查询
- 珍兽操作
- 场景查询
- 坐标与传送
- 副本相关
- 活动相关
- 时间与计时
- 怪物相关
- 队伍相关
- 帮会相关
- 消息与提示
- 聊天与公告
函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID