コード例 #1
0
ファイル: Commands.cs プロジェクト: LinhyCZ/MOTDgd_Unturned
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length == 1)
            {
                switch (command[0].ToLower())
                {
                case "all":
                    Main.reward_mode = "all";
                    break;

                case "sequential":
                    Main.reward_mode = "sequential";
                    break;

                case "weighted":
                    Main.reward_mode = "weighted";
                    break;

                case "random":
                    Main.reward_mode = "random";
                    break;

                default:
                    if (caller.ToString() == "Rocket.API.ConsolePlayer")
                    {
                        Rocket.Core.Logging.Logger.Log("Didn't recognize " + command[0] + " as valid reward mode.");
                    }
                    else
                    {
                        UnturnedPlayer player = (UnturnedPlayer)caller;
                        UnturnedChat.Say(player, "Didn't recognize " + command[0] + " as valid reward mode.");
                    }
                    break;
                }
            }
            else
            {
                if (caller.ToString() == "Rocket.API.ConsolePlayer")
                {
                    Rocket.Core.Logging.Logger.Log("Wrong syntax of command");
                }
                else
                {
                    UnturnedPlayer player = (UnturnedPlayer)caller;
                    UnturnedChat.Say(player, "Wrong syntax of command");
                }
            }
        }
コード例 #2
0
ファイル: Commands.cs プロジェクト: LinhyCZ/MOTDgd_Unturned
 public void Execute(IRocketPlayer caller, string[] command)
 {
     if (command.Length == 1)
     {
         UnturnedPlayer remPlayer = UnturnedPlayer.FromName(command[0]);
         if (remPlayer != null)
         {
             Main.Cooldown.Remove(remPlayer.CSteamID);
             Main.Ad_Views.Remove(remPlayer.CSteamID);
             Rocket.Core.Logging.Logger.Log("Cleared cooldown for player " + remPlayer.DisplayName);
         }
         else
         {
             Rocket.Core.Logging.Logger.LogWarning("Tried to clear cooldown for " + command[0] + " but he is not on the server!");
         }
     }
     else
     {
         if (caller.ToString() == "Rocket.API.ConsolePlayer")
         {
             Rocket.Core.Logging.Logger.Log("Wrong syntax of command");
         }
         else
         {
             UnturnedPlayer player = (UnturnedPlayer)caller;
             UnturnedChat.Say(player, "Wrong syntax of command");
         }
     }
 }
コード例 #3
0
        public void Execute(IRocketPlayer playerid, string[] msg)
        {
            if (playerid == null) return;
            if (msg.Length > 1)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_command_usage", new object[] { }));
                return;
            }

            UnturnedPlayer caller = UnturnedPlayer.FromName(playerid.ToString());

            if (msg.Length == 0)
            {
                byte currentlevel = Zaup_Warning.Instance.Database.GetWarnings(caller.CSteamID);
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_current_level", new object[] { currentlevel }));
                return;
            }
            if (!playerid.HasPermission("warnings.others"))
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_no_permission_others", new object[] { }));
                return;
            }
            UnturnedPlayer warnee = UnturnedPlayer.FromName(msg[0]);
            if (warnee == null)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("invalid_name_provided", new object[] { }));
                return;
            }
            byte currentlevel1 = Zaup_Warning.Instance.Database.GetWarnings(warnee.CSteamID);
            UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_current_level_others", new object[] { warnee.CharacterName, currentlevel1 }));
            return;
        }
コード例 #4
0
ファイル: CommandRep.cs プロジェクト: SeussCZ/Reputation
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            if (command.Length != 1)
            {
                int    rep   = Reputation.Instance.Database.GetReputation(caller.ToString());
                string ranga = Reputation.Instance.Database.GetGroup(caller.ToString());
                UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_self_1", rep));
                UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_self_2", ranga));
                return;
            }

            else if (command.Length == 1)
            {
                UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[0]);
                if (otherPlayer != null)
                {
                    if (caller.Id == otherPlayer.Id)
                    {
                        int    rep   = Reputation.Instance.Database.GetReputation(caller.ToString());
                        string ranga = Reputation.Instance.Database.GetGroup(caller.ToString());
                        UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_self_1", rep));
                        UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_self_2", ranga));
                        return;
                    }
                    else
                    {
                        int    rep   = Reputation.Instance.Database.GetReputation(otherPlayer.Id.ToString());
                        string ranga = Reputation.Instance.Database.GetGroup(otherPlayer.Id.ToString());
                        UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_1", otherPlayer.DisplayName, rep));
                        UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_2", otherPlayer.DisplayName, ranga));
                        return;
                    }
                }
                else
                {
                    UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_notfound"));
                }
            }

            else
            {
                UnturnedChat.Say(caller, Reputation.Instance.Translations.Instance.Translate("rep_notfound"));
            }
        }
