Esempio n. 1
0
 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));
     }
 }
Esempio n. 2
0
 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;
                     }
                 }
             }
         }
     }
 }
Esempio n. 3
0
 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);
             }
         }
     }
 }
Esempio n. 4
0
 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();
                     }
                 }
             }
         }
     }
 }
Esempio n. 5
0
 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));
     }
 }
Esempio n. 6
0
 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);
     }
 }
Esempio n. 7
0
        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));
            }
        }
Esempio n. 8
0
        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));
            }
        }
Esempio n. 9
0
 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);
                    }
                }
            }
        }
Esempio n. 11
0
        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);
     }
 }
Esempio n. 13
0
 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));
     }
 }
Esempio n. 14
0
        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));
            }
        }
Esempio n. 15
0
 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));
     }
 }
Esempio n. 16
0
        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));
            }
        }
Esempio n. 17
0
 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));
     }
 }
Esempio n. 18
0
 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));
     }
 }
Esempio n. 19
0
 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));
     }
 }
Esempio n. 21
0
 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));
     }
 }
Esempio n. 22
0
        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));
            }
        }
Esempio n. 24
0
        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"));
         }
     }
 }
Esempio n. 26
0
 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));
     }
 }
Esempio n. 29
0
 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));
     }
 }