/// <summary> /// Removes the specified client from the game, usually due to a disconnect. This also cleans up their votes and other game data. /// </summary> /// <param name="c">The client to remove.</param> public void RemoveClient(Client c) { // Remove this client's votes if they have any. if (ActiveRound != null) { ActiveRound.Votes.RemoveAll(v => v.ClientID == c.Info.ID && v.ClientName == c.Info.Name); } if (Admins.Contains(c)) { Admins.Remove(c); } // Some race case is going on here... we need to check if there's even anything to remove. if (Clients.Count > 0) { Clients.Remove(c); } c = null; if (Clients.All(cl => cl.Info.IsSpectator) && ActiveRound != null) { DiscardActiveRound(); BroadcastError(c, "RoundStopped", "There are no more non-spectator players, so the current round has been automatically discarded."); } // Check that every person hasn't already voted. CheckVoteCount(); }
public string RemoveOperator(int id) { try { int count = 0; foreach (var Id in Operators.ToList()) { if (Id.UserStatus.Contains("admin")) { count++; } } var item = Operators.FirstOrDefault(x => x.OperatorID == id); if (item.OperatorID == id) { return("Нельзя удалить самого себя"); } if (item.UserStatus.Contains("admin") && count == 1) { return("Нельзя удалить последнего админа"); } if (item.UserStatus.Contains("admin")) { var admin = Admins.FirstOrDefault(i => i.Title == item.UserStatus); Admins.Remove(admin); Passwords.Remove(Passwords.FirstOrDefault(i => i.Flag == admin.Flag)); SaveChanges(); } Operators.Remove(item); SaveChanges(); return("Запись успешно удалена"); } catch (Exception ex) { return(ex.Message); } }
private static void RemoveAdmin(string username) { Admin admin = Admins.FirstOrDefault(x => x.UserName == username); if (admin == null) { throw new Exception("There is no such admin"); } Admins.Remove(admin); }
public static void RemoveLevels(Player player) { if (player.Data.LevelAdmin > 0) { Admins.Remove(player); } if (player.Data.LevelVip > 0) { Vips.Remove(player); } }
public void RemoveAdmin(Member member) { Admins.Remove(member.ID); }
public void RemoveAdmin(MessageSender sender) { Admins.Remove(sender); }
private void ParseChatCommand(ShootManiaXMLRPC.Structs.PlayerChat PC) { if (PC.Text == "!admins") { foreach (string admin in Admins) { ChatSendServerMessage("Admin : " + admin); } } else if (PC.Text == "!players" && Admins.Contains(PC.Login)) { foreach (var player in ServerManager.Server.GetPlayerList(100, 0)) { if (player.PlayerId > 0) { ChatSendServerMessage("[" + player.PlayerId + "] " + player.Nickname); } } } else if (PC.Text.StartsWith("!addadmin") && Admins.Contains(PC.Login)) { string admin = PC.Text.Replace("!addadmin ", string.Empty); if (!Admins.Contains(admin)) { Admins.Add(admin); SaveAdmins(); ChatSendServerMessage("Admin added : " + admin); } else { ChatSendServerMessage("Admin already exist : " + admin); } } else if (PC.Text.StartsWith("!deladmin") && Admins.Contains(PC.Login)) { string admin = PC.Text.Replace("!deladmin ", string.Empty); if (admin != PC.Login) { if (Admins.Contains(admin)) { Admins.Remove(admin); SaveAdmins(); ChatSendServerMessage("Admin removed : " + admin); } else { ChatSendServerMessage("Admin not found : " + admin); } } else { ChatSendServerMessage("You can't remove yourself !"); } } else if (PC.Text == "!restartmap" && Admins.Contains(PC.Login)) { ChatSendServerMessage("Restart map ..."); ServerManager.Server.RestartMap(false); } else if (PC.Text == "!nextmap" && Admins.Contains(PC.Login)) { ChatSendServerMessage("Next map ..."); ServerManager.Server.NextMap(false); } else if (PC.Text.StartsWith("!map ") && Admins.Contains(PC.Login)) { string newMap = PC.Text.Replace("!map ", string.Empty); foreach (var map in ServerManager.Server.GetMapList(1000, 0)) { if (map.FileName.ToLower().Contains(newMap.ToLower())) { ChatSendServerMessage("Map found : " + map.Name); ServerManager.Server.ChooseNextMap(map.FileName); ServerManager.Server.NextMap(false); return; } } ChatSendServerMessage("No map found with the pattern : " + newMap); } else if (PC.Text.StartsWith("!kick ") && Admins.Contains(PC.Login)) { try { int PlayerId = Convert.ToInt32(PC.Text.Replace("!kick ", string.Empty)); ServerManager.Server.KickId(PlayerId, "Kicked by admin"); ChatSendServerMessage("Played kicked"); } catch { ChatSendServerMessage("Invalid player id !"); } } else if (PC.Text.StartsWith("!ban ") && Admins.Contains(PC.Login)) { try { int PlayerId = Convert.ToInt32(PC.Text.Replace("!ban ", string.Empty)); ServerManager.Server.BanId(PlayerId, "Banned by admin"); ChatSendServerMessage("Played banned"); } catch { ChatSendServerMessage("Invalid player id !"); } } else if (PC.Text.StartsWith("!password ") && Admins.Contains(PC.Login)) { string newPassword = PC.Text.Replace("!password ", string.Empty); ServerManager.Server.SetServerPassword(newPassword); ChatSendServerMessage("Password set to : " + newPassword); } }