コード例 #5
0
ファイル: Commands.cs プロジェクト: LinhyCZ/MOTDgd_Unturned
 public void Execute(IRocketPlayer caller, string[] command)
 {
     if (command.Length == 1)
     {
         UnturnedPlayer rew_player = UnturnedPlayer.FromName(command[0]);
         if (rew_player != null)
         {
             Main inst = new Main();
             inst.GiveReward(rew_player);
         }
         else
         {
             if (caller.ToString() == "Rocket.API.ConsolePlayer")
             {
                 Rocket.Core.Logging.Logger.Log("Cannot find player with name " + command[0]);
             }
             else
             {
                 UnturnedPlayer player = (UnturnedPlayer)caller;
                 UnturnedChat.Say(player, "Cannot find player with name " + command[0]);
             }
         }
     }
     else
     {
         if (caller.ToString() == "Rocket.API.ConsolePlayer")
         {
             Rocket.Core.Logging.Logger.Log("Wrong syntax of command");
         }
         else
         {
             UnturnedPlayer player = (UnturnedPlayer)caller;
             UnturnedChat.Say(player, "Wrong syntax of command");
         }
     }
 }
コード例 #6
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length!=1)
            {
                UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter"));
                return;
            }

            SteamPlayer otherPlayer = PlayerTool.getSteamPlayer(command[0]);
            if (otherPlayer != null && (caller == null || otherPlayer.SteamPlayerID.CSteamID.ToString() != caller.ToString()))
            {
                UnturnedChat.Say(caller, U.Translate("command_investigate_private", otherPlayer.SteamPlayerID.CharacterName, otherPlayer.SteamPlayerID.CSteamID.ToString()));
            }
            else
            {
                UnturnedChat.Say(caller, U.Translate("command_generic_failed_find_player"));
            }
        }
コード例 #7
0
        public void Execute(IRocketPlayer playerid, string[] msg)
        {
            if (playerid == null)
            {
                return;
            }
            if (msg.Length > 1)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_command_usage", new object[] { }));
                return;
            }

            UnturnedPlayer caller = UnturnedPlayer.FromName(playerid.ToString());

            if (msg.Length == 0)
            {
                byte currentlevel = Zaup_Warning.Instance.Database.GetWarnings(caller.CSteamID);
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_current_level", new object[] { currentlevel }));
                return;
            }
            if (!playerid.HasPermission("warnings.others"))
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_no_permission_others", new object[] { }));
                return;
            }
            UnturnedPlayer warnee = UnturnedPlayer.FromName(msg[0]);

            if (warnee == null)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("invalid_name_provided", new object[] { }));
                return;
            }
            byte currentlevel1 = Zaup_Warning.Instance.Database.GetWarnings(warnee.CSteamID);

            UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warnings_current_level_others", new object[] { warnee.CharacterName, currentlevel1 }));
            return;
        }
コード例 #8
0
ファイル: CommandKit.cs プロジェクト: kondziuxon/Kits
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;

            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_invalid_parameter"));
                return;
            }

            Kit kit = Kits.Instance.Configuration.Instance.Kits.Where(k => k.Name.ToLower() == command[0].ToLower()).FirstOrDefault();

            if (kit == null)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_not_found"));
                return;
            }

            bool hasPermissions = caller.HasPermission("kit." + kit.Name.ToLower());

            if (!hasPermissions)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_no_permissions"));
                return;
            }

            KeyValuePair <string, DateTime> globalCooldown = Kits.GlobalCooldown.Where(k => k.Key == caller.ToString()).FirstOrDefault();

            if (!globalCooldown.Equals(default(KeyValuePair <string, DateTime>)))
            {
                double globalCooldownSeconds = (DateTime.Now - globalCooldown.Value).TotalSeconds;
                if (globalCooldownSeconds < Kits.Instance.Configuration.Instance.GlobalCooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_command", (int)(Kits.Instance.Configuration.Instance.GlobalCooldown - globalCooldownSeconds)));
                    return;
                }
            }

            KeyValuePair <string, DateTime> individualCooldown = Kits.InvididualCooldown.Where(k => k.Key == (caller.ToString() + kit.Name)).FirstOrDefault();

            if (!individualCooldown.Equals(default(KeyValuePair <string, DateTime>)))
            {
                double individualCooldownSeconds = (DateTime.Now - individualCooldown.Value).TotalSeconds;
                if (individualCooldownSeconds < kit.Cooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_kit", (int)(kit.Cooldown - individualCooldownSeconds)));
                    return;
                }
            }

            foreach (KitItem item in kit.Items)
            {
                if (!player.GiveItem(item.ItemId, item.Amount))
                {
                    Logger.Log(Kits.Instance.Translations.Instance.Translate("command_kit_failed_giving_item", player.CharacterName, item.ItemId, item.Amount));
                }
            }
            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_success", kit.Name));

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.GlobalCooldown[caller.ToString()] = DateTime.Now;
            }
            else
            {
                Kits.GlobalCooldown.Add(caller.ToString(), DateTime.Now);
            }

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.InvididualCooldown[caller.ToString() + kit.Name] = DateTime.Now;
            }
            else
            {
                Kits.InvididualCooldown.Add(caller.ToString() + kit.Name, DateTime.Now);
            }
        }
