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 | } |