Exemple #1
0
        private static void Flick(MouseInjector injector, Point target, Point position, double speed, double horizontalSensitivity, double verticalSensitivity, int timestepMs, int triggerDelayMs, int cooldownMs, bool trigger)
        {
            double ex = 0.0;
            double ey = 0.0;

            var screenx = target.X - position.X;
            var screeny = target.Y - position.Y;

            var mousex = screenx * horizontalSensitivity;
            var mousey = screeny * verticalSensitivity;

            var distance = Math.Sqrt(mousex * mousex + mousey * mousey);
            var time     = distance / speed;

            var frames = (int)Math.Ceiling((time * 1000) / timestepMs);

            if (frames > 0)
            {
                for (int i = 0; i < frames; ++i)
                {
                    var dx = ex + (double)mousex / frames;
                    var dy = ey + (double)mousey / frames;

                    var px = (int)Math.Round(dx);
                    var py = (int)Math.Round(dy);

                    ex = dx - px;
                    ey = dy - py;

                    if (px != 0 || py != 0)
                    {
                        injector.Move(px, py);
                    }

                    if (i < frames - 1)
                    {
                        Thread.Sleep(timestepMs);
                    }
                    else if (trigger)
                    {
                        Thread.Sleep(triggerDelayMs);
                        var rng = new Random();
                        injector.Click(0, rng.Next(50, 80));
                    }
                }
            }
            else if (trigger)
            {
                Thread.Sleep(triggerDelayMs);
                var rng = new Random();
                injector.Click(0, rng.Next(50, 80));
            }

            if (cooldownMs > 0)
            {
                Thread.Sleep(cooldownMs);
            }
        }
Exemple #2
0
        public void Trigger(MouseInjector injector, Point current, Point target, Rectangle region, Esp esp, ref bool aim, double dt)
        {
            time += dt;

            if (Conditions != Condition.Never)
            {
                if (target != Point.Empty && esp != null)
                {
                    esp.Add(new CircleShape(new Point(target.X, target.Y), Proximity, Color.Transparent, Color.Yellow, 1));
                }

                bool trigger = (aim == true && (Conditions & Condition.WhenAiming) != 0) ||
                               (aim == false && (Conditions & Condition.WhenNotAiming) != 0);

                if (trigger && time >= TriggerRate)
                {
                    var distanceSq = current.DistanceSq(target);
                    if (distanceSq <= Proximity * Proximity)
                    {
                        injector.Click(TriggerButton, 50);
                        time = 0.0;
                        if (ContinueAiming == false)
                        {
                            aim = false;
                        }
                    }
                }
            }
        }