Exemplo n.º 1
0
        /// <summary>
        /// Checks if the player has a cooldown on a specific command
        /// </summary>
        /// <param name="command">The command to check for</param>
        /// <returns>If there is a cooldown on the command</returns>
        public virtual bool HasCooldown(PointBlankCommand command)
        {
            if (!_Cooldowns.ContainsKey(command))
            {
                return(false);
            }
            int cooldown = GetCooldown();

            if (cooldown != -1)
            {
                if (!((DateTime.Now - _Cooldowns[command]).TotalSeconds >= cooldown))
                {
                    return(true);
                }
                _Cooldowns.Remove(command);
                return(false);
            }
            if (command.Cooldown == -1)
            {
                return(false);
            }
            if (!((DateTime.Now - _Cooldowns[command]).TotalSeconds >= command.Cooldown))
            {
                return(true);
            }
            _Cooldowns.Remove(command);
            return(false);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gives the player a cooldown on a specific command
        /// </summary>
        /// <param name="command">The command to set the cooldown on</param>
        /// <param name="time">The time when the cooldown was applied(set to null to remove cooldown)</param>
        public virtual void SetCooldown(PointBlankCommand command, DateTime time)
        {
            if (time == null)
            {
                _Cooldowns.Remove(command);
                return;
            }

            _Cooldowns.Add(command, time);
        }
Exemplo n.º 3
0
        public override void Execute(PointBlankPlayer executor, string[] args)
        {
            PointBlankCommand cmd = CommandManager.Commands.FirstOrDefault(a => a.Commands.FirstOrDefault(b => b.ToLower() == args[0].ToLower()) != null && a.Enabled);

            if (cmd == null)
            {
                UnturnedChat.SendMessage(executor, Translations["Base_CommandInvalid"], ConsoleColor.Red);
                return;
            }
            UnturnedChat.SendMessage(executor, (executor == null ? "" : "/") + cmd.Usage, ConsoleColor.Green);
        }
Exemplo n.º 4
0
        private void PointBlankCommandEvents_OnCommandExecuted(PointBlankCommand command, string[] args, PointBlankPlayer executor, ref bool allowExecute)
        {
            if (!typeof(FireworksCommand).IsAssignableFrom(command.GetType()))
            {
                return;
            }
            bool          cancel       = false;
            IRocketPlayer rocketPlayer = (PointBlankPlayer.IsServer(executor) ? new ConsolePlayer() : (IRocketPlayer) new UnturnedPlayer((PBPlayer)executor));

            RocketCommandManager.Instance.RunExecuteCommand(rocketPlayer, ((FireworksCommand)command)._RocketCommand, ref cancel);
            allowExecute = !cancel;
        }
Exemplo n.º 5
0
        public static void UnregisterCommand(IRocketCommand command)
        {
            try
            {
                PointBlankCommand cmd = PointBlankCommandManager.Commands.FirstOrDefault(a => typeof(FireworksCommand).IsAssignableFrom(a.GetType()) && ((FireworksCommand)a)._RocketCommand == command);

                if (cmd == null)
                {
                    return;
                }
                PointBlankCommandManager.UnloadCommand(cmd);
            }
            catch (Exception ex)
            {
                return;
            }
        }
Exemplo n.º 6
0
        public override void Execute(PointBlankPlayer executor, string[] args)
        {
            if (args.Length > 0)
            {
                PointBlankCommand cmd = CommandManager.Commands.FirstOrDefault(a => a.Commands.FirstOrDefault(b => b.ToLower() == args[0].ToLower()) != null && a.Enabled);

                if (cmd == null)
                {
                    UnturnedChat.SendMessage(executor, Translations["Base_CommandInvalid"], ConsoleColor.Red);
                    return;
                }
                UnturnedChat.SendMessage(executor, cmd.Help, ConsoleColor.Green);
                return;
            }
            int    pos     = 0;
            int    prevPos = 0;
            string send    = "";

            while (true)
            {
                if (pos >= CommandManager.Commands.Length)
                {
                    UnturnedChat.SendMessage(executor, send, ConsoleColor.Green);
                    break;
                }
                if (pos - prevPos >= 3)
                {
                    UnturnedChat.SendMessage(executor, send, ConsoleColor.Green);
                    send    = "";
                    prevPos = pos;
                }

                send += (string.IsNullOrEmpty(send) ? "" : ",") + CommandManager.Commands[pos].Commands[0];
                pos++;
            }
        }