-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGame_Men_Of_War_Assault_Squad.ahk
84 lines (69 loc) · 2.14 KB
/
Game_Men_Of_War_Assault_Squad.ahk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#Include <_COMMON_SETTINGS_>
Menu, Tray, Icon
Reload_AsAdmin()
SetMouseDelay, 20 ; меньше 20 игра не успевает надежно отрабатывать клики
Double_Tap_Delay := 300
Xpri := 315, Xsec := 410 ; основное и дополнительное оружие
Ypri := 1055 ;
!x:: ExitApp
!z:: Reload
#IfWinActive, ahk_exe mow_assault_squad.exe
+x::PressIconOnAmmoExchange(361) ; взять всю амуницию в окне обмена
^x::PressIconOnAmmoExchange(426) ; отдать -//-
Numpad1::SelectWeapon(Xsec, 1)
Numpad2::SelectWeapon(Xsec, 2)
Numpad3::SelectWeapon(Xsec, 3)
Numpad4::SelectWeapon(Xpri, 1)
Numpad5::SelectWeapon(Xpri, 2)
Numpad6::SelectWeapon(Xpri, 3)
Delete::SwitchPrimarySecondaryWeapon()
Tab::ClickAndRestore(1800, 1050) ; Repair
F3::SniperShot()
SniperShot()
{
global Double_Tap_Delay
if (A_PriorHotkey = A_ThisHotkey) {
if (A_TimeSincePriorHotkey < Double_Tap_Delay)
ClickAndRestore(678, 1005)
else
; SendRaw % A_ThisHotkey
Send {F3}
}
return
}
SelectWeapon(X, i)
{
global Ypri
Y := [1010, 965, 915] ; иконки, которые появляются после нажатия на основную иконку оружия
if (1 <= i and i <= Y.Length()) {
Y := Y[i]
MouseGetPos, _X, _Y
Click, %X%, %Ypri% ; основная иконка оружия
Click, %X%, %Y%
MouseMove, _X, _Y
}
}
PressIconOnAmmoExchange(X, Y := 83)
{
ClickAndRestore(X, Y)
Sleep, 100
Send, {Escape} ; если зажата клавиша Shift, то Esc не закроет меню с инвентарем, полезная фича, можно несколько раз нажимать Shift+X, перекидывая всю амуницию
}
ClickAndRestore(X, Y, ClickCount := 1)
{
MouseGetPos, _X, _Y
BlockInput, MouseMove
Click, %X%, %Y%, %ClickCount% ; by default Left button
MouseMove, _X, _Y
BlockInput, MouseMoveOff
}
SwitchPrimarySecondaryWeapon()
{
global Xpri, Xsec, Ypri
static flag
if (flag := !flag) {
ClickAndRestore(Xpri, Ypri, 2)
} else {
ClickAndRestore(Xsec, Ypri, 2)
}
}