コード例 #9
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer playerid = UnturnedPlayer.FromName(caller.ToString());

            EffectManager.askEffectClearByID(12800, playerid.CSteamID);
        }
コード例 #10
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, U.Translate("command_generic_invalid_parameter"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            SteamPlayer otherPlayer = PlayerTool.getSteamPlayer(command[0]);

            if (otherPlayer != null && (caller == null || otherPlayer.playerID.steamID.ToString() != caller.ToString()))
            {
                UnturnedChat.Say(caller, U.Translate("command_investigate_private", otherPlayer.playerID.characterName, otherPlayer.playerID.steamID.ToString()));
            }
            else
            {
                UnturnedChat.Say(caller, U.Translate("command_generic_failed_find_player"));
                throw new WrongUsageOfCommandException(caller, this);
            }
        }
コード例 #11
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            try
            {
                if (command.Length == 0 || command.Length > 3)
                {
                    UnturnedChat.Say(caller, GlobalBan.Instance.Translate("command_generic_invalid_parameter"));
                    return;
                }

                var isOnline = false;

                CSteamID steamid;
                string   charactername = null;


                var otherPlayer   = UnturnedPlayer.FromName(command[0]);
                var otherPlayerID = command.GetCSteamIDParameter(0);
                if (otherPlayer == null || otherPlayer.CSteamID.ToString() == "0" ||
                    caller != null && otherPlayer.CSteamID.ToString() == caller.Id)
                {
                    var player = GlobalBan.GetPlayer(command[0]);
                    if (player.Key.ToString() != "0")
                    {
                        steamid       = player.Key;
                        charactername = player.Value;
                    }
                    else
                    {
                        if (otherPlayerID != null)
                        {
                            steamid = new CSteamID(otherPlayerID.Value);
                            var playerProfile = new Profile(otherPlayerID.Value);
                            charactername = playerProfile.SteamID;
                        }
                        else
                        {
                            UnturnedChat.Say(caller, GlobalBan.Instance.Translate("command_generic_player_not_found"));
                            return;
                        }
                    }
                }
                else
                {
                    isOnline      = true;
                    steamid       = otherPlayer.CSteamID;
                    charactername = otherPlayer.CharacterName;
                }

                var adminName = "Console";
                if (caller != null)
                {
                    adminName = caller.ToString();
                }

                if (command.Length == 3)
                {
                    var duration = 0;
                    if (int.TryParse(command[2], out duration))
                    {
                        GlobalBan.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, command[1],
                                                              duration);
                        UnturnedChat.Say(GlobalBan.Instance.Translate("command_ban_public_reason", charactername,
                                                                      command[1]));
                        if (isOnline)
                        {
                            Provider.kick(steamid, command[1]);
                        }
                    }
                    else
                    {
                        UnturnedChat.Say(caller, GlobalBan.Instance.Translate("command_generic_invalid_parameter"));
                        return;
                    }
                }
                else if (command.Length == 2)
                {
                    GlobalBan.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, command[1], 0);
                    UnturnedChat.Say(GlobalBan.Instance.Translate("command_ban_public_reason", charactername,
                                                                  command[1]));
                    if (isOnline)
                    {
                        Provider.kick(steamid, command[1]);
                    }
                }
                else
                {
                    GlobalBan.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, "", 0);
                    UnturnedChat.Say(GlobalBan.Instance.Translate("command_ban_public", charactername));
                    if (isOnline)
                    {
                        Provider.kick(steamid, GlobalBan.Instance.Translate("command_ban_private_default_reason"));
                    }
                }
            }
            catch (System.Exception ex)
            {
                Logger.LogException(ex);
            }
        }
