https drive.google.com /file/d/1RoauGtK5Wl02LreUBgstHGBv0ZjOVXNz/view?usp=sharing Broken Link for safety
This is from https://autohotkey.com/board/topic/71809-v-24-rapid-fire-script-burst-fire-dual-wield/ but all the links are dead.
This version that i have is v2.3. v2.4 has text-to-speech but the link already dead. I'm using this to play The House of The Dead long long ago.
Off hat for xxOrpheus for creating this. I don't own this, so feel free to modified this, but please mention this thread if someone/pro evolving this script.
Code: Select all
#NoEnv
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
#Include AutomaticUpdate.ahk
config =
(
[Mouse]
mouseDelay=30
RButtonEnabled=0
LButtonEnabled=1
dualWield=0
[Burst]
Enabled=0
Rate=5
Wait=500
[Crosshair]
enabled=0
color=0x000000
[version]
autoupdate=1
ver=2.2
)
IfNotExist config.ini
FileAppend %config%, config.ini
IniRead ScriptVersion, config.ini, version, ver, 2.1
IniRead AutoUpdate, config.ini, version, autoupdate, 1
IniRead LMouseE, config.ini, Mouse, LButtonEnabled, 1
IniRead RMouseE, config.ini, Mouse, RButtonEnabled, 0
IniRead dualWieldEnabled, config.ini, Mouse, dualWield, 0
IniRead Rate, config.ini, Mouse, mouseDelay, 30
IniRead BurstEnabled, config.ini, Burst, Enabled, 0
IniRead BurstRate, config.ini, Burst, Rate, 5
IniRead BurstSleep, config.ini, Burst, Wait, 500
Iniread crossColor, config.ini, Crosshair, color
SetMouseDelay, Rate
SetWinDelay 0
Coordmode Mouse, Screen
OldX := -1, OldY := -1
ID1 := Box(3,1,A_ScreenHeight)
ID2 := Box(4,A_ScreenWidth,1)
Box(n,w,h) { ;Lazslo from autohotkey.com
global crossColor
Gui %n%:-Caption +ToolWindow +AlwaysOnTop +E0x20
Gui %n%: Show, X-1 Y-1 W%w% H%h%
Gui %n%:Color, %crossColor%
Gui %n%:Color, %crossColor%
WinGet ID, ID, A
Winset AlwaysOnTop,ON,ahk_id %ID%
WinSet Transparent,255,ahk_id %ID%
Return ID
}
RGBtoHEX(R, G, B) {
SetFormat, integer, hex
R += 0
G += 0
B += 0
RGB := (R*0x10000) + (G*0x100) + (B*0x1)
return %RGB%
}
modRate(newRate, min) {
global Rate
difference := Rate + newRate
if(difference > min) {
Rate := difference
} else {
Rate := min
}
GuiControl,, Repetition, %Rate%
}
fakeClick(button) { ; send fast left mouse clicks
if(button == "left") {
dllCall("mouse_event", uint, 2, int, x, int, y, uint, 0, int, 0)
sleep 30
dllCall("mouse_event", uint, 4, int, x, int, y, uint, 0, int, 0)
sleep 30
} else if(button == "right") {
dllCall("mouse_event", uint, 8, int, x, int, y, uint, 0, int, 0)
sleep 30
dllCall("mouse_event", uint, 10, int, x, int, y, uint, 0, int, 0)
sleep 30
} else if(button == "middle") {
dllCall("mouse_event", uint, 20, int, x, int, y, uint, 0, int, 0)
sleep 30
dllCall("mouse_event", uint, 40, int, x, int, y, uint, 0, int, 0)
sleep 30
}
}
rapidFire(button, burst) {
global BurstEnabled
global dualWieldEnabled
key := ""
opposite := ""
if(button == 1) {
button := "right"
key := "RButton"
opposite := "left"
} else {
button := "left"
key := "LButton"
opposite := "right"
}
if(burst < 0) {
burst = 3;
}
while GetKeyState(key, "P") {
if(BurstEnabled) {
Loop %burst% {
Click %button%
if(dualWieldEnabled)
Click %opposite%
}
sleep 600
} else {
Click %button%
if(dualWieldEnabled)
Click %opposite%
}
}
}
Gui, Font, s7, verdana
Gui, Add, Text, x12 y10 w450 h20 , General settings
Gui, Add, Text, x22 y30 w76 h20 , Mouse delay
Gui, Add, Edit, x92 y30 w200 h20 vRepetition, %Rate%
Gui, Add, Text, x292 y30 w270 h20 , %A_Space%CTRL + SHIFT + Wheel UP / DOWN
Gui, Add, Text, x12 y150 w450 h20 , Mouse settings
Gui, Add, Text, x22 y170 w70 h20 , Left mouse
Gui, Add, Text, x22 y190 w70 h20 , Right mouse
Gui, Add, CheckBox, x92 y170 w100 h20 vLeftMouseC Checked%LMouseE%, Enabled
Gui, Add, CheckBox, x92 y190 w100 h20 vRightMouseC Checked%RMouseE%, Enabled
Gui, Add, Text, x192 y170 w270 h20 , CTRL + SHIFT + Left mouse
Gui, Add, Text, x192 y190 w270 h20 , CTRL + SHIFT + Right mouse
Gui, Add, Text, x12 y240 w450 h20 , Crosshair settings
Gui, Add, Text, x22 y280 w70 h20 , Color
Gui, Add, Edit, x92 y280 w200 h20 vCrossColorE, %crossColor%
Gui, Add, Text, x292 y280 w170 h20 , %A_Space%WINKEY+SHIFT+C
Gui, Add, CheckBox, x92 y260 w370 h20 gcrosshairToggle vcrosshairEnabled, Enabled
Gui, Add, Text, x12 y60 w450 h20 , Burst fire settings
Gui, Add, CheckBox, x92 y80 w370 h20 vBurstEnabledC Checked%BurstEnabled%, Enabled
Gui, Add, Text, x22 y80 w70 h20 , Enabled
Gui, Add, Text, x22 y100 w70 h20 , Rate
Gui, Add, Edit, x92 y100 w200 h20 vEditBurstRate, %BurstRate%
Gui, Add, Text, x22 y120 w70 h20 , Wait (ms)
Gui, Add, Edit, x92 y120 w200 h20 vburstWait, %BurstSleep%
Gui, Add, Picture, x2 y310 w16 h16 gExit, img\door_open.png
Gui, Add, Picture, x452 y310 w16 h16 gSave, img\accept.png
Gui, Add, Picture, x422 y310 w16 h16 gCancel, img\cancel.png
Gui, Add, Text, x160 y310 w160 h20 center, RapidFire %ScriptVersion% by xxOrpheus
Gui, Add, Text, x22 y210 w70 h20 , Dual-wield
Gui, Add, CheckBox, x92 y210 w100 h20 vdualWield Checked%dualWieldEnabled%, Enabled
Gui, Add, Text, x192 y210 w270 h20 , CTRL + SHIFT + D
Gui, Add, Text, x22 y260 w70 h20 , Enabled
Gui, Show, x127 y87 h336 w478, RapidFire %ScriptVersion%
Return
Menu, Tray, Add, Show/hide, GuiShowHide
Menu, Tray, Default, Show/hide
TrayTip RapidFire %ScriptVersion% has finished loading, RapidFire %ScriptVersion% has finished loading`, you can get help by pressing CTRL+SHIFT+H, 3, 1
if(AutoUpdate) {
check4update("http programm.in /ahk/RapidFire/version.ini", Broken Link for safety A_ScriptName, ScriptVersion)
}
;;;;;;;;;;;;;;;;
;;; Commands ;;;
^+F4:: ;Check for updates
check4update("http programm.in /ahk/RapidFire/version.ini", Broken Link for safety A_ScriptName, ScriptVersion)
return
^+S:: ;Suspend
Suspend, toggle
return
^+RButton:: ;Toggle right mouse
RMouseE := !RMouseE
GuiControl,, RightMouseC, %RMouseE%
return
^+LButton:: ;Toggle left mouse
LMouseE := !LMouseE
GuiControl,, LeftMouseC, %LMouseE%
return
^+WheelUp:: ;Increase the mouse delay
modRate(1, 0)
return
^+WheelDown:: ;Decrease the mouse delay
modRate(-1, 0)
return
^+b:: ;Toggles burst fire
BurstEnabled := !BurstEnabled
GuiControl,, BurstEnabledC, %BurstEnabled%
return
^+d:: ;Toggles dual wield
dualWieldEnabled := !dualWieldEnabled
GuiControl,, dualWield, %dualWieldEnabled%
return
^+c:: ;Toggles crosshair
GoSub crosshairToggle
return
#+l:: ;Locks crosshair
If (OldX == -1) {
SetTimer crosshair, 1
} Else {
SetTimer crosshair, Off
ToolTip
OldX := -1, OldY := -1
}
return
#+c:: ;Change cross color
InputBox, R, Color selection, Please enter the amount of red to use
InputBox, G, Color selection, Please enter the amount of green to use
InputBox, B, Color selection, Please enter the amount of blue to use
crosshairColor := RGBtoHEX(R, G, B)
Gui 3:Color, %crosshairColor%
Gui 4:Color, %crosshairColor%
GuiControl,, CrossColorE, %crosshairColor%
return
^!x::
GoSub Save
return
^+h:: ;Opens help
Run, http://www.autohotkey.com/forum/viewtopic.php?p=477703#477703
return
;;; Commands ;;;
;;;;;;;;;;;;;;;;
#if LMouseE == true
LButton:: ;Left mouse button rapid fire
rapidFire(0, BurstRate)
return
#if RMouseE == true
RButton:: ;Right mouse button rapid fire
rapidFire(1, BurstRate)
return
Save:
GuiControlGet, repeatRate,, Repetition
GuiControlGet, LMouseE,, LeftMouseC
GuiControlGet, RMouseE,, RightMouseC
GuiControlGet, dualWieldE,, dualWield
GuiControlGet, CColor,, CrossColorE
GuiControlGet, BurstE,, BurstEnabledC
GuiControlGet, BurstRateE,, EditBurstRate
GuiControlGet, BurstSleepE,, burstWait
if(repeatRate < 0) {
repeatRate = 1
}
IniWrite %LMouseE%, config.ini, Mouse, LButtonEnabled
IniWrite %RMouseE%, config.ini, Mouse, RButtonEnabled
IniWrite %dualWieldE%, config.ini, Mouse, dualWield
IniWrite %repeatRate%, config.ini, Mouse, mouseDelay
IniWrite %CColor%, config.ini, Crosshair, color
IniWrite %BurstE%, config.ini, Burst, Enabled
IniWrite %BurstRateE%, config.ini, Burst, Rate
IniWrite %BurstSleepE%, config.ini, Burst, Wait
Reload
return
Cancel:
Reload
return
crosshairToggle:
If (OldX == -1) {
SetTimer crosshair, 1
} Else {
SetTimer crosshair, Off
Gui 3: Show, X-1 Y-1
Gui 4: Show, X-1 Y-1
ToolTip
OldX := -1, OldY := -1
}
return
crosshair:
MouseGetPos RulerX, RulerY
If (OldX <> RulerX) {
OldX := RulerX
WinMove ahk_id %ID1%,, %RulerX%
}
If (OldY <> RulerY) {
OldY := RulerY
WinMove ahk_id %ID2%,,,%RulerY%
}
Sleep 10
Return
Exit:
ExitApp
return
GuiClose:
ExitApp
return
screenshoot:
https:prnt.sc/uf0ozt
https:prnt.sc/uf0t3q