• 注册后才能下载/购买插件!快来注册吧,注册即可免费下载 精翻插件 !【点我注册
  • RustSB.COM向广大野生Rust插件作者发出入驻邀请!详情请见[原创作者条约]
【XMTeam·组队系统】

原创 【XMTeam·组队系统】 1.0.81

API 方法​

TeamInteraction​

此方法用于处理玩家之间的组队交互,包括发送邀请和申请加入队伍。

参数​

  • senderId (string): 发起交互的玩家 SteamID
  • targetId (string): 目标玩家 SteamID

返回值​

方法返回一个字符串,表示交互结果:

返回值说明
success操作成功,邀请或申请已发送
both_no_team双方都没有队伍,需要先创建队伍
target_has_team目标玩家已在队伍中,无法邀请
target_offline目标玩家不在线
target_not_leader发起者不是队长,无法邀请其他玩家
invalid_target无效的目标玩家
error其他错误

使用逻辑​

API 会根据双方的队伍状态自动判断应该执行的操作:
  1. 如果发起者有队伍:
  • 检查发起者是否为队长
  • 如果是队长且目标没有队伍,则向目标发送邀请
  • 如果目标已有队伍,则返回错误
  1. 如果发起者没有队伍:
  • 如果目标也没有队伍,则返回错误(双方都需要先创建队伍)
  • 如果目标有队伍且是队长,则向目标发送入队申请
  • 如果目标队伍开启了自动通过申请,则直接加入队伍

调用示例​

C#:
// 引用插件
[PluginReference]
private Plugin XMTeam;

// 调用API
private void SendTeamInteraction(BasePlayer sender, BasePlayer target)
{
    if (XMTeam == null) return;
 
    string result = XMTeam.Call<string>("TeamInteraction", sender.UserIDString, target.UserIDString);
 
    switch (result)
    {
        case "success":
            // 成功处理,消息已在API中发送
            break;
        case "both_no_team":
            sender.ChatMessage($"你和 {target.displayName} 都没有队伍,请先创建一个队伍。");
            break;
        case "target_has_team":
            sender.ChatMessage($"{target.displayName} 已经在一个队伍中了,无法邀请。");
            break;
        case "target_offline":
            sender.ChatMessage("目标玩家不在线。");
            break;
        case "target_not_leader":
            sender.ChatMessage("你不是队长,无法邀请其他玩家。");
            break;
        default:
            sender.ChatMessage("组队操作失败,请稍后再试。");
            break;
    }
}


API_PublishNewbieTeamRequest 发布萌新组队请求到组队系统​

C#:
private void API_PublishNewbieTeamRequest(BasePlayer player)
功能:发布萌新组队请求到组队系统
参数:
player:萌新玩家对象
返回值:无