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); }
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(); }
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(); } }