public static void ClanList() { try { for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { if (p != null && p.ClanName != null) { if (p.ClanName.Length > 0) { if (p.ClanOwner) { Clans.Add(_id, p.ClanName); } ClanMember.Add(_id); } } } } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ClanManager.ClanList: {0}", e.Message)); } }
public static void JailList() { for (int i = 0; i < PersistentContainer.Instance.Players.IDs.Count; i++) { string id = PersistentContainer.Instance.Players.IDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[id]; { int jailTime = p.JailTime; if (jailTime > 0 || jailTime == -1) { if (jailTime == -1) { Jailed.Add(id); } else { DateTime jailDate = p.JailDate; TimeSpan varTime = DateTime.Now - jailDate; double fractionalMinutes = varTime.TotalMinutes; int timepassed = (int)fractionalMinutes; if (timepassed < jailTime) { Jailed.Add(id); } else { PersistentContainer.Instance.Players[id].JailTime = 0; PersistentContainer.DataChange = true; } } } } } }
public PersistentPlayer this[string steamId] { get { if (string.IsNullOrEmpty(steamId)) { return(null); } else if (players.ContainsKey(steamId)) { return(players[steamId]); } else { if (steamId != null && steamId.Length == 17 && steamId.StartsWith("7656")) { PersistentPlayer p = new PersistentPlayer(steamId); players.Add(steamId, p); return(p); } else { return(null); } } } }
public static void MuteList() { for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { int _muteTime = p.MuteTime; if (_muteTime > 0 || _muteTime == -1) { if (_muteTime == -1) { Mutes.Add(_id); } else { DateTime _muteDate = p.MuteDate; TimeSpan varTime = DateTime.Now - _muteDate; double fractionalMinutes = varTime.TotalMinutes; int _timepassed = (int)fractionalMinutes; if (_timepassed < _muteTime) { Mutes.Add(_id); } else { PersistentContainer.Instance.Players[_id].MuteTime = 0; PersistentContainer.Instance.Save(); } } } } } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 1) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { TeleportHome.IsEnabled = false; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Set home has been set to off")); return; } else if (_params[0].ToLower().Equals("on")) { TeleportHome.IsEnabled = true; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Set home has been set to on")); return; } else if (_params[0].ToLower().Equals("reset")) { if (_params.Count != 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}.", _params.Count)); return; } if (_params[1].Length < 1 || _params[1].Length > 17) { SdtdConsole.Instance.Output(string.Format("Can not reset Id: Invalid Id {0}", _params[1])); return; } PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; if (p != null) { PersistentContainer.Instance.Players[_params[1]].LastHome1 = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Players[_params[1]].LastHome2 = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Home delay reset for {0}.", _params[1])); } else { SdtdConsole.Instance.Output(string.Format("Player with id {0} does not have a Home delay to reset.", _params[1])); } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}.", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in SetHomeConsole.Run: {0}.", e)); } }
public static void Add(ClientInfo _cInfo, string _player) { if (IsEnabled) { if (!GameManager.Instance.adminTools.CommandAllowedFor(_cmd, _cInfo.playerId)) { string _phrase107; if (!Phrases.Dict.TryGetValue(107, out _phrase107)) { _phrase107 = " you do not have permissions to use this command."; } ChatHook.ChatMessage(_cInfo, ChatHook.Player_Name_Color + _cInfo.playerName + _phrase107 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } else { _player = _player.Replace(Command13 + " ", ""); ClientInfo _PlayertoMute = ConsoleHelper.ParseParamIdOrName(_player); if (_PlayertoMute == null) { string _phrase201; if (!Phrases.Dict.TryGetValue(201, out _phrase201)) { _phrase201 = " player {Player} was not found."; } _phrase201 = _phrase201.Replace("{Player}", _player); ChatHook.ChatMessage(_cInfo, ChatHook.Player_Name_Color + _cInfo.playerName + _phrase201 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } else { PersistentPlayer p = PersistentContainer.Instance.Players[_player]; if (p != null) { int _muteTime = PersistentContainer.Instance.Players[_player].MuteTime; if (_muteTime != 0) { string _phrase202; if (!Phrases.Dict.TryGetValue(202, out _phrase202)) { _phrase202 = " player {Player} is already muted."; } _phrase202 = _phrase202.Replace("{Player}", _player); ChatHook.ChatMessage(_cInfo, ChatHook.Player_Name_Color + _cInfo.playerName + _phrase202 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } else { MutePlayer(_cInfo, _PlayertoMute); } } } } } else { ChatHook.ChatMessage(_cInfo, ChatHook.Player_Name_Color + _cInfo.playerName + " this command is not enabled.[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } }
public static void ConsoleRemoveBounty(string _id) { PersistentPlayer p = PersistentContainer.Instance.Players[_id]; if (p != null) { p.Bounty = 0; SdtdConsole.Instance.Output(string.Format("Bounty was removed successfully for {0}", _id)); } }
public static void ConsoleRemoveBounty(string _id) { PersistentPlayer p = PersistentContainer.Instance.Players[_id]; if (p != null) { p.Bounty = 0; PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("Bounty was removed successfully for '{0}'", _id)); } }
public static void RemoveClan(ClientInfo _cInfo) { try { bool _clanOwner = PersistentContainer.Instance.Players[_cInfo.playerId].ClanOwner; if (!_clanOwner) { Phrases.Dict.TryGetValue(75, out string _phrase75); ChatHook.ChatMessage(_cInfo, LoadConfig.Chat_Response_Color + _phrase75 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } else { string _clanName = PersistentContainer.Instance.Players[_cInfo.playerId].ClanName; PersistentContainer.Instance.Players[_cInfo.playerId].ClanName = ""; PersistentContainer.Instance.Players[_cInfo.playerId].ClanOwner = false; PersistentContainer.Instance.Players[_cInfo.playerId].ClanOfficer = false; PersistentContainer.Instance.Players[_cInfo.playerId].ClanRequestToJoin = null; for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { if (p.ClanName != null && p.ClanName == _clanName) { p.ClanName = ""; p.ClanOfficer = false; ClanMember.Remove(_id); ClientInfo _cInfo2 = ConnectionManager.Instance.Clients.ForPlayerId(_id); if (_cInfo2 != null && _cInfo != _cInfo2) { Phrases.Dict.TryGetValue(91, out string _phrase91); _phrase91 = _phrase91.Replace("{ClanName}", _clanName); ChatHook.ChatMessage(_cInfo2, LoadConfig.Chat_Response_Color + _phrase91 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } } else if (p.ClanInvite != null && p.ClanInvite == _clanName) { PersistentContainer.Instance.Players[_id].ClanInvite = ""; } } } PersistentContainer.Instance.Save(); ClanMember.Remove(_cInfo.playerId); Clans.Remove(_cInfo.playerId); Phrases.Dict.TryGetValue(76, out string _phrase76); _phrase76 = _phrase76.Replace("{ClanName}", _clanName); ChatHook.ChatMessage(_cInfo, LoadConfig.Chat_Response_Color + _phrase76 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ClanManager.RemoveClan: {0}", e.Message)); } }
public static void AuctionList() { List <string> playerlist = PersistentContainer.Instance.Players.SteamIDs; for (int i = 0; i < playerlist.Count; i++) { string _steamId = playerlist[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_steamId]; if (p != null) { if (p.AuctionId != 0 && !p.AuctionReturn) { AuctionItems.Add(p.AuctionId, _steamId); } } } }
public static void AuctionList() { List <string> playerlist = PersistentContainer.Instance.Players.SteamIDs; for (int i = 0; i < playerlist.Count; i++) { string _steamId = playerlist[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_steamId]; if (p != null) { if (p.Auction != null && p.Auction.Count > 0) { foreach (var _auctionItem in p.Auction) { AuctionItems.Add(_auctionItem.Key, _steamId); } } } } }
public PersistentPlayer this[string id] { get { if (!string.IsNullOrEmpty(id)) { if (Players.ContainsKey(id)) { return(Players[id]); } else if (id.Contains("_")) { if (ConsoleHelper.ParseParamPartialNameOrId(id, out PlatformUserIdentifierAbs platformUserIdentifierAbs, out ClientInfo clientInfo, true) == 1 && platformUserIdentifierAbs != null) { PersistentPlayer p = new PersistentPlayer(id); Players.Add(id, p); return(p); } } } return(null); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 or 2, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (Gimme.IsEnabled) { Gimme.IsEnabled = false; Config.WriteXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Gimme has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Gimme is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!Gimme.IsEnabled) { Gimme.IsEnabled = true; Config.WriteXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Gimme has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Gimme is already on")); return; } } else if (_params[0].ToLower().Equals("reset")) { if (_params[1].ToLower().Equals("all")) { for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { PersistentContainer.Instance.Players[_id].LastGimme = DateTime.Now.AddYears(-1); } } SdtdConsole.Instance.Output("[SERVERTOOLS] Gimme delay reset for all players."); } else { PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; if (p != null) { PersistentContainer.Instance.Players[_params[1]].LastGimme = DateTime.Now.AddYears(-1); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Gimme delay reset for {0}.", _params[1])); } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not reset player. Invalid Id {0}.", _params[1])); return; } } } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in GimmeConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 or 2, found '{0}'", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (Gimme.IsEnabled) { Gimme.IsEnabled = false; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Gimme has been set to off")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Gimme is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!Gimme.IsEnabled) { Gimme.IsEnabled = true; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Gimme has been set to on")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Gimme is already on")); return; } } else if (_params[0].ToLower().Equals("reset")) { if (_params[1].ToLower().Equals("all")) { if (PersistentContainer.Instance.Players.IDs.Count > 0) { for (int i = 0; i < PersistentContainer.Instance.Players.IDs.Count; i++) { string id = PersistentContainer.Instance.Players.IDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[id]; { PersistentContainer.Instance.Players[id].LastGimme = DateTime.Now.AddYears(-1); } } PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] Gimme delay reset for all players"); } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] No players to reset"); } } else { if (PersistentContainer.Instance.Players[_params[1]] != null) { PersistentContainer.Instance.Players[_params[1]].LastGimme = DateTime.Now.AddYears(-1); PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Gimme tool delay has been reset for '{0}'", _params[1])); } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Can not reset the delay on Gimme tool. Invalid id '{0}'", _params[1])); return; } } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in GimmeConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1 or 2, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (Animals.IsEnabled) { Animals.IsEnabled = false; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Animal tracking has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("Animal tracking is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!Animals.IsEnabled) { Animals.IsEnabled = true; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Animal tracking has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("Animal tracking is already off")); return; } } else if (_params[0].ToLower().Equals("reset")) { if (_params[1].ToLower().Equals("all")) { for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { PersistentContainer.Instance.Players[_id].LastAnimal = DateTime.Now.AddYears(-1); } } PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output("Animal tracking delay reset for all players."); } else { ClientInfo _cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (_cInfo != null) { PersistentContainer.Instance.Players[_params[1]].LastAnimal = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Animal tracking delay reset for {0}.", _cInfo.playerName)); } else { if (_params[1].Length != 17) { SdtdConsole.Instance.Output(string.Format("Can not reset Id: Invalid Id {0}", _params[1])); return; } PersistentContainer.Instance.Players[_params[1]].LastAnimal = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Animal tracking delay reset for {0}.", _params[1])); } } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in AnimalTrackingConsole.Execute: {0}", e)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 or 2, found '{0}'", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (VoteReward.IsEnabled) { VoteReward.IsEnabled = false; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward has been set to off")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!VoteReward.IsEnabled) { VoteReward.IsEnabled = true; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward has been set to on")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward is already on")); return; } } else if (_params[0].ToLower().Equals("reset")) { if (_params.Count != 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); return; } if (_params[1].ToLower().Equals("online")) { List <ClientInfo> ClientInfoList = ConnectionManager.Instance.Clients.List.ToList(); for (int i = 0; i < ClientInfoList.Count; i++) { ClientInfo _cInfo2 = ClientInfoList[i]; if (_cInfo2 != null) { PersistentContainer.Instance.Players[_cInfo2.CrossplatformId.CombinedString].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward delay reset for '{0}'", _cInfo2.playerName)); } } return; } if (_params[1].ToLower().Equals("all")) { if (PersistentContainer.Instance.Players.IDs.Count > 0) { for (int i = 0; i < PersistentContainer.Instance.Players.IDs.Count; i++) { PersistentContainer.Instance.Players[PersistentContainer.Instance.Players.IDs[i]].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.DataChange = true; } SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] Vote reward delay reset for all players"); return; } } else { ClientInfo cInfo = PersistentOperations.GetClientInfoFromNameOrId(_params[1]); if (cInfo != null) { PersistentContainer.Instance.Players[cInfo.CrossplatformId.CombinedString].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward delay reset for '{0}'", cInfo.playerName)); } else if (_params[1].Contains("_")) { PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; if (p != null) { PersistentContainer.Instance.Players[_params[1]].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Vote reward delay reset for '{0}'", _params[1])); } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("Id '{0}' does not have a vote reward delay to reset", _params[1])); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("Invalid Id '{0}'", _params[1])); } } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in VotingConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 3) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1 to 3, found {0}.", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (Jail.IsEnabled) { Jail.IsEnabled = false; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Jail has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("Jail is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!Jail.IsEnabled) { Jail.IsEnabled = true; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Jail has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("Jail is already on")); return; } } else if (_params[0].ToLower().Equals("add")) { if (_params.Count != 3) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 3, found {0}.", _params.Count)); return; } if (_params[1].Length < 1 || _params[1].Length > 17) { SdtdConsole.Instance.Output(string.Format("Can not add Id: Invalid Id {0}.", _params[1])); return; } if (Jail.Jailed.Contains(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not add Id. {0} is already in the Jail list.", _params[1])); return; } int _jailTime; if (!int.TryParse(_params[2], out _jailTime)) { SdtdConsole.Instance.Output(string.Format("Jail time is not valid: {0}", _params[2])); return; } if (Jail.Jail_Position == "0,0,0" || Jail.Jail_Position == "0 0 0" || Jail.Jail_Position == "") { SdtdConsole.Instance.Output(string.Format("Can not put a player in jail: Jail position has not been set.")); return; } else { ClientInfo _cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (_cInfo != null) { if (Jail.Jailed.Contains(_cInfo.playerId)) { SdtdConsole.Instance.Output(string.Format("Player with Id {0} is already in jail.", _params[1])); return; } else { EntityPlayer _player = GameManager.Instance.World.Players.dict[_cInfo.entityId]; if (_player != null && _player.IsSpawned()) { int x, y, z; string[] _cords = Jail.Jail_Position.Split(','); int.TryParse(_cords[0], out x); int.TryParse(_cords[1], out y); int.TryParse(_cords[2], out z); _cInfo.SendPackage(NetPackageManager.GetPackage <NetPackageTeleportPlayer>().Setup(new Vector3(x, y, z), null, false)); } Jail.Jailed.Add(_cInfo.playerId); PersistentContainer.Instance.Players[_cInfo.playerId].JailTime = _jailTime; PersistentContainer.Instance.Players[_cInfo.playerId].JailName = _cInfo.playerName; PersistentContainer.Instance.Players[_cInfo.playerId].JailDate = DateTime.Now; PersistentContainer.Instance.Save(); if (_jailTime > 0) { string _phrase500; if (!Phrases.Dict.TryGetValue(500, out _phrase500)) { _phrase500 = "You have been sent to jail."; } _phrase500 = _phrase500.Replace("{Minutes}", _jailTime.ToString()); ChatHook.ChatMessage(_cInfo, LoadConfig.Chat_Response_Color + _phrase500 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); SdtdConsole.Instance.Output(string.Format("You have put {0} in jail for {1} minutes.", _cInfo.playerName, _jailTime)); } if (_jailTime == -1) { string _phrase500; if (!Phrases.Dict.TryGetValue(500, out _phrase500)) { _phrase500 = "You have been sent to jail."; } ChatHook.ChatMessage(_cInfo, LoadConfig.Chat_Response_Color + _phrase500 + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null); SdtdConsole.Instance.Output(string.Format("You have put {0} in jail for life.", _cInfo.playerName)); } } } else { PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; { if (p != null) { Jail.Jailed.Add(_cInfo.playerId); PersistentContainer.Instance.Players[_params[1]].JailTime = _jailTime; PersistentContainer.Instance.Players[_params[1]].JailName = _cInfo.playerName; PersistentContainer.Instance.Players[_params[1]].JailDate = DateTime.Now; PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Player with Id {0} can not be found online but has been set for jail.", _params[1])); return; } } } } } else if (_params[0].ToLower().Equals("remove")) { if (_params.Count != 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}.", _params.Count)); return; } if (_params[1].Length != 17) { SdtdConsole.Instance.Output(string.Format("Can not remove player Id: Invalid steam Id {0}.", _params[1])); return; } else { if (!Jail.Jailed.Contains(_params[1])) { SdtdConsole.Instance.Output(string.Format("Player with steam Id {0} is not in jail. ", _params[1])); return; } else { ClientInfo _cInfo = ConnectionManager.Instance.Clients.ForPlayerId(_params[1]); if (_cInfo != null) { EntityPlayer _player = GameManager.Instance.World.Players.dict[_cInfo.entityId]; if (_player != null) { EntityBedrollPositionList _position = _player.SpawnPoints; Jail.Jailed.Remove(_cInfo.playerId); PersistentContainer.Instance.Players[_cInfo.playerId].JailTime = 0; PersistentContainer.Instance.Save(); if (_position != null && _position.Count > 0) { _cInfo.SendPackage(NetPackageManager.GetPackage <NetPackageTeleportPlayer>().Setup(new Vector3(_position[0].x, -1, _position[0].z), null, false)); } else { Vector3[] _pos = GameManager.Instance.World.GetRandomSpawnPointPositions(1); _cInfo.SendPackage(NetPackageManager.GetPackage <NetPackageTeleportPlayer>().Setup(new Vector3(_pos[0].x, -1, _pos[0].z), null, false)); } SdtdConsole.Instance.Output(string.Format("You have released a player with steam id {0} from jail. ", _params[1])); return; } } else { } } } } else if (_params[0].ToLower().Equals("list")) { if (_params.Count != 1) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1, found {0}.", _params.Count)); return; } if (Jail.Jailed.Count == 0) { SdtdConsole.Instance.Output("There are no Ids on the Jail list."); return; } else { for (int i = 0; i < Jail.Jailed.Count; i++) { string _id = Jail.Jailed[i]; int _jailTime = PersistentContainer.Instance.Players[_id].JailTime; string _jailName = PersistentContainer.Instance.Players[_id].JailName; if (_jailTime > 0) { DateTime _jailDate = PersistentContainer.Instance.Players[_id].JailDate; TimeSpan varTime = DateTime.Now - _jailDate; double fractionalMinutes = varTime.TotalMinutes; int _timepassed = (int)fractionalMinutes; int _timeleft = _jailTime - _timepassed; SdtdConsole.Instance.Output(string.Format("Jailed player: steam Id {0} named {1} for {2} more minutes.", _id, _jailName, _timeleft)); } else if (_jailTime == -1) { SdtdConsole.Instance.Output(string.Format("Jailed player: steam Id {0} named {1} forever.", _id, _jailName)); } } } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in CommandJailConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 or 2, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (Wallet.IsEnabled) { Wallet.IsEnabled = false; Config.WriteXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wallet has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wallet is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!Wallet.IsEnabled) { Wallet.IsEnabled = true; Config.WriteXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wallet has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wallet is already on")); return; } } else if (_params[0].ToLower().Equals("all")) { if (!int.TryParse(_params[1], out int _adjustCoins)) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet. Value {0} is invalid", _params[1])); } else { List <ClientInfo> _cInfoList = PersistentOperations.ClientList(); for (int i = 0; i < _cInfoList.Count; i++) { ClientInfo _cInfo = _cInfoList[i]; if (_cInfo != null) { if (_adjustCoins >= 0) { Wallet.AddCoinsToWallet(_cInfo.playerId, _adjustCoins); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Added {0} {1} to player id {2} wallet", _params[1], Wallet.Coin_Name, _params[0])); } else { Wallet.SubtractCoinsFromWallet(_cInfo.playerId, _adjustCoins); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Subtracted {0} {1} from player id {2} wallet", _params[1], Wallet.Coin_Name, _params[0])); } } } } } else if (_params.Count == 2) { if (_params[0].Length < 1 || _params[0].Length > 17) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet: Invalid Id {0}", _params[0])); return; } if (_params[1].Length < 1 || _params[1].Length > 5) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet. Value {0} is invalid", _params[1])); return; } if (!int.TryParse(_params[1], out int _adjustCoins)) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet. Value {0} is invalid", _params[1])); } else { PersistentPlayer p = PersistentContainer.Instance.Players[_params[0]]; if (p != null) { Wallet.AddCoinsToWallet(_params[0], _adjustCoins); if (_adjustCoins >= 0) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Added {0} {1} to player id {2} wallet", _params[1], Wallet.Coin_Name, _params[0])); } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Subtracted {0} {1} from player id {2} wallet", _params[1], Wallet.Coin_Name, _params[0])); } } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Player id not found: {0}", _params[0])); } } } else if (_params.Count == 1) { if (_params[0].Length < 1 || _params[0].Length > 17) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not check wallet value: Invalid Id {0}", _params[0])); return; } int _currentWallet = Wallet.GetCurrentCoins(_params[0]); string _playerName = PersistentContainer.Instance.Players[_params[0]].PlayerName; if (string.IsNullOrEmpty(_playerName)) { _playerName = "Unknown"; } SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Player with id {0}, named {1}, has a wallet value of: {2}", _params[0], _playerName, _currentWallet)); } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in WalletConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1 or 2, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (VoteReward.IsEnabled) { VoteReward.IsEnabled = false; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Vote reward has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("Vote reward is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!VoteReward.IsEnabled) { VoteReward.IsEnabled = true; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("Vote reward has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("Vote reward is already on")); return; } } else if (_params[0].ToLower().Equals("reset")) { if (_params.Count != 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}", _params.Count)); return; } if (_params[1].ToLower().Equals("online")) { List <ClientInfo> ClientInfoList = ConnectionManager.Instance.Clients.List.ToList(); for (int i = 0; i < ClientInfoList.Count; i++) { ClientInfo _cInfo2 = ClientInfoList[i]; if (_cInfo2 != null) { PersistentContainer.Instance.Players[_cInfo2.playerId].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Vote reward delay reset for {0}", _cInfo2.playerName)); } } return; } if (_params[1].ToLower().Equals("all")) { for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { PersistentContainer.Instance.Players[_id].LastVote = DateTime.Now.AddYears(-1); } } PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output("Vote reward delay reset for all players"); return; } else { ClientInfo _cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (_cInfo != null) { PersistentContainer.Instance.Players[_cInfo.playerId].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Vote reward delay reset for {0}", _cInfo.playerName)); } else { if (_params[1].Length != 17) { SdtdConsole.Instance.Output(string.Format("Can not reset Id: Invalid Id {0}", _params[1])); return; } PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; if (p != null) { PersistentContainer.Instance.Players[_params[1]].LastVote = DateTime.Now.AddYears(-1); PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Vote reward delay reset for {0}", _params[1])); } else { SdtdConsole.Instance.Output(string.Format("Player with id {0} does not have a Vote reward delay to reset", _params[1])); } } } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in VotingConsole.Execute: {0}", e)); } }
public static void RemoveServerToolsPlayerData(string _id) { try { string _sql = string.Format("SELECT * FROM Players WHERE steamid = '{0}'", _id); DataTable _result = SQL.TypeQuery(_sql); if (_result.Rows.Count != 0) { _sql = string.Format("Delete FROM Players WHERE steamid = '{0}'", _id); SQL.FastQuery(_sql, "ResetPlayerConsole"); } _result.Dispose(); _sql = string.Format("SELECT * FROM Waypoints WHERE steamid = '{0}'", _id); _result = SQL.TypeQuery(_sql); if (_result.Rows.Count != 0) { _sql = string.Format("Delete FROM Waypoints WHERE steamid = '{0}'", _id); SQL.FastQuery(_sql, "ResetPlayerConsole"); } _result.Dispose(); _sql = string.Format("SELECT * FROM Hardcore WHERE steamid = '{0}'", _id); _result = SQL.TypeQuery(_sql); if (_result.Rows.Count != 0) { _sql = string.Format("Delete FROM Hardcore WHERE steamid = '{0}'", _id); SQL.FastQuery(_sql, "ResetPlayerConsole"); } _result.Dispose(); _sql = string.Format("SELECT * FROM Tracking WHERE steamid = '{0}'", _id); _result = SQL.TypeQuery(_sql); if (_result.Rows.Count != 0) { _sql = string.Format("Delete FROM Tracking WHERE steamid = '{0}'", _id); SQL.FastQuery(_sql, "ResetPlayerConsole"); } _result.Dispose(); PersistentPlayer p = PersistentContainer.Instance.Players[_id]; if (p != null) { p.AuctionCancelTime = new DateTime(); p.AuctionId = 0; p.AuctionItemCount = 0; p.AuctionItemName = ""; p.AuctionItemPrice = 0; p.AuctionItemQuality = 0; p.AuctionReturn = false; p.AuctionSellDate = new DateTime(); p.Bank = 0; p.BikeId = 0; p.Bounty = 0; p.BountyHunter = 0; p.ClanInvite = ""; p.ClanName = ""; p.ClanOfficer = false; p.ClanOwner = false; p.ClanRequestToJoin = new List <string[]>(); p.CountryBanImmune = false; p.CustomCommand1 = new DateTime(); p.CustomCommand2 = new DateTime(); p.CustomCommand3 = new DateTime(); p.CustomCommand4 = new DateTime(); p.CustomCommand5 = new DateTime(); p.CustomCommand6 = new DateTime(); p.CustomCommand7 = new DateTime(); p.CustomCommand8 = new DateTime(); p.CustomCommand9 = new DateTime(); p.CustomCommand10 = new DateTime(); p.CustomCommand11 = new DateTime(); p.CustomCommand12 = new DateTime(); p.CustomCommand13 = new DateTime(); p.CustomCommand14 = new DateTime(); p.CustomCommand15 = new DateTime(); p.CustomCommand16 = new DateTime(); p.CustomCommand17 = new DateTime(); p.CustomCommand18 = new DateTime(); p.CustomCommand19 = new DateTime(); p.CustomCommand20 = new DateTime(); p.FirstClaimBlock = false; p.GyroId = 0; p.Hardcore = false; p.HardcoreExtraLives = 0; p.HighPingImmune = false; p.HighPingImmuneName = ""; p.HomePosition1 = ""; p.HomePosition2 = ""; p.JailDate = new DateTime(); p.JailName = ""; p.JailTime = 0; p.JeepId = 0; p.LastAnimal = new DateTime(); p.LastBike = new DateTime(); p.LastDied = new DateTime(); p.LastFriendTele = new DateTime(); p.LastGimme = new DateTime(); p.LastGyro = new DateTime(); p.LastHome1 = new DateTime(); p.LastHome2 = new DateTime(); p.LastJeep = new DateTime(); p.LastJoined = new DateTime(); p.LastKillMe = new DateTime(); p.LastLobby = new DateTime(); p.LastLog = new DateTime(); p.LastMarket = new DateTime(); p.LastMiniBike = new DateTime(); p.LastMotorBike = new DateTime(); p.LastStuck = new DateTime(); p.LastTravel = new DateTime(); p.LastVote = new DateTime(); p.LastVoteWeek = new DateTime(); p.LastWhisper = ""; p.LobbyReturnPos = ""; p.MarketReturnPos = ""; p.MiniBikeId = 0; p.MotorBikeId = 0; p.MuteDate = new DateTime(); p.MuteName = ""; p.MuteTime = 0; p.NewSpawn = false; p.NewSpawnPosition = ""; p.OldPlayer = false; p.PlayerName = ""; p.PlayerWallet = 0; p.SessionTime = 0; p.StartingItems = false; p.TotalTimePlayed = 0; p.VoteWeekCount = 0; p.ZoneDeathTime = new DateTime(); PersistentContainer.Instance.Save(); } string _phrase401; if (!Phrases.Dict.TryGetValue(401, out _phrase401)) { _phrase401 = "You have reset the profile for Player {SteamId}."; } _phrase401 = _phrase401.Replace("{SteamId}", _id); SdtdConsole.Instance.Output(string.Format("{0}", _phrase401)); } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ResetPlayerConsole.RemoveServerToolsPlayerData: {0}.", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1 or 2, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (FirstClaimBlock.IsEnabled) { FirstClaimBlock.IsEnabled = false; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("First claim block has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("First claim block is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!FirstClaimBlock.IsEnabled) { FirstClaimBlock.IsEnabled = true; LoadConfig.WriteXml(); SdtdConsole.Instance.Output(string.Format("First claim block has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("First claim block is already on")); return; } } else if (_params[0].ToLower().Equals("reset")) { if (_params[1].ToLower().Equals("all")) { for (int i = 0; i < PersistentContainer.Instance.Players.SteamIDs.Count; i++) { string _id = PersistentContainer.Instance.Players.SteamIDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { PersistentContainer.Instance.Players[_id].FirstClaimBlock = false; } } PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output("First claim block reset for all players."); } else { PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; if (p != null) { PersistentContainer.Instance.Players[_params[1]].FirstClaimBlock = false; PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("First claim block reset for {0}.", _params[1])); } else { SdtdConsole.Instance.Output(string.Format("Can not reset player. Invalid Id {0}.", _params[1])); return; } } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in FirstClaimBlockConsole.Execute: {0}", e)); } }
public static void EndGame(ClientInfo _cInfo, EntityPlayer _player, string[] _stats) { PersistentPlayer _p = PersistentContainer.Instance.Players[_cInfo.playerId]; if (_p != null) { PersistentOperations.Session.TryGetValue(_cInfo.playerId, out DateTime _time); TimeSpan varTime = DateTime.Now - _time; double fractionalMinutes = varTime.TotalMinutes; int _timepassed = (int)fractionalMinutes; int _oldSession = PersistentContainer.Instance.Players[_cInfo.playerId].SessionTime; int _newSession = _oldSession + _timepassed; int.TryParse(_stats[2], out int _extraLives); string[] _newStats = { _cInfo.playerName, _newSession.ToString(), _player.KilledPlayers.ToString(), _player.KilledZombies.ToString(), Max_Deaths + _extraLives.ToString(), _player.Score.ToString() }; if (PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreSavedStats != null && PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreSavedStats.Count > 0) { PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreSavedStats.Add(_newStats); } else { List <string[]> SavedStats = new List <string[]>(); SavedStats.Add(_newStats); PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreSavedStats = SavedStats; } _p.Auction = new Dictionary <int, ItemDataSerializable>(); _p.AuctionReturn = new Dictionary <int, ItemDataSerializable>(); _p.Bank = 0; _p.BikeId = 0; _p.Bounty = 0; _p.BountyHunter = 0; _p.ClanInvite = ""; _p.ClanName = ""; _p.ClanOfficer = false; _p.ClanOwner = false; _p.ClanRequestToJoin = new Dictionary <string, string>(); _p.CountryBanImmune = false; _p.CustomCommandDelays = new Dictionary <string, DateTime>(); _p.FirstClaimBlock = false; _p.GyroId = 0; _p.HardcoreEnabled = false; _p.HardcoreStats = new string[0]; _p.HighPingImmune = false; _p.HighPingImmuneName = ""; _p.Homes = new Dictionary <string, string>(); _p.JailDate = new DateTime(); _p.JailName = ""; _p.JailTime = 0; _p.JeepId = 0; _p.LastAnimal = new DateTime(); _p.LastBike = new DateTime(); _p.LastDied = new DateTime(); _p.LastFriendTele = new DateTime(); _p.LastGimme = new DateTime(); _p.LastGyro = new DateTime(); _p.LastHome = new DateTime(); _p.LastJeep = new DateTime(); _p.LastJoined = new DateTime(); _p.LastKillMe = new DateTime(); _p.LastLobby = new DateTime(); _p.LastLog = new DateTime(); _p.LastMarket = new DateTime(); _p.LastMiniBike = new DateTime(); _p.LastMotorBike = new DateTime(); _p.LastStuck = new DateTime(); _p.LastTravel = new DateTime(); _p.LastVote = new DateTime(); _p.LastVoteWeek = new DateTime(); _p.LastWhisper = ""; _p.LobbyReturnPos = ""; _p.MarketReturnPos = ""; _p.MiniBikeId = 0; _p.MotorBikeId = 0; _p.MuteDate = new DateTime(); _p.MuteName = ""; _p.MuteTime = 0; _p.NewSpawn = false; _p.NewSpawnPosition = ""; _p.OldPlayer = false; _p.PlayerName = ""; _p.PlayerWallet = 0; _p.SessionTime = 0; _p.StartingItems = false; _p.TotalTimePlayed = 0; _p.VoteWeekCount = 0; _p.WebPass = ""; _p.ZoneDeathTime = new DateTime(); PersistentContainer.DataChange = true; Hardcore.Disconnect(_cInfo, _newStats); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 && _params.Count > 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 or 2, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (ClanManager.IsEnabled) { ClanManager.IsEnabled = false; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Clan manager has been set to off")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Clan manager is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!ClanManager.IsEnabled) { ClanManager.IsEnabled = true; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Clan manager has been set to on")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Clan manager is already on")); return; } } else if (_params[0].ToLower().Equals("list")) { if (_params.Count != 1) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); return; } if (ClanManager.Clans.Count > 0) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Clan List:")); foreach (KeyValuePair <string, string> i in ClanManager.Clans) { string _playerName = PersistentContainer.Instance.Players[i.Key].PlayerName; if (!string.IsNullOrEmpty(_playerName)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("Clan named {0}, owned by {1}, with id {2}", i.Value, _playerName, i.Key)); } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("Clan named {0}, owned by player with id {1}", i.Value, i.Key)); } } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] No clans were found")); } return; } else if (_params[0].ToLower().Equals("delete")) { if (_params.Count != 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found {0}", _params.Count)); return; } if (int.TryParse(_params[1], out int _steamId)) { if (ClanManager.ClanMember.Contains(_params[1])) { string _clanName = PersistentContainer.Instance.Players[_params[1]].ClanName; string _playerName = PersistentContainer.Instance.Players[_params[1]].PlayerName; if (PersistentContainer.Instance.Players[_params[1]].ClanOwner) { ClanManager.Clans.Remove(_params[1]); PersistentContainer.Instance.Players[_params[1]].ClanOwner = false; PersistentContainer.Instance.Players[_params[1]].ClanRequestToJoin = null; for (int i = 0; i < PersistentContainer.Instance.Players.IDs.Count; i++) { string _id = PersistentContainer.Instance.Players.IDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { if (p.ClanName != null && p.ClanName == _clanName) { p.ClanOfficer = false; p.ClanName = ""; ClanManager.ClanMember.Remove(_id); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Deleted {0} with id {1} from the clan system", p.PlayerName, _id)); ClientInfo _cInfo2 = PersistentOperations.GetClientInfoFromNameOrId(_id); if (_cInfo2 != null) { Phrases.Dict.TryGetValue("Clan21", out string _phrase); _phrase = _phrase.Replace("{ClanName}", _clanName); ChatHook.ChatMessage(_cInfo2, Config.Chat_Response_Color + _phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); } } else if (p.ClanInvite != null && p.ClanInvite == _clanName) { PersistentContainer.Instance.Players[_id].ClanInvite = ""; } PersistentContainer.DataChange = true; } } } PersistentContainer.Instance.Players[_params[1]].ClanOfficer = false; PersistentContainer.Instance.Players[_params[1]].ClanName = ""; PersistentContainer.DataChange = true; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Deleted {0} with id {1} from the clan system", _playerName, _params[1])); } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] {0} was not found in the clan system", _params[1])); } } else { if (ClanManager.Clans.ContainsValue(_params[1])) { foreach (KeyValuePair <string, string> _clan in ClanManager.Clans) { if (_clan.Value == _params[1]) { ClanManager.Clans.Remove(_clan.Key); break; } } for (int i = 0; i < PersistentContainer.Instance.Players.IDs.Count; i++) { string _id = PersistentContainer.Instance.Players.IDs[i]; PersistentPlayer p = PersistentContainer.Instance.Players[_id]; { if (p.ClanName != null && p.ClanName == _params[1]) { p.ClanOwner = false; p.ClanOfficer = false; p.ClanRequestToJoin = null; ClanManager.ClanMember.Remove(_id); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Deleted {0} with id {1} from the clan system", p.PlayerName, _id)); ClientInfo _cInfo2 = PersistentOperations.GetClientInfoFromNameOrId(_id); if (_cInfo2 != null) { Phrases.Dict.TryGetValue("Clan21", out string _phrase); _phrase = _phrase.Replace("{ClanName}", p.ClanName); ChatHook.ChatMessage(_cInfo2, Config.Chat_Response_Color + _phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); } p.ClanName = ""; } else if (p.ClanInvite != null && p.ClanInvite == _params[1]) { PersistentContainer.Instance.Players[_id].ClanInvite = ""; } PersistentContainer.DataChange = true; } } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] {0} was not found in the clan system", _params[1])); } } return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ClanManagerConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 or 2, found '{0}'", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (Wallet.IsEnabled) { Wallet.IsEnabled = false; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wallet has been set to off")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wallet is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!Wallet.IsEnabled) { Wallet.IsEnabled = true; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wallet has been set to on")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wallet is already on")); return; } } else if (_params[0].ToLower().Equals("all")) { bool negative = false; if (_params[1].Contains("-")) { _params[1].Replace("-", ""); negative = true; } if (!int.TryParse(_params[1], out int adjustCoins)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet. Value '{0}' is invalid", _params[1])); } else { List <ClientInfo> clientList = PersistentOperations.ClientList(); if (clientList != null) { for (int i = 0; i < clientList.Count; i++) { ClientInfo cInfo = clientList[i]; if (cInfo != null) { if (negative) { if (Wallet.GetCurrency(cInfo.CrossplatformId.CombinedString) >= adjustCoins) { Wallet.RemoveCurrency(cInfo.CrossplatformId.CombinedString, adjustCoins); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Removed '{0}' '{1}' from Id '{2}' named '{3}'", _params[1], Wallet.Currency_Name, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to remove '{0}' '{1}'. Target '{2}' named '{3}' does not have enough", _params[1], Wallet.Currency_Name, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); } return; } else { Wallet.AddCurrency(cInfo.CrossplatformId.CombinedString, adjustCoins); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added '{0}' '{1}' to id '{2}' named '{3}'", _params[1], Wallet.Currency_Name, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); return; } } } } } } else if (_params.Count == 2) { if (_params[1].Length < 1 || _params[1].Length > 6) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet. Value '{0}' is invalid", _params[1])); return; } bool negative = false; if (_params[1].Contains("-")) { _params[1].Replace("-", ""); negative = true; } if (!int.TryParse(_params[1], out int adjustCoins)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Can not adjust wallet. Value '{0}' is invalid", _params[1])); return; } if (_params[0].Contains("_")) { PersistentPlayer p = PersistentContainer.Instance.Players[_params[0]]; if (p != null) { if (negative) { Wallet.RemoveCurrency(_params[0], adjustCoins); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Removed '{0}' '{1}' from Id '{2}'", _params[1], Wallet.Currency_Name, _params[0])); } else { Wallet.AddCurrency(_params[0], adjustCoins); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added '{0}' '{1}' to wallet '{2}'", _params[1], Wallet.Currency_Name, _params[0])); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Id not found '{0}'", _params[0])); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid Id '{0}'", _params[0])); } } else if (_params.Count == 1) { if (_params[0].Contains("_")) { ClientInfo cInfo = PersistentOperations.GetClientInfoFromNameOrId(_params[0]); if (cInfo != null) { int currentWallet = Wallet.GetCurrency(cInfo.CrossplatformId.CombinedString); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Id '{0}' named '{1}' has '{2}' '{3}'", _params[0], cInfo.playerName, currentWallet, Wallet.Currency_Name)); } } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in WalletConsole.Execute: {0}", e.Message)); } }
public static void Exec() { if (GameUtils.WorldTimeToMinutes(GameManager.Instance.World.GetWorldTime()) == 0) { if (PersistentContainer.Instance.Players.SteamIDs != null && PersistentContainer.Instance.Players.SteamIDs.Count > 0) { List <string> playerlist = PersistentContainer.Instance.Players.SteamIDs; for (int i = 0; i < playerlist.Count; i++) { string _steamId = playerlist[i]; PersistentPlayer _p = PersistentContainer.Instance.Players[_steamId]; if (_p != null) { _p.Auction = new Dictionary <int, ItemDataSerializable>(); _p.AuctionReturn = new Dictionary <int, ItemDataSerializable>(); _p.Bank = 0; _p.BikeId = 0; _p.Bounty = 0; _p.BountyHunter = 0; _p.ClanInvite = ""; _p.ClanName = ""; _p.ClanOfficer = false; _p.ClanOwner = false; _p.ClanRequestToJoin = new Dictionary <string, string>(); _p.CountryBanImmune = false; _p.CustomCommandDelays = new Dictionary <string, DateTime>(); _p.FirstClaimBlock = false; _p.GyroId = 0; _p.HardcoreEnabled = false; _p.HardcoreStats = new string[0]; _p.HighPingImmune = false; _p.HighPingImmuneName = ""; _p.Homes = new Dictionary <string, string>(); _p.JailDate = new DateTime(); _p.JailName = ""; _p.JailTime = 0; _p.JeepId = 0; _p.LastAnimal = new DateTime(); _p.LastBike = new DateTime(); _p.LastDied = new DateTime(); _p.LastFriendTele = new DateTime(); _p.LastGimme = new DateTime(); _p.LastGyro = new DateTime(); _p.LastHome = new DateTime(); _p.LastJeep = new DateTime(); _p.LastJoined = new DateTime(); _p.LastKillMe = new DateTime(); _p.LastLobby = new DateTime(); _p.LastLog = new DateTime(); _p.LastMarket = new DateTime(); _p.LastMiniBike = new DateTime(); _p.LastMotorBike = new DateTime(); _p.LastStuck = new DateTime(); _p.LastTravel = new DateTime(); _p.LastVote = new DateTime(); _p.LastVoteWeek = new DateTime(); _p.LastWhisper = ""; _p.LobbyReturnPos = ""; _p.MarketReturnPos = ""; _p.MiniBikeId = 0; _p.MotorBikeId = 0; _p.MuteDate = new DateTime(); _p.MuteName = ""; _p.MuteTime = 0; _p.NewSpawn = false; _p.NewSpawnPosition = ""; _p.OldPlayer = false; _p.PlayerName = ""; _p.PlayerWallet = 0; _p.SessionTime = 0; _p.StartingItems = false; _p.TotalTimePlayed = 0; _p.VoteWeekCount = 0; _p.WebPass = ""; _p.ZoneDeathTime = new DateTime(); } } PersistentContainer.Instance.AuctionPrices = new Dictionary <int, int>(); PersistentContainer.Instance.ClientMuteList = new Dictionary <int, List <int> >(); PersistentContainer.Instance.LastWeather = new DateTime(); PersistentContainer.Instance.PollData = new string[0]; PersistentContainer.Instance.PollOld = new Dictionary <string[], string>(); PersistentContainer.Instance.PollOpen = false; PersistentContainer.Instance.PollVote = new Dictionary <string, bool>(); PersistentContainer.Instance.Track = new List <string[]>(); PersistentContainer.DataChange = true; Log.Out(string.Format("[SERVERTOOLS] Detected a new or unplayed map and old save data. Old data has been cleared from ServerTools")); } } }
public static void RemovePlayerData(ClientInfo _cInfo) { try { PersistentPlayer p = PersistentContainer.Instance.Players[_cInfo.playerId]; if (p != null) { p.Auction = new Dictionary <int, ItemDataSerializable>(); p.AuctionReturn = new Dictionary <int, ItemDataSerializable>(); p.Bank = 0; p.BikeId = 0; p.Bounty = 0; p.BountyHunter = 0; p.ClanInvite = ""; p.ClanName = ""; p.ClanOfficer = false; p.ClanOwner = false; p.ClanRequestToJoin = new Dictionary <string, string>(); p.CountryBanImmune = false; p.CustomCommandDelays = new Dictionary <string, DateTime>(); p.FirstClaimBlock = false; p.GyroId = 0; p.HardcoreEnabled = false; p.HardcoreSavedStats = new List <string[]>(); p.HardcoreStats = new string[0]; p.HighPingImmune = false; p.HighPingImmuneName = ""; p.Homes = new Dictionary <string, string>(); p.JailDate = new DateTime(); p.JailName = ""; p.JailTime = 0; p.JeepId = 0; p.LastAnimal = new DateTime(); p.LastBike = new DateTime(); p.LastDied = new DateTime(); p.LastFriendTele = new DateTime(); p.LastGimme = new DateTime(); p.LastGyro = new DateTime(); p.LastHome = new DateTime(); p.LastJeep = new DateTime(); p.LastJoined = new DateTime(); p.LastKillMe = new DateTime(); p.LastLobby = new DateTime(); p.LastLog = new DateTime(); p.LastMarket = new DateTime(); p.LastMiniBike = new DateTime(); p.LastMotorBike = new DateTime(); p.LastStuck = new DateTime(); p.LastTravel = new DateTime(); p.LastVote = new DateTime(); p.LastVoteWeek = new DateTime(); p.LastWhisper = ""; p.LobbyReturnPos = ""; p.MarketReturnPos = ""; p.MiniBikeId = 0; p.MotorBikeId = 0; p.MuteDate = new DateTime(); p.MuteName = ""; p.MuteTime = 0; p.NewSpawn = false; p.NewSpawnPosition = ""; p.OldPlayer = false; p.PlayerName = ""; p.PlayerWallet = 0; p.SessionTime = 0; p.StartingItems = false; p.TotalTimePlayed = 0; p.VoteWeekCount = 0; p.Waypoints = new Dictionary <string, string>(); p.WebPass = ""; p.ZoneDeathTime = new DateTime(); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in Hardcore.RemovePlayerData: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params[0].ToLower().Equals("add")) { if (_params.Count != 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}.", _params.Count)); return; } ClientInfo _cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (_cInfo != null) { bool _highPingImmune = PersistentContainer.Instance.Players[_cInfo.playerId].HighPingImmune; if (_highPingImmune) { SdtdConsole.Instance.Output(string.Format("Can not add Id. {0} is already in the Ping Immunity list.", _params[1])); } else { PersistentContainer.Instance.Players[_cInfo.playerId].HighPingImmune = true; PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Added Id {0} to the Ping Immunity list.", _params[1])); } } else { if (_params[1].Length != 17) { SdtdConsole.Instance.Output(string.Format("Player must be online or when offline use their steam Id which must be 17 numbers in length. Can not add Id: {0}", _params[1])); return; } else { PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; { if (p != null) { bool _highPingImmune = PersistentContainer.Instance.Players[_params[1]].HighPingImmune; if (_highPingImmune) { SdtdConsole.Instance.Output(string.Format("Can not add Id. {0} is already in the Ping Immunity list.", _params[1])); } else { PersistentContainer.Instance.Players[_params[1]].HighPingImmune = true; PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Added Id {0} to the Ping Immunity list.", _params[1])); } } } } } } else if (_params[0].ToLower().Equals("remove")) { if (_params.Count != 2) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}", _params.Count)); return; } if (_params[1].Length != 17) { SdtdConsole.Instance.Output(string.Format("Player must be online or when offline use their steam Id which must be 17 numbers in length. Can not add Id: {0}", _params[1])); return; } else { PersistentPlayer p = PersistentContainer.Instance.Players[_params[1]]; { if (p != null) { bool _highPingImmune = PersistentContainer.Instance.Players[_params[1]].HighPingImmune; if (_highPingImmune) { SdtdConsole.Instance.Output(string.Format("Can not remove Id. {0} is not in the Ping Immunity list.", _params[1])); } else { PersistentContainer.Instance.Players[_params[1]].HighPingImmune = true; PersistentContainer.Instance.Save(); SdtdConsole.Instance.Output(string.Format("Removed Id {0} from the Ping Immunity list.", _params[1])); } } } } } else if (_params[0].ToLower().Equals("list")) { if (_params.Count != 1) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1, found {0}.", _params.Count)); return; } else { if (HighPingKicker.Dict.Count == 0) { SdtdConsole.Instance.Output("There are no players on the Ping Immunity list."); return; } else { SdtdConsole.Instance.Output("High Ping Immunity List"); foreach (KeyValuePair <string, string> _c in HighPingKicker.Dict) { SdtdConsole.Instance.Output(string.Format("Player Id: {0} with name {1}", _c.Key, _c.Value)); } } } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}.", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in PingImmunityCommandConsole.Run: {0}.", e)); } }
public static void RemovePlayerData(string _id) { try { PersistentPlayer p = PersistentContainer.Instance.Players[_id]; if (p != null) { p.Auction = new Dictionary <int, ItemDataSerializable>(); p.AuctionReturn = new Dictionary <int, ItemDataSerializable>(); p.Bank = 0; p.BikeId = 0; p.Bounty = 0; p.BountyHunter = 0; p.ClanInvite = ""; p.ClanName = ""; p.ClanOfficer = false; p.ClanOwner = false; p.ClanRequestToJoin = new Dictionary <string, string>(); p.CountryBanImmune = false; p.CustomCommandDelays = new Dictionary <string, DateTime>(); p.FirstClaimBlock = false; p.GyroId = 0; p.HardcoreEnabled = false; p.HardcoreSavedStats = new List <string[]>(); p.HardcoreStats = new string[0]; p.HighPingImmune = false; p.HighPingImmuneName = ""; p.Homes = new Dictionary <string, string>(); p.JailDate = new DateTime(); p.JailName = ""; p.JailTime = 0; p.JeepId = 0; p.LastAnimal = new DateTime(); p.LastBike = new DateTime(); p.LastDied = new DateTime(); p.LastFriendTele = new DateTime(); p.LastGimme = new DateTime(); p.LastGyro = new DateTime(); p.LastHome = new DateTime(); p.LastJeep = new DateTime(); p.LastJoined = new DateTime(); p.LastKillMe = new DateTime(); p.LastLobby = new DateTime(); p.LastLog = new DateTime(); p.LastMarket = new DateTime(); p.LastMiniBike = new DateTime(); p.LastMotorBike = new DateTime(); p.LastStuck = new DateTime(); p.LastTravel = new DateTime(); p.LastVote = new DateTime(); p.LastVoteWeek = new DateTime(); p.LastWhisper = ""; p.LobbyReturnPos = ""; p.MarketReturnPos = ""; p.MiniBikeId = 0; p.MotorBikeId = 0; p.MuteDate = new DateTime(); p.MuteName = ""; p.MuteTime = 0; p.NewSpawn = false; p.NewSpawnPosition = ""; p.OldPlayer = false; p.PlayerName = ""; p.PlayerWallet = 0; p.SessionTime = 0; p.StartingItems = false; p.TotalTimePlayed = 0; p.VoteWeekCount = 0; p.Waypoints = new Dictionary <string, string>(); p.WebPass = ""; p.ZoneDeathTime = new DateTime(); PersistentContainer.DataChange = true; } string _phrase401; if (!Phrases.Dict.TryGetValue(401, out _phrase401)) { _phrase401 = "You have reset the profile for Player {SteamId}."; } _phrase401 = _phrase401.Replace("{SteamId}", _id); SdtdConsole.Instance.Output(string.Format("{0}", _phrase401)); } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ResetPlayerConsole.RemovePlayerData: {0}", e.Message)); } }
public static void RemovePlayerData(string _id) { try { PersistentPlayer p = PersistentContainer.Instance.Players[_id]; if (p != null) { p.Auction = new Dictionary <int, ItemDataSerializable>(); p.AuctionReturn = new Dictionary <int, ItemDataSerializable>(); p.AutoPartyInvite = new List <string[]>(); p.Bank = 0; p.Bounty = 0; p.BountyHunter = 0; p.ClanInvite = ""; p.ClanName = ""; p.ClanOfficer = false; p.ClanOwner = false; p.ClanRequestToJoin = new Dictionary <string, string>(); p.CountryBanImmune = false; p.CustomCommandDelays = new Dictionary <string, DateTime>(); p.EventOver = false; p.EventReturnPosition = ""; p.EventSpawn = false; p.Events = new List <List <string> >(); p.FamilyShareImmune = false; p.FirstClaimBlock = false; p.HardcoreEnabled = false; p.HardcoreSavedStats = new List <string[]>(); p.HardcoreStats = new string[0]; p.HighPingImmune = false; p.HighPingImmuneName = ""; p.Homes = new Dictionary <string, string>(); p.JailDate = new DateTime(); p.JailName = ""; p.JailTime = 0; p.LastAnimal = new DateTime(); p.LastDied = new DateTime(); p.LastFriendTele = new DateTime(); p.LastGimme = new DateTime(); p.LastHome = new DateTime(); p.LastJoined = new DateTime(); p.LastKillMe = new DateTime(); p.LastLobby = new DateTime(); p.LastLog = new DateTime(); p.LastMarket = new DateTime(); p.LastNameColorChange = new DateTime(); p.LastPrayer = new DateTime(); p.LastPrefixColorChange = new DateTime(); p.LastScout = new DateTime(); p.LastStuck = new DateTime(); p.LastTravel = new DateTime(); p.LastVote = new DateTime(); p.LastVoteWeek = new DateTime(); p.LastWaypoint = new DateTime(); p.LastWhisper = ""; p.LobbyReturnPos = ""; p.MarketReturnPos = ""; p.MuteDate = new DateTime(); p.MuteName = ""; p.MuteTime = 0; p.NewSpawn = false; p.NewSpawnPosition = ""; p.OldPlayer = false; p.PlayerName = ""; p.PlayerWallet = 0; p.ProxyBanImmune = false; p.SessionTime = 0; p.StartingItems = false; p.TotalTimePlayed = 0; p.Vehicles = new Dictionary <int, string[]>(); p.VoteWeekCount = 0; p.Waypoints = new Dictionary <string, string>(); p.WebPass = ""; p.ZoneDeathTime = new DateTime(); PersistentContainer.DataChange = true; } Phrases.Dict.TryGetValue("ResetPlayer2", out string _phrase); _phrase = _phrase.Replace("{SteamId}", _id); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("{0}", _phrase)); } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ResetPlayerConsole.RemovePlayerData: {0}", e.Message)); } }