コード例 #12
0
ファイル: CommandKit.cs プロジェクト: Nicoalas/Kits
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;
            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_invalid_parameter"));
                return;
            }

            Kit kit = Kits.Instance.Configuration.Instance.Kits.Where(k => k.Name.ToLower() == command[0].ToLower()).FirstOrDefault();
            if (kit == null)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_not_found"));
                return;
            }

            bool hasPermissions = caller.HasPermission("kit." + kit.Name.ToLower());

            if (!hasPermissions)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_no_permissions"));
                return;
            }

            KeyValuePair<string, DateTime> globalCooldown = Kits.GlobalCooldown.Where(k => k.Key == caller.ToString()).FirstOrDefault();
            if (!globalCooldown.Equals(default(KeyValuePair<string, DateTime>)))
            {
                double globalCooldownSeconds = (DateTime.Now - globalCooldown.Value).TotalSeconds;
                if (globalCooldownSeconds < Kits.Instance.Configuration.Instance.GlobalCooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_command", (int)(Kits.Instance.Configuration.Instance.GlobalCooldown - globalCooldownSeconds)));
                    return;
                }
            }

            KeyValuePair<string, DateTime> individualCooldown = Kits.InvididualCooldown.Where(k => k.Key == (caller.ToString() + kit.Name)).FirstOrDefault();
            if (!individualCooldown.Equals(default(KeyValuePair<string, DateTime>)))
            {
                double individualCooldownSeconds = (DateTime.Now - individualCooldown.Value).TotalSeconds;
                if (individualCooldownSeconds < kit.Cooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_kit", (int)(kit.Cooldown - individualCooldownSeconds)));
                    return;
                }
            }

            foreach (KitItem item in kit.Items)
            {

                if (!player.GiveItem(item.ItemId, item.Amount))
                {
                    Logger.Log(Kits.Instance.Translations.Instance.Translate("command_kit_failed_giving_item", player.CharacterName, item.ItemId, item.Amount));
                }
            }
            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_success", kit.Name));

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.GlobalCooldown[caller.ToString()] = DateTime.Now;
            }
            else
            {
                Kits.GlobalCooldown.Add(caller.ToString(), DateTime.Now);
            }

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.InvididualCooldown[caller.ToString() + kit.Name] = DateTime.Now;
            }
            else
            {
                Kits.InvididualCooldown.Add(caller.ToString() + kit.Name, DateTime.Now);
            }
        }
コード例 #13
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = (UnturnedPlayer)caller;

            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_invalid_parameter"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            Kit kit = Kits.Instance.Configuration.Instance.Kits.Where(k => k.Name.ToLower() == command[0].ToLower()).FirstOrDefault();

            if (kit == null)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_not_found"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            bool hasPermissions = caller.HasPermission("kit.*") | caller.HasPermission("kit." + kit.Name.ToLower());

            if (!hasPermissions)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_no_permissions"));
                throw new NoPermissionsForCommandException(caller, this);
            }

            KeyValuePair <string, DateTime> globalCooldown = Kits.GlobalCooldown.Where(k => k.Key == caller.ToString()).FirstOrDefault();

            if (!globalCooldown.Equals(default(KeyValuePair <string, DateTime>)))
            {
                double globalCooldownSeconds = (DateTime.Now - globalCooldown.Value).TotalSeconds;
                if (globalCooldownSeconds < Kits.Instance.Configuration.Instance.GlobalCooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_command", (int)(Kits.Instance.Configuration.Instance.GlobalCooldown - globalCooldownSeconds)));
                    return;
                }
            }

            KeyValuePair <string, DateTime> individualCooldown = Kits.InvididualCooldown.Where(k => k.Key == (caller.ToString() + kit.Name)).FirstOrDefault();

            if (!individualCooldown.Equals(default(KeyValuePair <string, DateTime>)))
            {
                double individualCooldownSeconds = (DateTime.Now - individualCooldown.Value).TotalSeconds;
                if (individualCooldownSeconds < kit.Cooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_kit", (int)(kit.Cooldown - individualCooldownSeconds)));
                    return;
                }
            }

            bool cancelBecauseNotEnoughtMoney = false;

            if (kit.Money.HasValue && kit.Money.Value != 0)
            {
                Kits.ExecuteDependencyCode("Uconomy", (IRocketPlugin plugin) =>
                {
                    Uconomy.Uconomy Uconomy = (Uconomy.Uconomy)plugin;
                    if ((Uconomy.Database.GetBalance(player.CSteamID.ToString()) + kit.Money.Value) < 0)
                    {
                        cancelBecauseNotEnoughtMoney = true;
                        UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_no_money", Math.Abs(kit.Money.Value), Uconomy.Configuration.Instance.MoneyName, kit.Name));
                        return;
                    }
                    else
                    {
                        UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_money", kit.Money.Value, Uconomy.Configuration.Instance.MoneyName, kit.Name));
                    }
                    Uconomy.Database.IncreaseBalance(player.CSteamID.ToString(), kit.Money.Value);
                });
            }

            if (cancelBecauseNotEnoughtMoney)
            {
                throw new WrongUsageOfCommandException(caller, this);
            }

            foreach (KitItem item in kit.Items)
            {
                try
                {
                    if (!player.GiveItem(item.ItemId, item.Amount))
                    {
                        Logger.Log(Kits.Instance.Translations.Instance.Translate("command_kit_failed_giving_item", player.CharacterName, item.ItemId, item.Amount));
                    }
                }
                catch (Exception ex)
                {
                    Logger.LogException(ex, "Failed giving item " + item.ItemId + " to player");
                }
            }

            if (kit.XP.HasValue && kit.XP != 0)
            {
                player.Experience += kit.XP.Value;
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_xp", kit.XP.Value, kit.Name));
            }

            if (kit.Vehicle.HasValue)
            {
                try
                {
                    player.GiveVehicle(kit.Vehicle.Value);
                }
                catch (Exception ex)
                {
                    Logger.LogException(ex, "Failed giving vehicle " + kit.Vehicle.Value + " to player");
                }
            }

            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_success", kit.Name));

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.GlobalCooldown[caller.ToString()] = DateTime.Now;
            }
            else
            {
                Kits.GlobalCooldown.Add(caller.ToString(), DateTime.Now);
            }

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.InvididualCooldown[caller.ToString() + kit.Name] = DateTime.Now;
            }
            else
            {
                Kits.InvididualCooldown.Add(caller.ToString() + kit.Name, DateTime.Now);
            }
        }
