Universal/global rapid fire/clicker by xxOrpheus

Post gaming related scripts
sreedemer
Posts: 1
Joined: 10 Sep 2020, 08:51

Universal/global rapid fire/clicker by xxOrpheus

Post by sreedemer » 10 Sep 2020, 10:38

first thing first i just wanna share. English is not my main language and I don't know coding.
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. :D

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
nb: this is not only script, but has .png (image format) so you must download this to load the icon.

screenshoot:
https:prnt.sc/uf0ozt
https:prnt.sc/uf0t3q

Return to “Gaming Scripts (v1)”