public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 3) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1 to 3, found '{0}'", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (ReservedSlots.IsEnabled) { ReservedSlots.IsEnabled = false; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Reserved slots has been set to off")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Reserved slots is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!ReservedSlots.IsEnabled) { ReservedSlots.IsEnabled = true; Config.WriteXml(); Config.LoadXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Reserved slots has been set to on")); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Reserved slots is already on")); return; } } else if (_params[0].ToLower().Equals("add")) { if (_params.Count != 3) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 3, found '{0}'", _params.Count)); return; } string id = "", playerName = ""; ClientInfo cInfo = PersistentOperations.GetClientInfoFromNameOrId(_params[1]); if (cInfo != null) { id = cInfo.CrossplatformId.CombinedString; playerName = cInfo.playerName; } else { PersistentPlayerData ppd = PersistentOperations.GetPersistentPlayerDataFromId(_params[1]); if (ppd != null) { id = ppd.UserIdentifier.CombinedString; playerName = ppd.PlayerName; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to locate '{0}' online or offline. Use EOS id for offline player", _params[1])); return; } } if (ReservedSlots.Dict.ContainsKey(id)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Can not add id '{0}'. Id is already on the reserved slots list", id)); return; } if (!double.TryParse(_params[2], out double daysToExpire)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid days to expire '{0}'", _params[2])); return; } DateTime expireDate; if (daysToExpire > 0d) { expireDate = DateTime.Now.AddDays(daysToExpire); } else { expireDate = DateTime.Now.AddDays(18250d); } ReservedSlots.Dict.Add(id, expireDate); ReservedSlots.Dict1.Add(id, playerName); ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added id '{0}' named '{1}' with expiry '{2}' to the reserved slots list", id, playerName, expireDate.ToString())); return; } else if (_params[0].ToLower().Equals("edit")) { if (_params.Count != 3) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 3, found '{0}'", _params.Count)); return; } string id = "", playerName = ""; ClientInfo cInfo = PersistentOperations.GetClientInfoFromNameOrId(_params[1]); if (cInfo != null) { id = cInfo.CrossplatformId.CombinedString; playerName = cInfo.playerName; } else if (_params[1].Contains("_")) { PersistentPlayerData ppd = PersistentOperations.GetPersistentPlayerDataFromId(_params[1]); if (ppd != null) { id = ppd.UserIdentifier.CombinedString; playerName = ppd.PlayerName; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to locate '{0}' online or offline. Use EOS id for offline players", _params[1])); return; } } if (!ReservedSlots.Dict.ContainsKey(id)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Can not edit id '{0}'. This id is not on the reserved slots list", id)); return; } if (!double.TryParse(_params[2], out double daysToExpire)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid days to expire '{0}'", _params[2])); return; } DateTime expireDate; if (daysToExpire > 0d) { expireDate = DateTime.Now.AddDays(daysToExpire); } else { expireDate = DateTime.Now.AddDays(18250d); } ReservedSlots.Dict[id] = expireDate; ReservedSlots.Dict1[id] = playerName; ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Edited id '{0}' named '{1}' to expiry '{2}' on the reserved slots list", id, playerName, expireDate.ToString())); return; } else if (_params[0].ToLower().Equals("remove")) { if (_params.Count != 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); return; } string id = ""; ClientInfo cInfo = PersistentOperations.GetClientInfoFromNameOrId(_params[1]); if (cInfo != null) { id = cInfo.CrossplatformId.CombinedString; } else if (_params[1].Contains("_")) { PersistentPlayerData ppd = PersistentOperations.GetPersistentPlayerDataFromId(_params[1]); if (ppd != null) { id = ppd.UserIdentifier.CombinedString; } } if (ReservedSlots.Dict.ContainsKey(id)) { ReservedSlots.Dict.Remove(id); ReservedSlots.Dict1.Remove(id); ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Removed id '{0}' from the reserved slots list", id)); return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to remove id '{0}'. Id was not on the reserved slots list", _params[1])); 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 (ReservedSlots.Dict.Count == 0) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] There are no players on the Reserved slots list"); return; } else { foreach (var key in ReservedSlots.Dict) { if (ReservedSlots.Dict1.TryGetValue(key.Key, out string name)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("Id '{0}' named '{1}' expires '{2}'", key.Key, name, key.Value)); } } } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ReservedSlotConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count != 2 && _params.Count != 8) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2 or 8, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("remove")) { if (_params.Count == 2) { if (!ReservedSlots.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not remove id from the reserved slots list. {0} is not in the list.", _params[1])); } else { ReservedSlots.Dict.Remove(_params[1]); SdtdConsole.Instance.Output(string.Format("Removed id {0} from the reserved slots list.", _params[1])); } if (!ChatColorPrefix.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not remove id from the chat color prefix list. {0} is not in the list.", _params[1])); } else { ChatColorPrefix.Dict.Remove(_params[1]); SdtdConsole.Instance.Output(string.Format("Removed id {0} from the chat color prefix list.", _params[1])); } } else { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}.", _params.Count)); } } else if (_params[0].ToLower().Equals("add")) { ClientInfo _cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (_cInfo == null) { if (_params[1].Length == 17) { _cInfo = PersistentOperations.GetClientInfoFromSteamId(_params[1]); if (_cInfo == null) { SdtdConsole.Instance.Output(string.Format("Can not find player data attached to {0}", _params[1])); return; } } else { if (int.TryParse(_params[1], out int _entId)) { _cInfo = PersistentOperations.GetClientInfoFromEntityId(_entId); if (_cInfo == null) { SdtdConsole.Instance.Output(string.Format("Can not find player data attached to {0}", _params[1])); return; } } else { SdtdConsole.Instance.Output(string.Format("Can not find player data attached to {0}", _params[1])); return; } } } if (_params.Count == 8) { foreach (var group in ChatColorPrefix.Dict) { if (group.Value[1] == _params[3]) { SdtdConsole.Instance.Output(string.Format("Can not add id {0} to the chat color prefix list. Group {1} already exists on the list. Create a new entry or add them to this group", _cInfo.playerId, _params[3])); return; } } if (!_params[5].Contains("[") || !_params[5].Contains("]")) { SdtdConsole.Instance.Output(string.Format("Invalid days to expire: {0}", _params[7])); return; } double _daysToExpire; if (!double.TryParse(_params[7], out _daysToExpire)) { SdtdConsole.Instance.Output(string.Format("Invalid days to expire: {0}", _params[7])); return; } DateTime _expireDate; if (_daysToExpire > 0d) { _expireDate = DateTime.Now.AddDays(_daysToExpire); } else { _expireDate = DateTime.Now.AddDays(18250d); } if (ReservedSlots.Dict.ContainsKey(_params[1])) { ReservedSlots.Dict[_params[1]] = _expireDate; ReservedSlots.Dict1[_params[1]] = _params[2]; SdtdConsole.Instance.Output(string.Format("Updated id {0}, with the name of {1}, expiring on {2} from the Reserved Slots list.", _params[1], _params[2], _expireDate.ToString())); } else { ReservedSlots.Dict.Add(_params[1], _expireDate); ReservedSlots.Dict1.Add(_params[1], _params[2]); SdtdConsole.Instance.Output(string.Format("Added id {0}, with the name of {1} expiring on {2} from the Reserved Slots list.", _params[1], _params[2], _expireDate.ToString())); } ReservedSlots.UpdateXml(); string[] _c = new string[] { _params[2], _params[3], _params[4], _params[5], _params[6] }; if (ChatColorPrefix.Dict.ContainsKey(_params[1])) { ChatColorPrefix.Dict[_params[1]] = _c; ChatColorPrefix.Dict1[_params[1]] = _expireDate; SdtdConsole.Instance.Output(string.Format("Updated id {0}, with the name of {1} to the group {2} using prefix {3}, name color {4} and prefix color {5} that expires {6} to the chat color prefix list.", _cInfo.playerId, _params[2], _params[3], _params[4], _params[5], _params[6], _expireDate.ToString())); } else { ChatColorPrefix.Dict.Add(_params[1], _c); ChatColorPrefix.Dict1.Add(_params[1], _expireDate); SdtdConsole.Instance.Output(string.Format("Added id {0}, with the name of {1} to the group {2} using prefix {3}, name color {4} and prefix color {5} that expires {6} to the chat color prefix list.", _cInfo.playerId, _params[2], _params[3], _params[4], _params[5], _params[6], _expireDate.ToString())); } ChatColorPrefix.UpdateXml(); } else { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 8, found {0}.", _params.Count)); } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in DonorConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count != 1 && _params.Count != 2 && _params.Count != 4) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, 2 or 4, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("off")) { if (ReservedSlots.IsEnabled) { ReservedSlots.IsEnabled = false; Config.WriteXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Reserved slots has been set to off")); return; } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Reserved slots is already off")); return; } } else if (_params[0].ToLower().Equals("on")) { if (!ReservedSlots.IsEnabled) { ReservedSlots.IsEnabled = true; Config.WriteXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Reserved slots has been set to on")); return; } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Reserved slots is already on")); return; } } else if (_params[0].ToLower().Equals("add")) { if (_params.Count != 4) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 4, found {0}", _params.Count)); return; } if (_params[1].Length < 1 || _params[1].Length > 17) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not add Id: Invalid Id {0}", _params[1])); return; } if (ReservedSlots.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Can not add Id. {0} is already in the Reserved slots list", _params[1])); return; } double _daysToExpire; if (!double.TryParse(_params[3], out _daysToExpire)) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid days to expire: {0}", _params[3])); return; } DateTime _expireDate; if (_daysToExpire > 0d) { _expireDate = DateTime.Now.AddDays(_daysToExpire); } else { _expireDate = DateTime.Now.AddDays(18250d); } ReservedSlots.Dict.Add(_params[1], _expireDate); ReservedSlots.Dict1.Add(_params[1], _params[2]); ReservedSlots.UpdateXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Added Id {0} with the name of {1} that expires on {2} to the Reserved slots list", _params[1], _params[2], _expireDate.ToString())); } else if (_params[0].ToLower().Equals("remove")) { if (_params.Count != 2) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] 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("[SERVERTOOLS] Can not remove Id: Invalid Id {0}", _params[1])); return; } ClientInfo _cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (_cInfo != null) { if (!ReservedSlots.Dict.ContainsKey(_cInfo.playerId)) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Id {0} was not found on the Reserved slots list", _params[1])); return; } ReservedSlots.Dict.Remove(_cInfo.playerId); ReservedSlots.Dict1.Remove(_cInfo.playerId); ReservedSlots.UpdateXml(); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Removed Id {0} from Reserved slots list", _params[1])); } else { if (ReservedSlots.Dict.ContainsKey(_params[1])) { ReservedSlots.Dict.Remove(_params[1]); ReservedSlots.Dict1.Remove(_params[1]); SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Removed Id {0} from Reserved slots list", _params[1])); ReservedSlots.UpdateXml(); } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Id {0} was not found on the Reserved slots list", _params[1])); } } } else if (_params[0].ToLower().Equals("list")) { if (_params.Count != 1) { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); return; } if (ReservedSlots.Dict.Count == 0) { SdtdConsole.Instance.Output("[SERVERTOOLS] There are no players on the Reserved slots list"); return; } else { foreach (var _key in ReservedSlots.Dict) { string _name; if (ReservedSlots.Dict1.TryGetValue(_key.Key, out _name)) { SdtdConsole.Instance.Output(string.Format("{0} {1} {2}", _key.Key, _name, _key.Value)); } } } } else { SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ReservedSlotConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count != 2 && _params.Count != 3 && _params.Count != 6) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, 3 or 6, found '{0}'", _params.Count)); return; } if (_params[0].ToLower().Equals("add")) { string id = "", playerName = ""; ClientInfo cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (cInfo != null) { id = cInfo.CrossplatformId.CombinedString; playerName = cInfo.playerName; } else if (_params[1].Contains("EOS_")) { PersistentPlayerData ppd = PersistentOperations.GetPersistentPlayerDataFromId(_params[1]); if (ppd != null) { id = ppd.UserIdentifier.CombinedString; playerName = ppd.PlayerName; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to locate player data for '{0}'", _params[1])); return; } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid id '{0}'. Use their EOS id when offline", _params[1])); return; } if (_params.Count == 3) { if (!double.TryParse(_params[2], out double daysToExpire)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to add player. Invalid days to expire '{0}'", _params[2])); return; } DateTime expiryDate; if (daysToExpire > 0d) { expiryDate = DateTime.Now.AddDays(daysToExpire); } else { expiryDate = DateTime.Now.AddDays(18250d); } if (ChatColor.IsEnabled) { string[] c = new string[] { playerName, "", "", "" }; if (ChatColor.ExpireDate.ContainsKey(id)) { ChatColor.ExpireDate.TryGetValue(id, out DateTime oldDate); if (daysToExpire > 0d) { oldDate.AddDays(daysToExpire); } else { oldDate.AddDays(18250d); } ChatColor.Players[id] = c; ChatColor.ExpireDate[id] = oldDate; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added id '{0}' named '{1}' using no colors or prefix. Expiration set to '{2}' on the chat color list", id, playerName, expiryDate.ToString())); ChatColor.UpdateXml(); } else { ChatColor.Players.Add(id, c); ChatColor.ExpireDate.Add(id, expiryDate); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added id '{0}' named '{1}' using no colors or prefix. Expiration set to '{2}' on the chat color list", id, playerName, expiryDate.ToString())); ChatColor.UpdateXml(); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] Chat color is not enabled. Unable to add player to list"); } if (ReservedSlots.IsEnabled) { if (ReservedSlots.Dict.ContainsKey(id)) { ReservedSlots.Dict.TryGetValue(id, out DateTime oldDate); if (daysToExpire > 0d) { oldDate.AddDays(daysToExpire); } else { oldDate.AddDays(18250d); } ReservedSlots.Dict[id] = oldDate; ReservedSlots.Dict1[id] = playerName; ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added id '{0}' with name '{1}'. Expiration set to '{2}' on the reserved list", id, playerName, expiryDate.ToString())); } else { ReservedSlots.Dict.Add(id, expiryDate); ReservedSlots.Dict1.Add(id, playerName); ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added id '{0}' with name '{1}'. Expiration set to '{2}' on the reserved list", id, playerName, expiryDate.ToString())); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] Reserved slots is not enabled. Unable to add player to list"); } } else if (_params.Count == 6) { if (!double.TryParse(_params[5], out double daysToExpire)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid days to expire '{0}'", _params[5])); return; } DateTime expiryDate; if (daysToExpire > 0d) { expiryDate = DateTime.Now.AddDays(daysToExpire); } else { expiryDate = DateTime.Now.AddDays(18250d); } if (ChatColor.IsEnabled) { string colorTag1; if (ColorList.Colors.ContainsKey(_params[2].ToLower())) { ColorList.Colors.TryGetValue(_params[2].ToLower(), out colorTag1); } else { colorTag1 = _params[2].ToUpper(); if (colorTag1 != "" && !colorTag1.StartsWith("[")) { colorTag1 = colorTag1.Insert(0, "["); colorTag1 = colorTag1.Insert(colorTag1.Length, "]"); } } string colorTag2; if (ColorList.Colors.ContainsKey(_params[4].ToLower())) { ColorList.Colors.TryGetValue(_params[4].ToLower(), out colorTag2); } else { colorTag2 = _params[4].ToUpper(); if (colorTag2 != "" && !colorTag2.StartsWith("[")) { colorTag2 = colorTag2.Insert(0, "["); colorTag2 = colorTag2.Insert(colorTag2.Length, "]"); } } string[] c = new string[] { playerName, colorTag1, _params[3], colorTag2 }; if (ChatColor.ExpireDate.ContainsKey(id)) { ChatColor.ExpireDate.TryGetValue(id, out DateTime oldDate); if (daysToExpire > 0d) { oldDate.AddDays(daysToExpire); } else { oldDate.AddDays(18250d); } ChatColor.Players[id] = c; ChatColor.ExpireDate[id] = oldDate; SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added player id '{0}' with name '{1}' using color '{2}' and prefix '{3}' using color '{4}'. Expiration set to '{5}' on the chat color list", id, playerName, colorTag1, _params[3], colorTag2, expiryDate.ToString())); ChatColor.UpdateXml(); } else { ChatColor.Players.Add(id, c); ChatColor.ExpireDate.Add(id, expiryDate); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added player id '{0}' with name '{1}' using color '{2}' and prefix '{3}' using color '{4}'. Expiration set to '{5}' on the chat color list", id, playerName, colorTag1, _params[3], colorTag2, expiryDate.ToString())); ChatColor.UpdateXml(); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] Chat color is not enabled. Unable to add player to list"); } if (ReservedSlots.IsEnabled) { if (ReservedSlots.Dict.ContainsKey(id)) { ReservedSlots.Dict.TryGetValue(id, out DateTime oldDate); if (daysToExpire > 0d) { oldDate.AddDays(daysToExpire); } else { oldDate.AddDays(18250d); } ReservedSlots.Dict[id] = oldDate; ReservedSlots.Dict1[id] = playerName; ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added player id '{0}' with name '{1}'. Expiration set to '{2}' on the reserved list", id, playerName, expiryDate.ToString())); } else { ReservedSlots.Dict.Add(id, expiryDate); ReservedSlots.Dict1.Add(id, playerName); ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Added player id '{0}' with name '{1}'. Expiration set to '{2}' on the reserved list", id, playerName, expiryDate.ToString())); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output("[SERVERTOOLS] Reserved slots is not enabled. Unable to add player to list"); } } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 3 or 6, found '{0}'", _params.Count)); return; } } else if (_params[0].ToLower().Equals("edit")) { if (_params.Count != 3) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 3, found '{0}'", _params.Count)); return; } string steamId = ""; ClientInfo cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (cInfo != null) { steamId = cInfo.PlatformId.ReadablePlatformUserIdentifier; } else { steamId = _params[1]; } if (!double.TryParse(_params[2], out double daysToExpire)) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Unable to edit player. Invalid days to expire: '{0}'", _params[2])); return; } DateTime expiryDate; if (daysToExpire > 0d) { expiryDate = DateTime.Now.AddDays(daysToExpire); } else { expiryDate = DateTime.Now.AddDays(18250d); } if (ChatColor.ExpireDate.ContainsKey(steamId)) { ChatColor.ExpireDate[steamId] = expiryDate; ChatColor.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Edited player id '{0}'. Expiry set to '{1}' on the reserved slots list", steamId, expiryDate)); } if (ReservedSlots.Dict.ContainsKey(steamId)) { ReservedSlots.Dict[steamId] = expiryDate; ReservedSlots.UpdateXml(); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Edited player id '{0}'. Expiry set to '{1}' on the reserved slots list", steamId, expiryDate)); } return; } else if (_params[0].ToLower().Equals("remove")) { if (_params.Count != 2) { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); return; } string steamId = ""; ClientInfo cInfo = ConsoleHelper.ParseParamIdOrName(_params[1]); if (cInfo != null) { steamId = cInfo.PlatformId.ReadablePlatformUserIdentifier; } else { steamId = _params[1]; } if (ChatColor.Players.ContainsKey(steamId)) { ChatColor.Players.Remove(steamId); ChatColor.ExpireDate.Remove(steamId); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Removed player id '{0}' from the chat color prefix list", steamId)); } if (ReservedSlots.Dict.ContainsKey(steamId)) { ReservedSlots.Dict.Remove(steamId); SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Removed player id '{0}' from the reserved slots list", steamId)); } return; } else { SingletonMonoBehaviour <SdtdConsole> .Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in DonorConsole.Execute: {0}", e.Message)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params[0].ToLower().Equals("remove")) { if (_params.Count == 2) { if (!ReservedSlots.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not remove Id from the reserved slots list. {0} is not in the list.", _params[1])); } else { ReservedSlots.Dict.Remove(_params[1]); SdtdConsole.Instance.Output(string.Format("Remove Id {0} from the reserved slots list.", _params[1])); } if (!ChatColorPrefix.dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not remove Id from the chat color prefix list. {0} is not in the list.", _params[1])); } else { ChatColorPrefix.dict.Remove(_params[1]); SdtdConsole.Instance.Output(string.Format("Remove Id {0} from the chat color prefix list.", _params[1])); } } else { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 2, found {0}.", _params.Count)); } } else if (_params[0].ToLower().Equals("add")) { if (_params.Count == 7) { if (ReservedSlots.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not add Id to the reserved slots list. {0} is in the list.", _params[1])); } else { double _daysToExpire; if (!double.TryParse(_params[6], out _daysToExpire)) { SdtdConsole.Instance.Output(string.Format("Invalid days to expire: {0}", _params[6])); return; } DateTime _expireDate; if (_daysToExpire > 0d) { _expireDate = DateTime.Now.AddDays(_daysToExpire); } else { _expireDate = DateTime.Now.AddDays(18250d); } ReservedSlots.Dict.Add(_params[1], _expireDate); ReservedSlots.Dict1.Add(_params[1], _params[2]); SdtdConsole.Instance.Output(string.Format("Added Id {0} with the name of {1} that expires on {2} to the Reserved Slots list.", _params[1], _params[2], _expireDate.ToString())); ReservedSlots.UpdateXml(); } if (ChatColorPrefix.dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not add Id to the chat color prefix list. {0} is in the list.", _params[1])); } else { double _daysToExpire; if (!double.TryParse(_params[6], out _daysToExpire)) { SdtdConsole.Instance.Output(string.Format("Invalid days to expire: {0}", _params[6])); return; } DateTime _expireDate; if (_daysToExpire > 0d) { _expireDate = DateTime.Now.AddDays(_daysToExpire); } else { _expireDate = DateTime.Now.AddDays(18250d); } string _color = ""; if (!_params[5].StartsWith("[")) { _color = "[" + _params[5] + "]"; } else { _color = _params[5]; } string[] _c = new string[] { _params[2], _params[3], _params[4], _color }; ChatColorPrefix.dict.Add(_params[1], _c); ChatColorPrefix.dict1.Add(_params[1], _expireDate); SdtdConsole.Instance.Output(string.Format("Added Id {0} with the name of {1} to the group {2} with prefix {3} and color {4} that expires {5} to the chat color prefix list.", _params[1], _params[2], _params[3], _params[4], _color, _expireDate.ToString())); ChatColorPrefix.UpdateXml(); } } else { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 7, found {0}.", _params.Count)); } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in DonorConsole.Execute: {0}", e)); } }
public override void Execute(List <string> _params, CommandSenderInfo _senderInfo) { try { if (_params.Count < 1 || _params.Count > 4) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 1 to 4, found {0}", _params.Count)); return; } if (_params[0].ToLower().Equals("add")) { if (_params.Count != 4) { SdtdConsole.Instance.Output(string.Format("Wrong number of arguments, expected 4, found {0}.", _params.Count)); return; } if (_params[1].Length != 17) { SdtdConsole.Instance.Output(string.Format("Can not add SteamId: Invalid SteamId {0}", _params[1])); return; } if (ReservedSlots.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("Can not add SteamId. {0} is already in the Reserved Slots list.", _params[1])); return; } double _daysToExpire; if (!double.TryParse(_params[3], out _daysToExpire)) { SdtdConsole.Instance.Output(string.Format("Invalid days to expire: {0}", _params[3])); return; } DateTime _expireDate; if (_daysToExpire > 0d) { _expireDate = DateTime.Now.AddDays(_daysToExpire); } else { _expireDate = DateTime.Now.AddDays(18250d); } ReservedSlots.Dict.Add(_params[1], _expireDate); ReservedSlots.Dict1.Add(_params[1], _params[2]); SdtdConsole.Instance.Output(string.Format("Added SteamId {0} with the name of {1} that expires on {2} to the Reserved Slots list.", _params[1], _params[2], _expireDate.ToString())); ReservedSlots.UpdateXml(); } 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 (!ReservedSlots.Dict.ContainsKey(_params[1])) { SdtdConsole.Instance.Output(string.Format("SteamId {0} was not found.", _params[1])); return; } ReservedSlots.Dict.Remove(_params[1]); ReservedSlots.Dict1.Remove(_params[1]); SdtdConsole.Instance.Output(string.Format("Removed SteamId {0} from Reserved Slots list.", _params[1])); ReservedSlots.UpdateXml(); } 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 (ReservedSlots.Dict.Count < 1) { SdtdConsole.Instance.Output("There are no steamIds on the Reserved Slots list."); return; } foreach (KeyValuePair <string, DateTime> _key in ReservedSlots.Dict) { string _name; if (ReservedSlots.Dict1.TryGetValue(_key.Key, out _name)) { SdtdConsole.Instance.Output(string.Format("{0} {1} {2}", _key.Key, _name, _key.Value)); } } } else { SdtdConsole.Instance.Output(string.Format("Invalid argument {0}.", _params[0])); } } catch (Exception e) { Log.Out(string.Format("[SERVERTOOLS] Error in ReservedSlot.Run: {0}.", e)); } }