コード例 #14
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            try
            {
                if (command.Length == 0 || command.Length > 3)
                {
                    UnturnedChat.Say(caller, Overwatch.Instance.Translate("command_generic_invalid_parameter"));
                    return;
                }

                bool isOnline = false;

                CSteamID steamid;
                string   charactername = null;


                UnturnedPlayer otherPlayer   = UnturnedPlayer.FromName(command[0]);
                ulong?         otherPlayerID = command.GetCSteamIDParameter(0);
                CSteamID       console       = (CSteamID)0;
                if (otherPlayer == null || otherPlayer.CSteamID.ToString() == "0" || caller != null && otherPlayer.CSteamID.ToString() == caller.Id)
                {
                    KeyValuePair <CSteamID, string> player = Overwatch.GetPlayer(command[0]);
                    if (player.Key.ToString() != "0")
                    {
                        steamid       = player.Key;
                        charactername = player.Value;
                    }
                    else
                    {
                        if (otherPlayerID != null)
                        {
                            steamid = new CSteamID(otherPlayerID.Value);
                            Profile playerProfile = new Profile(otherPlayerID.Value);
                            charactername = playerProfile.SteamID;
                        }
                        else
                        {
                            UnturnedChat.Say(caller, Overwatch.Instance.Translate("command_generic_player_not_found"));
                            return;
                        }
                    }
                }
                else
                {
                    isOnline      = true;
                    steamid       = otherPlayer.CSteamID;
                    charactername = otherPlayer.CharacterName;
                }

                string adminName = "Console";
                if (caller != null)
                {
                    adminName = caller.ToString();
                }

                if (command.Length == 3)
                {
                    int duration = 0;
                    if (int.TryParse(command[2], out duration))
                    {
                        Overwatch.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, "You was kicked by an overwatch agent", duration);
                        UnturnedChat.Say(Overwatch.Instance.Translate("command_ban_public_reason", charactername, command[1]));
                        if (isOnline)
                        {
                            otherPlayer.Player.sendScreenshot(console);
                        }
                        Provider.kick(steamid, "You was banned by an overwatch agent");
                    }
                    else
                    {
                        UnturnedChat.Say(caller, Overwatch.Instance.Translate("command_generic_invalid_parameter"));
                        return;
                    }
                }
                else if (command.Length == 2)
                {
                    Overwatch.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, "You was kicked by an overwatch agent", 0);
                    UnturnedChat.Say(Overwatch.Instance.Translate("command_ban_public_reason", charactername, command[1]));
                    if (isOnline)
                    {
                        otherPlayer.Player.sendScreenshot(console);
                    }
                    Provider.kick(steamid, "You was banned by an overwatch agent");
                }
                else
                {
                    Overwatch.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, "", 0);
                    UnturnedChat.Say(Overwatch.Instance.Translate("command_ban_public", charactername));
                    if (isOnline)
                    {
                        otherPlayer.Player.sendScreenshot(console);
                    }
                    Provider.kick(steamid, Overwatch.Instance.Translate("command_ban_private_default_reason"));
                }
            }
            catch (System.Exception ex)
            {
                Logger.LogException(ex);
            }
        }
