Example #1
0
        /// <summary>
        /// Control <see cref="State"/> based on mouse input.
        /// </summary>
        private bool ProcessMouseMessage(MouseMessage mouseMessage)
        {
            if (mouseMessage == MouseMessage.WM_LBUTTONUP)
            {
                // left mouse up
                lock (StateLock)
                {
                    // no matter what state it was before, we just released left mouse, therefore get to idle state
                    State = AimBotState.Up;
                }
                return(true);
            }

            if (mouseMessage == MouseMessage.WM_LBUTTONDOWN)
            {
                if (!GameProcess.IsValid || !GameData.Player.IsAlive() || TriggerBot.IsHotKeyDown())
                {
                    return(true);
                }

                // left mouse down
                lock (StateLock)
                {
                    if (State == AimBotState.Up)
                    {
                        // change state and signal to not call CallNextHookEx (stop this left mouse down)
                        State = AimBotState.DownSuppressed;
                        return(false);
                    }
                }
            }

            return(true);
        }
Example #2
0
        /// <summary>
        /// Try release suppressed mouse down.
        /// </summary>
        private bool TryMouseDown()
        {
            var mouseDown = false;

            lock (StateLock)
            {
                if (State == AimBotState.DownSuppressed)
                {
                    mouseDown = true;
                    State     = AimBotState.Down;
                }
            }

            if (mouseDown)
            {
                U.MouseLeftDown();
            }

            return(mouseDown);
        }