Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Macro made by mudbourn (Latest change: 09/11/2025 at 14:16 EST).
- { ; Settings for Super Throw (save these externally)
- global SleepDelay = 18 ; Amount of time between mouse movements in the Super Throw macro.
- global PixelAmount = 75 ; The size of the outline for the spin in the Super Throw macro.
- global ThrowMousePos1 = 150 ; How far left or right the mouse is positioned in the Super Throw macro.
- global ThrowMousePos2 = -150 ; How far up or down the mouse is positioned in the Super Throw macro.
- global CamSetup = -2245
- global CamRestore = 1150 ; How far down the camera moves to restore looking direction in the Super Throw macro.
- ; NOTE: These settings are for 120 FOV with 4 roblox sensitivity by default. Adjusting these to solve problems that show up in the macro process may be necesasry.
- }
- ; WARNING: Messing with the content below can break the script.
- ; Scroll down to "Binds" to find the binds for the macros.
- { ; AHK script settings. (DO NOT TOUCH)
- SetWorkingDir %A_ScriptDir%
- SetTitleMatchMode 2
- SetControlDelay 0
- SetWinDelay 0
- SetKeyDelay, 0
- SetMouseDelay 0
- SendMode, Input
- #IfWinActive Roblox
- global NirCmdPath = A_ScriptDir "\nircmd.exe"
- global SciTEPath = "C:\Program Files\AutoHotkey\SciTE"
- global ScriptPath = A_ScriptDir
- global NirCheck = 0
- global SciCheck = 0
- global GuiUsed = 0
- global ReloadMacrosRun = 0
- global AutoFireToggler = 0
- global CurrentBow = 0 ; Main Bow/Bow Currently in use. ( Default = 0 / No bow)
- global Scaled = 0
- global InPauseMenu = 0
- SetTimer, ReleaseKeys, 10
- Sleep, 100
- SetTimer, ReleaseKeys, Off
- SetTimer, DependantCheck, 1
- }
- { ; Essential script control macros.
- ~F5::Pause
- { ; Reload Function
- ~*=::
- Suspend, Permit
- if GetKeyState("LAlt", "P")
- {
- Run "C:\Program Files\AutoHotkey\SciTE\SciTE.exe" "%A_ScriptFullPath%"
- return
- }
- SetTimer, ChatCancel, 1
- SoundPlay, beep.mp3
- ReloadMacros()
- return
- }
- { ; Pause Suspend
- ~*Esc::
- Suspend, Permit
- Suspend, Toggle
- if InPauseMenu = 1
- {
- InPauseMenu = 0
- }
- else
- {
- PauseMenu = 1
- }
- Return
- }
- { ; Chat Suspend
- ~*/::
- Suspend, Permit
- try
- {
- if InPauseMenu = 0
- {
- Suspend, On
- }
- }
- catch
- {
- return
- }
- Return
- }
- { ; Chat Unsuspend
- ~*Enter::
- Suspend, Permit
- try
- {
- if InPauseMenu = 0
- {
- Suspend, Off
- }
- }
- catch
- {
- return
- }
- Return
- }
- ReloadMacros()
- {
- Soundplay, beep.mp3
- Sleep, 100
- if UsingItem1 = 1
- {
- Flourish1()
- }
- SetTimer, ChatCancel, Off
- Reload
- return
- }
- DependantCheck()
- {
- If (FileExist(NirCmdPath))
- {
- NirCheck = 1
- SetTimer, DependantCheck, Off
- }
- If (FileExist(SciTEPath))
- {
- SciCheck = 1
- SetTimer, DependantCheck, Off
- }
- If SciCheck = 0
- {
- MsgBox, SciTE was not found. Contact mudbourn for help on Discord.
- MsgBox, Script is located in %ScriptPath%.
- ExitApp
- }
- If NirCheck = 0
- {
- MsgBox, NirCmd was not found. Contact mudbourn for help on Discord.
- MsgBox, Script is located in %ScriptPath%.
- ExitApp
- }
- }
- IsRobloxActive()
- {
- WinGetTitle, title, A
- return InStr(title, "Roblox")
- return
- }
- ChatCancel()
- {
- While GetKeyState("/", "U")
- {
- if GetKeyState("/", "P")
- {
- Send, {Esc}
- }
- }
- return
- }
- ReleaseKeys()
- {
- SetTimer, ChatCancel, 1
- Send, {w up}{a up}{s up}{d up}{Shift up}{Ctrl up}{Alt up}{Space up}{LButton up}{RButton up}{C Up}{X Up}{O Up}{R Up}{LButton Up}{RButton Up}
- Send, {Esc}
- Sleep, 50
- Send, {Esc}
- Sleep, 5
- SetTimer, ReleaseKeys, Off
- SetTimer, ChatCancel, Off
- Return
- }
- }
- { ; Major macros.
- { ; Bow Auto Fire.
- AutoFireBow()
- {
- If (FileExist(nircmdPath))
- {
- if CurrentBow = 1
- {
- Longbow()
- }
- if CurrentBow = 2
- {
- Crossbow()
- }
- if CurrentBow = 3
- {
- HeavyBow()
- }
- }
- }
- Longbow()
- {
- While GetKeyState("B", "P")
- {
- Send, {LButton Down}
- Sleep, 20
- Send, {F}
- Sleep, 500
- Send, {LButton Up}
- Sleep, 5
- Send, {R}
- Sleep, 825
- }
- Send, {R}
- Sleep, 10
- }
- CrossBow()
- {
- While GetKeyState("B", "P")
- {
- Send,{LButton}
- Sleep, 25
- Send, {R}{F}
- Sleep, 1285
- }
- Send, {R}
- Sleep, 10
- }
- HeavyBow()
- {
- While GetKeyState("B", "P")
- {
- Send, {LButton Down}
- Sleep, 20
- Send, {F}
- Sleep, 850
- Send, {LButton Up}
- Sleep, 5
- Send, {R}
- Sleep, 1450
- }
- Send, {R}
- Sleep, 10
- }
- AutoFireKillSwitch()
- {
- AutoFireToggler = 0
- SetTimer, ReleaseKeys, 1
- SetTimer, HeavyBow, Off
- SetTimer, Crossbow, Off
- SetTimer, Longbow, Off
- SetTimer, AutoFireKillSwitch, Off
- }
- }
- { ; Super Throw.
- SuperThrow()
- {
- Critical, Off
- Loop, 18
- {
- Send, {WheelDown}
- }
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", 4000)
- Sleep, 15
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", 4000)
- Sleep 100
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", CamSetup)
- Sleep, 15
- Send, {Z}
- Send, {RButton}
- Sleep, 100
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", ThrowMousePos1, "Int", ThrowMousePos2)
- Send, {C Up}
- Send, {X Down}{C Down}
- Send, {Space Down}
- Sleep, 400
- Send, {Space Up}
- Sleep, 3
- SetTimer, SuperThrowSpin, 1
- Sleep, 15
- Send, {C Up}{Space Up}
- Sleep, 100
- Send, {RButton}
- Send, {Z}
- Sleep, 70
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", CamRestore)
- SetTimer, SuperThrow, Off
- Return
- }
- }
- SuperThrowSpin()
- {
- Send, {X Up}
- Sleep, 10
- Loop, 5
- {
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -PixelAmount, "Int", 0)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -PixelAmount, "Int", 0)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -PixelAmount, "Int", 0)
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -PixelAmount, "Int", 0)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", -PixelAmount)
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", -PixelAmount)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", -PixelAmount)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", -PixelAmount)
- Sleep, 2
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", PixelAmount, "Int", 0)
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", PixelAmount, "Int", 0)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", PixelAmount, "Int", 0)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", PixelAmount, "Int", 0)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", PixelAmount)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", PixelAmount)
- Sleep, SleepDelay
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", PixelAmount)
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 0, "Int", PixelAmount)
- }
- Loop, 6
- {
- Send, {WheelUp}
- }
- SetTimer, SuperThrowSpin, Off
- Return
- }
- Bail()
- {
- if GetKeyState("LButton", "P")
- {
- Send, {Z}
- Sleep, 15
- ReloadMacros()
- }
- }
- }
- { ; Tricks/tools.
- FakeSwing()
- {
- While GetKeyState("XButton2", "P")
- {
- Send, {LButton}
- Sleep, 163
- ; Send, {x}
- Send, {1}
- Send, {1}
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 3200, "Int", 0)
- Sleep, 30
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 520, "Int", 0)
- Sleep, 36
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", 120, "Int", 0)
- Sleep, 50
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -3200, "Int", 0)
- Sleep, 35
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -520, "Int", 0)
- Sleep, 35
- DllCall("user32.dll\mouse_event", "UInt", 0x0001, "Int", -120, "Int", 0)
- Sleep, 380
- }
- Return
- }
- Scaler()
- {
- if Scaled = 0
- {
- Scaled = 1
- Run, nircmd.exe setdisplay 1600 900 32
- }
- else if Scaled = 1
- {
- Scaled = 0
- Run, nircmd.exe setdisplay 1920 1080 32
- }
- }
- Flourish1()
- {
- Send, {1 Down}
- Sleep, 3
- Send, {X Down}
- Send, {1 Up}{X Up}
- return
- }
- Flourish2()
- {
- Send, {2 down}
- Sleep, 50
- send, {x down}
- Send, {2 up}
- send, {x up}
- return
- }
- Flourish3()
- {
- Send, {3 down}
- Sleep, 50
- send, {x down}
- Send, {3 up}
- send, {x up}
- return
- }
- GKCancel()
- {
- Send, {G}
- Sleep, 300
- Send, {Q}
- Return
- }
- }
- { ; Choices and settings menu for certain macros.
- Settings()
- {
- Gui, New, +AlwaysOnTop +OwnDialogs, Choose an Option
- Gui, Add, Text, Center, Settings
- Gui, Add, Button, gChooseA1 w175 Center, Bow Type Selector
- Gui, Add, Button, gChooseC3 w175 Center, Disable AutoFire Hotkey
- Gui, Add, Button, gChooseE5 w175 Center, Update Macro (WIP, BROKEN)
- Gui, Show, w300, Made by mudbourn.
- Return
- }
- BowSelector()
- {
- Gui, New, +AlwaysOnTop +OwnDialogs, Choose an Option
- Gui, Add, Text, Center, Please select your current bow type
- Gui, Add, Button, gChooseA w175 Center, Longbow
- Gui, Add, Button, gChooseB w175 Center, Crossbow
- Gui, Add, Button, gChooseC w175 Center, Heavy Bow
- Gui, Show, w300, Made by mudbourn.
- Return
- }
- UpdaterBrowserSelect()
- {
- Gui, New, +AlwaysOnTop +OwnDialogs, Choose a browser
- Gui, Add, Text, Center, Please select your current bow type
- Gui, Add, Button, gChooseBA w175 Center, Chrome
- Gui, Add, Button, gChooseBB w175 Center, Firefox
- Gui, Add, Button, gChooseBC w175 Center, Brave
- Gui, Add, Button, gChooseBE w175 Center, Edge
- Gui, Add, Button, gChooseBF w175 Center, Manual Update
- Gui, Show, w300, Made by mudbourn.
- Return
- }
- { ; Main menu choices
- ChooseA1:
- {
- Gui, Destroy
- BowSelector()
- Return
- }
- ChooseC3:
- {
- Gui, Destroy
- CurrentBow = -1
- Return
- }
- ChooseE5:
- {
- Gui, Destroy
- UpdaterBrowserSelect()
- return
- }
- }
- { ; Bow Autofire Choices
- ChooseA:
- {
- Gui, Destroy
- GuiClose1:
- GuiEscape1:
- CurrentBow = 1
- if CurrentBow = 1
- {
- MsgBox Your choice has been saved as "Longbow".
- SetTimer, AutoFireKillSwitch, 1
- }
- Return
- }
- ChooseB:
- {
- Gui, Destroy
- GuiClose2:
- GuiEscape2:
- CurrentBow = 2
- if CurrentBow = 2
- {
- MsgBox Your choice has been saved as "Crossbow".
- SetTimer, AutoFireKillSwitch, 1
- }
- Return
- }
- ChooseC:
- {
- Gui, Destroy
- GuiClose3:
- GuiEscape3:
- CurrentBow = 3
- if CurrentBow = 3
- {
- MsgBox Your choice has been saved as "Heavy Bow".
- SetTimer, AutoFireKillSwitch, 1
- }
- Return
- }
- Choose1:
- {
- Gui, Destroy
- Send, {1}
- SetTimer, AutoFireKillSwitch, 1
- CurrentBow = 0
- UsingItem1 = 0
- Return
- }
- Choose2:
- {
- Gui, Destroy
- SetTimer, AutoFireKillSwitch, 1
- CurrentBow = 0
- UsingItem1 = 0
- Return
- }
- }
- { ; Macro Updater Choices
- ChooseBA:
- {
- Gui, Destroy
- Return
- }
- ChooseBB:
- {
- Gui, Destroy
- Return
- }
- ChooseBC:
- {
- Gui, Destroy
- Run, brave.exe -new-window https://pastebin.com/raw/h2bXZGgd
- Sleep, 8000
- WinActivate, Brave
- Winmaximize, Brave
- MouseMove, 1050, 600
- send LButton
- Sleep, 50
- send ^a
- Sleep, 50
- send ^c
- Sleep, 50
- send !F4
- Sleep, 50
- Run "C:\Program Files\AutoHotkey\SciTE\SciTE.exe" "%A_ScriptFullPath%"
- Sleep, 8000
- WinActivate, SciTE4AutoHotkey
- Winmaximize, SciTE4AutoHotkey
- MouseMove, 1050, 600
- send LButton
- Sleep, 50
- send ^a
- Sleep, 50
- send ^v
- Sleep, 50
- send ^s
- Sleep, 50
- send !F4
- Return
- }
- ChooseBD:
- {
- Gui, Destroy
- Return
- }
- ChooseBE:
- {
- Gui, Destroy
- Return
- }
- ChooseBF:
- {
- Gui, Destroy
- Return
- }
- }
- }
- { ; Binds
- { ; Binds required for certain macros.
- v::z
- z::v
- }
- { ; Optional extra macros.
- *1::Flourish1()
- 2::Flourish2()
- 3::Flourish3()
- }
- { ; Feel free to change these binds at will.
- ; " ~ " stops the macro from cancelling the key's proper output.
- ; " * " allows the macros to run regardless of the modifier keys that are being held.
- ; " + " allows the hotkey to be pressed when the shift button is pressed.
- ~*F8::Scaler()
- ~b::AutoFireBow()
- ~*XButton2::FakeSwing()
- +q::GKCancel()
- ~*j::SuperThrow()
- *\::ReleaseKeys()
- ~*]::Settings() ; Gui for some macro settings
- }
- }
Advertisement