コード例 #15
0
 public void Execute(IRocketPlayer playerid, string[] msg)
 {
     if (playerid == null) return;
     if (msg.Length <= 0 || msg.Length > 3)
     {
         UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warn_command_usage", new object[] { }));
         return;
     }
     UnturnedPlayer warnee = UnturnedPlayer.FromName(msg[0]);
     if (warnee == null)
     {
         UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("invalid_name_provided", new object[] { }));
         return;
     }
     if (warnee.CharacterName == playerid.ToString())
     {
         UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("not_warn_yourself", new object[] { }));
         return;
     }
     string reason = "";
     if (msg.Length >= 2)
     {
         reason = msg[1];
     }
     short amt = 1;
     if (msg.Length == 3)
     {
         short.TryParse(msg[2], out amt);
     }
     // Check their current warning level.
     byte currentlevel = Zaup_Warning.Instance.Database.GetWarnings(warnee.CSteamID);
     if (amt < 0)
     {
         if (currentlevel + amt < 0) amt = (short)currentlevel;
         if (!Zaup_Warning.Instance.Database.EditWarning(warnee.CSteamID, amt))
         {
             UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("error_warning_player", new object[] { warnee.CharacterName }));
             return;
         }
         else
         {
             UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warn_reduced_warner_msg", new object[] {
                 warnee.CharacterName,
                 amt.ToString(),
                 ((short)currentlevel + amt).ToString()
             }));
             return;
         }
     }
     if (((short)currentlevel + amt) >= Zaup_Warning.Instance.Configuration.Instance.WarningstoKick && Zaup_Warning.Instance.Configuration.Instance.WarningtoKickOn)
     {
         if (!Zaup_Warning.Instance.Database.EditWarning(warnee.CSteamID, amt))
         {
             UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("error_warning_player", new object[] { warnee.CharacterName }));
             return;
         }
         else
         {
             warnee.Kick(reason);
             UnturnedChat.Say(Zaup_Warning.Instance.Translate("warn_kick_public_msg", new object[] {
                 warnee.CharacterName,
                 playerid.ToString(),
                 reason,
                 ((short)currentlevel + amt).ToString()
             }));
             return;
         }
     }
     else
     {
         if (!Zaup_Warning.Instance.Database.EditWarning(warnee.CSteamID, amt))
         {
             UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("error_warning_player", new object[] { warnee.CharacterName }));
             return;
         }
         else
         {
             UnturnedChat.Say(Zaup_Warning.Instance.Translate("warn_msg", new object[] {
                 warnee.CharacterName,
                 playerid.ToString(),
                 reason,
                 ((short)currentlevel + amt).ToString()
             }));
             return;
         }
     }
 }
