public static void kickmember(ConsoleSystem.Arg arg)
    {
        BasePlayer basePlayer = arg.Player();

        if (basePlayer == null)
        {
            return;
        }
        RelationshipManager.PlayerTeam playerTeam = RelationshipManager.Instance.FindTeam(basePlayer.currentTeam);
        if (playerTeam == null)
        {
            return;
        }
        if (playerTeam.GetLeader() != basePlayer)
        {
            return;
        }
        ulong num = arg.GetULong(0, (ulong)0);

        if (basePlayer.userID == num)
        {
            return;
        }
        if (Interface.CallHook("OnTeamKick", playerTeam, basePlayer) != null)
        {
            return;
        }
        playerTeam.RemovePlayer(num);
    }
Exemplo n.º 2
0
        private void GenerateClanTeam(List <ulong> memberIds)
        {
            if (clans.ContainsKey(ClanTag(memberIds[0])))
            {
                clans.Remove(ClanTag(memberIds[0]));
            }

            clans[ClanTag(memberIds[0])] = new List <ulong>();
            RelationshipManager.PlayerTeam team = RelationshipManager.Instance.CreateTeam();

            foreach (ulong memberId in memberIds)
            {
                BasePlayer player = BasePlayer.FindByID(memberId);
                if (player != null)
                {
                    if (player.currentTeam != 0UL)
                    {
                        RelationshipManager.PlayerTeam current = RelationshipManager.Instance.FindTeam(player.currentTeam);
                        current.RemovePlayer(player.userID);
                    }
                    team.AddPlayer(player);

                    clans[ClanTag(memberId)].Add(player.userID);

                    if (IsAnOwner(player))
                    {
                        team.SetTeamLeader(player.userID);
                    }
                }
            }
        }
    public static void leaveteam(ConsoleSystem.Arg arg)
    {
        BasePlayer basePlayer = arg.Player();

        if (Object.op_Equality((Object)basePlayer, (Object)null) || basePlayer.currentTeam == 0UL)
        {
            return;
        }
        RelationshipManager.PlayerTeam team = RelationshipManager.Instance.FindTeam(basePlayer.currentTeam);
        if (team == null || Interface.CallHook("OnTeamLeave", (object)team, (object)basePlayer) != null)
        {
            return;
        }
        team.RemovePlayer(basePlayer.userID);
        basePlayer.ClearTeam();
    }
Exemplo n.º 4
0
        private void OnClanDestroy(string tag)
        {
            BasePlayer player = BasePlayer.FindByID(clans[tag][0]);

            if (player != null)
            {
                RelationshipManager.PlayerTeam team = RelationshipManager.Instance.FindTeam(player.currentTeam);

                foreach (ulong memberId in clans[tag])
                {
                    team.RemovePlayer(memberId);
                }

                RelationshipManager.Instance.DisbandTeam(team);
                clans.Remove(tag);
            }
        }
    public static void kickmember(ConsoleSystem.Arg arg)
    {
        BasePlayer basePlayer = arg.Player();

        if (Object.op_Equality((Object)basePlayer, (Object)null))
        {
            return;
        }
        RelationshipManager.PlayerTeam team = RelationshipManager.Instance.FindTeam(basePlayer.currentTeam);
        if (team == null || Object.op_Inequality((Object)team.GetLeader(), (Object)basePlayer))
        {
            return;
        }
        ulong playerID = arg.GetULong(0, 0UL);

        if ((long)basePlayer.userID == (long)playerID || Interface.CallHook("OnTeamKick", (object)team, (object)basePlayer) != null)
        {
            return;
        }
        team.RemovePlayer(playerID);
    }
    public static void leaveteam(ConsoleSystem.Arg arg)
    {
        BasePlayer basePlayer = arg.Player();

        if (basePlayer == null)
        {
            return;
        }
        if (basePlayer.currentTeam == 0)
        {
            return;
        }
        RelationshipManager.PlayerTeam playerTeam = RelationshipManager.Instance.FindTeam(basePlayer.currentTeam);
        if (playerTeam != null)
        {
            if (Interface.CallHook("OnTeamLeave", playerTeam, basePlayer) != null)
            {
                return;
            }
            playerTeam.RemovePlayer(basePlayer.userID);
            basePlayer.ClearTeam();
        }
    }