View difference between Paste ID: z2c1WFVy and X0jAzwdf
SHOW: | | - or go back to the newest paste.
1
ya:=2
2
3-
1::RButton
3+
Numpad1::
4
Mouseclick, right
5-
2::
5+
6
Click
7
Return
8
9-
3::Click
9+
Numpad2::
10
Mouseclick, right
11
Drop(3)
12
Click
13
Drop(-3)
14
Return
15
16
Drop(n)
17
{
18
        global ya
19
        MouseGetPos, xPos, yPos
20
        If n > 0
21
                MouseMove_Ellipse(xPos, yPos, xPos, yPos + 21 + (ya - 1) * 15 * n, R())
22
        else
23
                MouseMove_Ellipse(xPos, yPos, xPos, yPos - 21 + (ya - 1) * 15 * n, R())
24
}
25
 
26
MouseMove_Ellipse(X1, Y1, X2, Y2, S=1, M=0, I="") {
27
        MouseGetPos, X0, Y0
28
        If(I="")
29
                Random, I, 0, 1
30
   X1 := (X1 != "") ? X1 : X0, Y1 := (Y1 != "") ? Y1 : Y0, B := Abs(X1-X2), A := Abs(Y1-Y2), H := (X1<X2) ? ((Y1<Y2) ? ((I=0) ? X1:X2):((I=0) ? X2:X1)):((Y1<Y2) ? ((I=0) ? X2:X1):((I=0) ? X1:X2)), K := (Y1<Y2) ? ((X1<X2) ? ((I=0) ? Y2:Y1):((I=0) ? Y1:Y2)):((X1<X2) ? ((I=0) ? Y1:Y2):((I=0) ? Y2:Y1)), D := A_MouseDelay
31
        SetMouseDelay, 1
32
        If(M)
33
                BlockInput, Mouse
34
        If(B > A)
35
                Loop, % B / S
36
                {
37
                        M := (X1 < X2) ? ((I=0) ? -1:1):((I=0) ? 1:-1), X := (X1 < X2) ? (X1+A_Index*S) : (X1-A_Index*S), Y := M*Sqrt(A**2*((X-H)**2/B**2-1)*-1)+K
38
                        MouseMove, %X%, %Y%, 0
39
                }
40
        Else
41
                Loop, % A / S
42
                {
43
                        M := (Y1 < Y2) ? ((I=0) ? 1:-1):((I=0) ? -1:1), Y := (Y1 < Y2) ? (Y1+A_Index*S) : (Y1-A_Index*S), X := M*Sqrt(B**2*(1-(Y-K)**2/A**2))+H
44
                        MouseMove, %X%, %Y%, 0
45
                }
46
        MouseMove, %X2%, %Y2%, 0
47
        BlockInput, Off
48
        SetMouseDelay, % D
49
}
50
 
51
R() {
52
Random, i, 25, 50
53
Return i
54
}