コード例 #16
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            try
            {
                if (command.Length == 0 || command.Length > 3)
                {
                    UnturnedChat.Say(caller, "Invalid input. /mute <name> Reason <time>", UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
                    return;
                }

                bool     isOnline = false;
                CSteamID steamid;
                string   charactername = null;
                string   adminId       = "Console";
                string   adminName     = "Console";
                string   reason        = "";
                int      duration      = 0;

                UnturnedPlayer otherPlayer   = UnturnedPlayer.FromName(command[0]);
                ulong?         otherPlayerID = command.GetCSteamIDParameter(0);

                if (otherPlayer == null || otherPlayer.CSteamID.ToString() == "0" || caller != null && otherPlayer.CSteamID.ToString() == caller.Id)
                {
                    KeyValuePair <CSteamID, string> player = UTools.GetPlayer(command[0]);
                    if (player.Key.ToString() != "0")
                    {
                        steamid       = player.Key;
                        charactername = player.Value;
                    }
                    else
                    {
                        if (otherPlayerID != null)
                        {
                            steamid = new CSteamID(otherPlayerID.Value);
                            Profile playerProfile = new Profile(otherPlayerID.Value);
                            charactername = playerProfile.SteamID;
                        }
                        else
                        {
                            UnturnedChat.Say(caller, UTools.Instance.Translate("tpa_player_not_found"), UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
                            return;
                        }
                    }
                }
                else
                {
                    isOnline      = true;
                    steamid       = otherPlayer.CSteamID;
                    charactername = otherPlayer.CharacterName;
                    if (otherPlayer.HasPermission("mute.immune"))
                    {
                        UnturnedChat.Say(caller, UTools.Instance.Translate("mute_immune", otherPlayer.CharacterName));
                        return;
                    }
                }

                if (caller != null)
                {
                    if (caller.ToString() != "Rocket.API.ConsolePlayer")
                    {
                        adminId = caller.ToString();
                    }
                    adminName = caller.DisplayName;
                }

                if (adminId.ToString() == steamid.ToString())
                {
                    UnturnedChat.Say(caller, "You cannot mute yourself!", UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
                    return;
                }
                if (UTools.Instance.Database.convertTimeToSeconds(UTools.Instance.Configuration.Instance.DefaultMuteDuration) != 0)
                {
                    int.TryParse(UTools.Instance.Database.convertTimeToSeconds(UTools.Instance.Configuration.Instance.DefaultMuteDuration).ToString(), out duration);
                }

                if (command.Length == 3)
                {
                    if (int.TryParse(UTools.Instance.Database.convertTimeToSeconds(command[2]).ToString(), out duration))
                    {
                        reason = command[1];
                    }
                    else
                    {
                        UnturnedChat.Say(caller, UTools.Instance.Translate("Invalid use! /mute <name> Reason <time>"), UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
                        return;
                    }
                }
                else if (command.Length == 2)
                {
                    if (UTools.Instance.Database.convertTimeToSeconds(command[1]) > 0)
                    {
                        int.TryParse(UTools.Instance.Database.convertTimeToSeconds(command[1]).ToString(), out duration);
                    }
                    else
                    {
                        reason = command[1];
                    }
                }
                if (UTools.Instance.Database.IsChatBanned(steamid.ToString()) != null)
                {
                    UnturnedChat.Say(caller, "Player already muted", UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
                    return;
                }

                UTools.Instance.Database.ChatBanPlayer(charactername, steamid.ToString(), adminId, reason, duration);
                UnturnedChat.Say(UTools.Instance.Translate("mute_public", charactername), UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
                UnturnedChat.Say(steamid, UTools.Instance.Translate("mute_private", (duration / 60)), UnturnedChat.GetColorFromName(UTools.Instance.Configuration.Instance.DutyMsgColor, Color.red));
            }
            catch (System.Exception e)
            {
                Rocket.Core.Logging.Logger.LogException(e);
            }
        }
コード例 #17
0
        public void Execute(IRocketPlayer playerid, string[] msg)
        {
            if (playerid == null)
            {
                return;
            }
            if (msg.Length <= 0 || msg.Length > 3)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warn_command_usage", new object[] { }));
                return;
            }
            UnturnedPlayer warnee = UnturnedPlayer.FromName(msg[0]);

            if (warnee == null)
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("invalid_name_provided", new object[] { }));
                return;
            }
            if (warnee.CharacterName == playerid.ToString())
            {
                UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("not_warn_yourself", new object[] { }));
                return;
            }
            string reason = "";

            if (msg.Length >= 2)
            {
                reason = msg[1];
            }
            short amt = 1;

            if (msg.Length == 3)
            {
                short.TryParse(msg[2], out amt);
            }
            // Check their current warning level.
            byte currentlevel = Zaup_Warning.Instance.Database.GetWarnings(warnee.CSteamID);

            if (amt < 0)
            {
                if (currentlevel + amt < 0)
                {
                    amt = (short)currentlevel;
                }
                if (!Zaup_Warning.Instance.Database.EditWarning(warnee.CSteamID, amt))
                {
                    UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("error_warning_player", new object[] { warnee.CharacterName }));
                    return;
                }
                else
                {
                    UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("warn_reduced_warner_msg", new object[] {
                        warnee.CharacterName,
                        amt.ToString(),
                        ((short)currentlevel + amt).ToString()
                    }));
                    return;
                }
            }
            if (((short)currentlevel + amt) >= Zaup_Warning.Instance.Configuration.Instance.WarningstoKick && Zaup_Warning.Instance.Configuration.Instance.WarningtoKickOn)
            {
                if (!Zaup_Warning.Instance.Database.EditWarning(warnee.CSteamID, amt))
                {
                    UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("error_warning_player", new object[] { warnee.CharacterName }));
                    return;
                }
                else
                {
                    warnee.Kick(reason);
                    UnturnedChat.Say(Zaup_Warning.Instance.Translate("warn_kick_public_msg", new object[] {
                        warnee.CharacterName,
                        playerid.ToString(),
                        reason,
                        ((short)currentlevel + amt).ToString()
                    }));
                    return;
                }
            }
            else
            {
                if (!Zaup_Warning.Instance.Database.EditWarning(warnee.CSteamID, amt))
                {
                    UnturnedChat.Say(playerid, Zaup_Warning.Instance.Translate("error_warning_player", new object[] { warnee.CharacterName }));
                    return;
                }
                else
                {
                    UnturnedChat.Say(Zaup_Warning.Instance.Translate("warn_msg", new object[] {
                        warnee.CharacterName,
                        playerid.ToString(),
                        reason,
                        ((short)currentlevel + amt).ToString()
                    }));
                    return;
                }
            }
        }
