UpdateXml() публичный статический Метод

public static UpdateXml ( ) : void
Результат void
        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));
            }
        }
Пример #2
0
 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));
     }
 }
Пример #4
0
        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));
            }
        }
Пример #5
0
 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));
     }
 }
Пример #6
0
 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));
     }
 }