-
Notifications
You must be signed in to change notification settings - Fork 0
/
AG AIBlade.ahk
73 lines (59 loc) · 2.99 KB
/
AG AIBlade.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
/*
Original code by Newbitcat from from https://www.autohotkey.com/boards/viewtopic.php?t=84389,
modified by ArmoredGenie for AG-AIblade project
Thank you - Most of this started from https://www.autohotkey.com/boards/viewtopic.php?t=14978
*/
/* Instructions
-Find what comm port arduino is sitting at (My arduino is at port 3. NOTE: Only port 1 to 9 works, nothing higher. )
open notepad, and write the following into this file:
Echo off
MODE COM3:115200,N,8,1
-Name it Set_COM3.bat (make sure extension is .bat not .txt!)
-Place Set_COM3.bat into root of C drive.
Important NOTES:
- The second PC sees the arduino as a keyboard so mouse button keybinds are not supported on the second PC. You need
to bind a keyboard key to "fire all weapons" in the second PC's game options - I used "\"
- if you want different KB/mouse controls on the main PC, you will need to edit the blocks in the main loop section
- Use a controller remapping program like Joystick Gremlin/T.A.R.G.E.T/Joytokey to press the keyboard/mouse keys
when joystick buttons are pressed on main PC - in autohotkey you can use joystick buttons directly instead of
keyboard key presses too - see Ahutohotkey documentation (untested).
Controls:
right mouse button will press "\" on second PC for fire
"t" on main PC will press "t" on second PC for target
"'" on main PC will press "c" on second PC for center turret
*/
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#SingleInstance force
#HotkeyInterval 2000
#MaxHotkeysPerInterval 2000
RUN C:\Set_COM3.bat
sleep , 2000
port := FileOpen("COM3", "w") ; Open for writing only, not reading/appending.
loop {
~':: ; apostrophe key pressed...
port := FileOpen("COM3", "w") ; Open for writing only, not reading/appending.
while(getKeyState("'")){ ;loop to keep pressing key while key is held
port.Write("c") ; Write a letter to serial. Change character in quotes to send different key
port.__Handle ; This flushes the write buffer.
}
port.Close() ; close the Port
return
~t:: ; t key pressed
port := FileOpen("COM3", "w") ; Open for writing only, not reading/appending.
port.Write("t") ; Write a letter to serial. Change character in quotes to send different key
port.__Handle ; This flushes the write buffer.
port.Close() ; and close the Port
return
~RButton:: ; Right Mouse Button pressed
port := FileOpen("COM3", "w") ; Open for writing only, not reading/appending.
while(getKeyState("RButton")){ ;loop to keep pressing key while mouse button is held
port.Write("\") ; Write a letter to serial. Change character in quotes to send different key
port.__Handle ; This flushes the write buffer.
}
port.Close() ; and close the Port
return
}
^q::ExitApp ; Control Q to exit