コード例 #18
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            try
            {
                if (command.Length == 0 || command.Length > 3)
                {
                    UnturnedChat.Say(caller, TheStorinator.Instance.Translate("command_generic_invalid_parameter"));
                    return;
                }

                bool isOnline = false;

                CSteamID steamid;
                string charactername = null;

                UnturnedPlayer otherPlayer = UnturnedPlayer.FromName(command[0]);
                ulong? otherPlayerID = command.GetCSteamIDParameter(0);
                if (otherPlayer == null || otherPlayer.CSteamID.ToString() == "0" || caller != null && otherPlayer.CSteamID.ToString() == caller.Id)
                {
                    KeyValuePair<CSteamID, string> player = TheStorinator.GetPlayer(command[0]);
                    if (player.Key.ToString() != "0")
                    {
                        steamid = player.Key;
                        charactername = player.Value;
                    }
                    else
                    {
                        if (otherPlayerID != null)
                        {
                            steamid = new CSteamID(otherPlayerID.Value);
                            Profile playerProfile = new Profile(otherPlayerID.Value);
                            charactername = playerProfile.SteamID;
                        }
                        else
                        {
                            UnturnedChat.Say(caller, TheStorinator.Instance.Translate("command_generic_player_not_found"));
                            return;
                        }
                    }
                }
                else
                {
                    isOnline = true;
                    steamid = otherPlayer.CSteamID;
                    charactername = otherPlayer.CharacterName;
                }

                string adminName = "Console";
                if (caller != null) adminName = caller.ToString();

                if (command.Length == 3)
                {
                    int duration = 0;
                    if (int.TryParse(command[2], out duration))
                    {

                        TheStorinator.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, command[1], duration);
                        UnturnedChat.Say(TheStorinator.Instance.Translate("command_ban_public_reason", charactername, command[1]));
                        if (isOnline)
                            Provider.kick(steamid, command[1]);
                    }
                    else
                    {
                        UnturnedChat.Say(caller, TheStorinator.Instance.Translate("command_generic_invalid_parameter"));
                        return;
                    }
                }
                else if (command.Length == 2)
                {

                    TheStorinator.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, command[1], 0);
                    UnturnedChat.Say(TheStorinator.Instance.Translate("command_ban_public_reason", charactername, command[1]));
                    if (isOnline)
                        Provider.kick(steamid, command[1]);
                }
                else
                {
                    TheStorinator.Instance.Database.BanPlayer(charactername, steamid.ToString(), adminName, "", 0);
                    UnturnedChat.Say(TheStorinator.Instance.Translate("command_ban_public", charactername));
                    if (isOnline)
                        Provider.kick(steamid, TheStorinator.Instance.Translate("command_ban_private_default_reason"));
                }

            }
            catch (System.Exception ex)
            {
                Logger.LogException(ex);
            }
        }
コード例 #19
0
        public void Execute(IRocketPlayer caller, string[] command)
        {

            if (command.Length != 1)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_invalid_parameter"));
                throw new WrongUsageOfCommandException(caller, this);
            }
            UnturnedPlayer player = (UnturnedPlayer)caller;

            Kit kit = Kits.Instance.Configuration.Instance.Kits.Where(k => k.Name.ToLower() == command[0].ToLower()).FirstOrDefault();
            if (kit == null)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_not_found"));
                throw new WrongUsageOfCommandException(caller, this);
            }

            bool hasPermissions = caller.HasPermission("kit.*") | caller.HasPermission("kit." + kit.Name.ToLower());

            if (!hasPermissions)
            {
                UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_no_permissions"));
                throw new NoPermissionsForCommandException(caller, this);
            }


            KeyValuePair<string, DateTime> globalCooldown = Kits.GlobalCooldown.Where(k => k.Key == caller.ToString()).FirstOrDefault();
            if (!globalCooldown.Equals(default(KeyValuePair<string, DateTime>)))
            {
                double globalCooldownSeconds = (DateTime.Now - globalCooldown.Value).TotalSeconds;
                if (globalCooldownSeconds < Kits.Instance.Configuration.Instance.GlobalCooldown)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_command", (int)(Kits.Instance.Configuration.Instance.GlobalCooldown - globalCooldownSeconds)));
                    return;
                }
            }
            if (kit.Conditions.Count > 0 && !CheckKitTime(player, kit))
                return;


            PlayerInfo players = PlayerLibrary.PlayerLibrary.GetPlayerByCSteam(player.CSteamID.m_SteamID);
            Model.Kits kitTab = Kits.Db.Queryable<Model.Kits>().Where(it => it.kit == kit.kit && it.player == players.player.Id).First();
            if (kitTab == null)
            {
                kitTab = new Model.Kits(players.player.Id, kit.kit);
                if (NotEnoughtMoney(player, kit))
                {
                    return;
                }
                kitTab = Kits.Db.Insertable(kitTab).ExecuteReturnEntity();

            }
            else
            {
                if (DateTime.Now.Subtract(kitTab.updated_at).TotalSeconds < kit.Cooldown)
                {
                    TimeSpan timeSpan = kitTab.updated_at.AddSeconds(kit.Cooldown.Value).Subtract(DateTime.Now);
                    string timer = GetTimeSpan(timeSpan);
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_cooldown_kit", timer));
                    return;
                }

                if (kit.Count.HasValue && kit.Count.Value <= kitTab.count)
                {
                    UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_count", kit.Name));
                    return;
                }

                if (NotEnoughtMoney(player, kit))
                {
                    return;
                }


            }



            kitTab.count++;
            kitTab.updated_at = DateTime.Now;

            Kits.Db.Updateable(kitTab).ExecuteCommand();

            Kits.Instance.GiveKit(player, kit);
            UnturnedChat.Say(caller, Kits.Instance.Translations.Instance.Translate("command_kit_success", kit.Name));

            if (Kits.GlobalCooldown.ContainsKey(caller.ToString()))
            {
                Kits.GlobalCooldown[caller.ToString()] = DateTime.Now;
            }
            else
            {
                Kits.GlobalCooldown.Add(caller.ToString(), DateTime.Now);
            }

        }