Code:
; AutoIt Version: 3.0
; Language: English
; Platform: Win9x/NT
; Author: ESB
#Region Include
#include <Math.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <UpDownConstants.au3>
#include <Misc.au3>
#include <WindowsConstants.au3>
#include <DateTimeConstants.au3>
#include <date.au3>
#include <MsgBoxConstants.au3>
#RequireAdmin
#EndRegion Include
#Region flags
$cot = 1 ; turn and target function
$Interrupt = 0 ;stop func
$EventCheck = 0 ;button or stop
$P = 1 ; set to pause
$fInterrupt = 0 ; wraper functon for sleep
$Tc = 0
$h = 1
$a = 0
$m = 0
$Face = 1 ; face target
#EndRegion flags
#Region GUI
Opt("GUIOnEventMode", 1)
$hGUI = GUICreate("GW2 Pixel Bot 1.05", 325, 400, 75, 200, -1, BitOR($WS_EX_TOPMOST, $WS_EX_WINDOWEDGE))
GUICtrlSetFont($hGUI, 6, 800, 0, "Arial")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetFont(11, 500, 1, "Tahoma")
GUISetBkColor(0xDAE0F1)
GUICtrlSetColor(-1, 0xB1BCCA)
;;;;;;;;;;Labels;;;;;;;;;;;;;;;;;
$Label9 = GUICtrlCreateLabel("Color Variance", 12, 202, 63, 22)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x001F40)
$Label10 = GUICtrlCreateLabel("Health Check", 178, 260, 64, 15)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x001F40)
$Label12 = GUICtrlCreateLabel("Move", 94, 162, 38, 20)
GUICtrlSetFont(-1, 9, 800, 0, "Arial")
$Label11 = GUICtrlCreateLabel("Rotation", 94, 126, 61, 20)
GUICtrlSetFont(-1, 9, 800, 0, "Arial")
$Label13 = GUICtrlCreateLabel("Pause", 158, 308, 46, 18)
$Label15 = GUICtrlCreateLabel("Latency", 24, 272, 54, 20)
GUICtrlSetFont(-1, 7, 800, 0, "Arial")
$Label1 = GUICtrlCreateLabel("Pet Health Check", 188, 215, 112, 15)
GUICtrlSetFont(-1, 7, 800, 0, "Arial")
;;;;;;;;;;;;;input;;;;;;;;;;;;
;;;;;;;;; 1 ;;;;;;;;;;;;;;;
$Input25 = GUICtrlCreateInput("0", 8, 16, 16, 22, $ES_NUMBER)
GUICtrlSetTip($Input25, "This will set what key to send for this skill. " & @CRLF & " 0 -9")
$Input1 = GUICtrlCreateInput("0", 32, 16, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown1 = GUICtrlCreateUpdown($Input1)
GUICtrlSetLimit(-1, 1, 0)
GUICtrlSetTip($Input1, "This will set if to fire this skill." & @CRLF & " 1 = fire")
$Input5 = GUICtrlCreateInput("0", 72, 16, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown5 = GUICtrlCreateUpdown($Input5)
GUICtrlSetLimit(-1, 20, 0)
GUICtrlSetTip($Input5, "This will set the delay time for this skill to recharge " & @CRLF & "1 - 20 sec. .")
$Input9 = GUICtrlCreateInput("0", 112, 16, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown9 = GUICtrlCreateUpdown($Input9)
GUICtrlSetLimit(-1, 50, 0)
GUICtrlSetTip($Input9, "This will set the delay time for the skill to compleet casting" & @CRLF & "1 - 50 ( 10 = 1 sec. .")
;;;;;;;;;;;;;; 2 ;;;;;;;;;;;;;;
$Input26 = GUICtrlCreateInput("0", 168, 16, 16, 26, $ES_NUMBER)
$Input2 = GUICtrlCreateInput("0", 192, 16, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown2 = GUICtrlCreateUpdown($Input2)
GUICtrlSetLimit(-1, 1, 0)
$Input6 = GUICtrlCreateInput("0", 232, 16, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown6 = GUICtrlCreateUpdown($Input6)
GUICtrlSetLimit(-1, 20, 0)
$Input10 = GUICtrlCreateInput("0", 272, 16, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown10 = GUICtrlCreateUpdown($Input10)
GUICtrlSetLimit(-1, 50, 0)
;;;;;;;;;;;;;;;;;;; 3 ;;;;;;;;;;;;;;;
$Input27 = GUICtrlCreateInput("0", 8, 56, 16, 22, $ES_NUMBER)
$Input3 = GUICtrlCreateInput("0", 32, 56, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown3 = GUICtrlCreateUpdown($Input3)
GUICtrlSetLimit(-1, 1, 0)
$Input7 = GUICtrlCreateInput("0", 72, 56, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown7 = GUICtrlCreateUpdown($Input7)
GUICtrlSetLimit(-1, 20, 0)
$Input11 = GUICtrlCreateInput("0", 112, 56, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown11 = GUICtrlCreateUpdown($Input11)
GUICtrlSetLimit(-1, 50, 0)
;;;;;;;;;;;;;;;;;;; 4 ;;;;;;;;;;
$Input28 = GUICtrlCreateInput("0", 168, 56, 16, 22, $ES_NUMBER)
$Input4 = GUICtrlCreateInput("0", 192, 56, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown4 = GUICtrlCreateUpdown($Input4)
GUICtrlSetLimit(-1, 1, 0)
$Input8 = GUICtrlCreateInput("0", 232, 56, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown8 = GUICtrlCreateUpdown($Input8)
GUICtrlSetLimit(-1, 20, 0)
$Input12 = GUICtrlCreateInput("0", 272, 56, 40, 22, $ES_NUMBER)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$hUpDown12 = GUICtrlCreateUpdown($Input12)
GUICtrlSetLimit(-1, 50, 0)
;;;;;;;;;;;;;;;;; old ;;;;;;;;;;;;;;
$Input19 = GUICtrlCreateInput("5", 12, 225, 45, 26, $ES_NUMBER)
$hUpDown19 = GUICtrlCreateUpdown($Input19)
GUICtrlSetLimit(-1, 20, 0)
$Input13 = GUICtrlCreateInput("6", 286, 271, 20, 19)
;;;;;;;;;;sliders;;;;;;;;;;;;;;;;;;
$Slider1 = GUICtrlCreateSlider(151, 126, 63, 26)
$Slider2 = GUICtrlCreateSlider(151, 165, 63, 26)
$Slider3 = GUICtrlCreateSlider(180, 272, 100, 18)
GUICtrlSetBkColor($Slider3, 0xCE230B)
GUICtrlSetTip($Slider3, "This will set Health Check" & @CRLF & " Pixel Bot", 1, 1)
$Slider4 = GUICtrlCreateSlider(176, 232, 102, 21)
GUICtrlSetLimit(-1, 150, 1)
GUICtrlSetData(-1, 150)
GUICtrlSetTip($Slider4, "Check Box Must Be Checked Before Pet Health Check Will Work, Unchek To Stop" & @CRLF & " Pixel Bot", 1, 1)
$Slider5 = GUICtrlCreateSlider(252, 308, 48, 22)
GUICtrlSetLimit($Slider5, 2, 1)
GUICtrlSetData($Slider5, 1)
$Slider6 = GUICtrlCreateSlider(80, 272, 62, 18)
GUICtrlSetTip($Slider6, "This will set a delay time" & @CRLF & " for all skill . " & @CRLF & "Max 1 sec. ", " Pixel Bot", 1, 1)
GUICtrlSetLimit(-1, 1000, 100)
GUICtrlSetData(-1, 100)
;;;;;;;;;;check box;;;;;;;;;;;;;;;
$Checkbox7 = GUICtrlCreateCheckbox("Rotate One Dir.", 224, 128, 97, 12)
GUICtrlSetFont(-1, 8, 800, 0, "Arial")
$Checkbox1 = GUICtrlCreateCheckbox("Check Pet", 88, 232, 89, 17)
GUICtrlSetFont(-1, 7, 800, 0, "Arial")
;;;;;;;;;;;;;time;;;;;;;;;;;;;;;;
$cLabel = GUICtrlCreateLabel(_Time(), 238, 168, 95, 18)
GUICtrlSetFont($cLabel, 10, 800, 0, "Arial")
;;;;;;;;;;;;;;;;;;;;;;;;;;buttons
$Button1 = GUICtrlCreateButton("Start", 8, 336, 123, 28, $BS_PUSHLIKE)
GUICtrlSetOnEvent($Button1, "_Func_1")
GUICtrlSetFont($Button1, 9, 800, 0, "Arial")
GUICtrlSetFont(-1, 9, 800, 0, "Arial")
GUICtrlSetTip($Button1, "Be considerate of" & @CRLF & "Other players.")
$Button2 = GUICtrlCreateButton("Stop", 8, 336, 123, 28, $BS_PUSHLIKE)
GUICtrlSetOnEvent($Button2, "_Func_2")
GUICtrlSetFont(-1, 9, 800, 0, "Arial")
GUICtrlSetState($Button2, $GUI_HIDE)
$Button3 = GUICtrlCreateButton("Support ESB", 8, 300, 123, 28)
GUICtrlSetOnEvent($Button3, "Web")
GUICtrlSetFont(-1, 9, 800, 0, "Arial")
$Button5 = GUICtrlCreateButton("Save", 152, 336, 50, 28, $BS_PUSHLIKE)
GUICtrlSetFont(-1, 9, 800, 0, "Arial")
GUICtrlSetOnEvent($Button5, "Save")
$Button6 = GUICtrlCreateButton("Load", 252, 336, 50, 28, $BS_PUSHLIKE)
GUICtrlSetOnEvent($Button6, "Load")
GUICtrlSetFont($Button6, 9, 800, 0, "Arial")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$Menu = GUICtrlCreateMenu("Help")
$TestItem = GUICtrlCreateMenuItem("Help =" & @TAB & "Ctrl-H", $Menu) ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
GUICtrlSetOnEvent($TestItem, "_Help")
GUICtrlCreateMenuItem("", $Menu)
Local $sFile
$sFile = _GetURLImage("http://esbprograms.altervista.org/ICON450.gif", @TempDir)
GUICtrlCreatePic($sFile, 8, 120, 68, 68, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$Pic2 = GUICtrlCreatePic("", 216, 200, 76, 68)
$Prog = GUICtrlCreateProgress(14, 94, 288, 20, $PBS_MARQUEE)
GUISetState(@SW_SHOW)
#EndRegion GUI
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("^q", "_Exit")
HotKeySet("^h", "_Help")
GUISetState(@SW_SHOW)
Opt("GUIOnEventMode", 1)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
#Region Ver
Global $sTime1 = "13:43:24", $sTime2 = "13:44:35"
Global $iTime1, $iTime2
Global $aTemp, $sHour, $sMinute, $sSecond
Global $Paused, $iSec = @SEC, $ind = @SEC
Global $title = WinGetTitle("[CLASS:ArenaNet_Dx_Window_Class]", "")
Global $In1 = TimerInit()
Global $In2 = TimerInit()
Global $In3 = TimerInit()
Global $In4 = TimerInit()
Global $ver = GUICtrlRead($Input19) ;===================== Color variance
Dim $pos[2], $pos1[2], $pos2[2], $pos3[2]
#EndRegion Ver
Func TogglePause() ;===================== Pause ======================
$Paused = Not $Paused
While $Paused
ToolTip("Paused")
WEnd
ToolTip("")
EndFunc ;==>TogglePause
While 1
Sleep(100)
If $iSec <> @SEC Then
GUICtrlSetData($cLabel, _Time()) ; set lable time
$iSec = @SEC
EndIf
WEnd
Func _IsChecked($idControlID) ;===================== Look for Check box ======================
Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked
Func TogglePause1() ;===================== Pause ======================
While 1
ToolTip("Paused")
$P = GUICtrlRead($Slider5)
If $P = 1 Then
ToolTip("")
Return
EndIf
Sleep(50)
WEnd
EndFunc ;==>TogglePause1
Func Save()
$ClientSize = WinGetClientSize($title)
$posXdiff = $ClientSize[0] / 2
$posYdiff = $ClientSize[1] / 2.5
SplashTextOn("Setup ", "Saving...", 130, 40, $posXdiff, $posYdiff, 32, "Estrangelo Edessa", 15, 700)
_Interrupt_Sleep(1800)
SplashOff()
_Save()
EndFunc ;==>Save
Func Load()
$ClientSize = WinGetClientSize($title)
$posXdiff = $ClientSize[0] / 2
$posYdiff = $ClientSize[1] / 2.5
SplashTextOn("Setup", "Loading...", 130, 40, $posXdiff, $posYdiff, 32, "Estrangelo Edessa", 15, 700)
_Interrupt_Sleep(1800)
SplashOff()
_Load()
EndFunc ;==>Load
Func Web()
ShellExecute("http://esbprograms.altervista.org/newestbots.html")
Return
EndFunc ;==>Web
#Region Setup
Func _Func_1()
Local $ClientSize = WinGetClientSize($title)
Local $posXdiff = $ClientSize[0] / 2
Local $posYdiff = $ClientSize[1] / 2.5
Global $hWnd = WinWait("[CLASS:ArenaNet_Dx_Window_Class]", "", 0)
WinActivate($hWnd)
ControlSend($title, "", "", "{Tab down}") ;target
Sleep(Random(110, 160, 1))
ControlSend($title, "", "", "{Tab up}")
SplashTextOn("Auto Attack Bot Setup", "Please Left Click On Left Side Of Target Health Bar.", 200, 110, $posXdiff, $posYdiff, 0, "Ariel", 15)
While 1
If _IsPressed("01") Then
$pos = MouseGetPos()
ExitLoop
EndIf
WEnd
SplashOff()
Global $spot1 = $pos[0]
Global $spot2 = $pos[1]
Global $hWnd = WinWait("[CLASS:ArenaNet_Dx_Window_Class]", "", 2)
$hWnd = WinGetHandle
WinActivate($hWnd)
Global $iColor = PixelGetColor($spot1, $spot2, $hWnd)
_Interrupt_Sleep(1000)
SplashTextOn("Auto Attack Bot Setup", "Please Left Click On Right Side Of Target Health Bar.", 200, 110, $posXdiff, $posYdiff, 0, "Ariel", 15)
While 1
If _IsPressed("01") Then
$pos2 = MouseGetPos()
ExitLoop
EndIf
WEnd
SplashOff()
Global $spot5 = $pos2[0]
Global $spot6 = $pos2[1]
Global $hWnd = WinWait("[CLASS:ArenaNet_Dx_Window_Class]", "", 2)
$hWnd = WinGetHandle
WinActivate($hWnd)
_Interrupt_Sleep(1000)
SplashTextOn("Auto Attack Bot Setup", "Please Right Click On Top Of Health Globe.", 200, 110, $posXdiff, $posYdiff, 0, "Ariel", 15)
While 1
If _IsPressed("02") Then
$pos1 = MouseGetPos()
ExitLoop
EndIf
WEnd
SplashOff()
Global $spot3 = $pos1[0]
Global $spot4 = $pos1[1]
_Interrupt_Sleep(1000)
SplashTextOn("Auto Attack Bot Setup", "Please Left Click On Right Side Of Pet's Health Bar.", 200, 110, $posXdiff, $posYdiff, 0, "Ariel", 15)
While 1
If _IsPressed("01") Then
$pos3 = MouseGetPos()
ExitLoop
EndIf
WEnd
SplashOff()
Global $spot7 = $pos3[0]
Global $spot8 = $pos3[1]
Global $hWnd = WinWait("[CLASS:ArenaNet_Dx_Window_Class]", "", 2)
_Interrupt_Sleep(1000)
_Func_3()
EndFunc ;==>_Func_1
#EndRegion Setup
#Region Main Fire Loop
Func _Func_3()
GUICtrlSetState($Button1, $GUI_HIDE) ; Hide and show start and stop
GUICtrlSetState($Button2, $GUI_SHOW)
; Make sure the flag is cleared
$fInterrupt = 0
$Paused = 0
GUICtrlSendMsg($Prog, $PBM_SETMARQUEE, 1, 20)
While 1 ; main fire loop
$a = GUICtrlRead($Slider3)
$P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
If $iSec <> @SEC Then
GUICtrlSetData($cLabel, _Time()) ; set lable time
$iSec = @SEC
EndIf
;===================fire 1==============
If _IsChecked($Checkbox1) Then
$a = GUICtrlRead($Slider4) - 150
PixelSearch($spot7 + $a, $spot8, $spot7 + $a, $spot8 , 0x050505, 20) ; check health
If Not @error Then
$h = 0
EndIf
If @error Then
$h = 1
EndIf
If $h = 0 Then
$k = GUICtrlRead($Input13) ;=====> fire input key for health
ControlSend($title, "", "", "{" & $k & " down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{" & $k & " up}")
EndIf
EndIf
PixelSearch($spot1, $spot2, $spot1, $spot2, $iColor, $ver) ; check for target
If Not @error Then
$on = 0
EndIf
If @error Then
$on = 1
EndIf
If $on = 1 Then
_turn()
EndIf
$e = GUICtrlRead($Input1) ; fire 1 yes 0 no
If $e = 1 Then
$Face = $Face + 1
$a = GUICtrlRead($Slider3)
PixelSearch($spot3, $spot4 + $a, $spot3, $spot4 + $a, 0x050505, 20) ; check health
If Not @error Then
$h = 0
EndIf
If @error Then
$h = 1
EndIf
If $h = 0 Then
$k = GUICtrlRead($Input13) ;=====> fire input key for health
ControlSend($title, "", "", "{" & $k & " down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{" & $k & " up}")
EndIf
Local $min1 = GUICtrlRead($Input5) ; check cool down time on cast
$ts = $min1 * 1000
$tl = TimerDiff($In1)
If $tl > $ts Then
$on = 0
EndIf
If $tl < $ts Then
$on = 1
EndIf
If $on = 0 Then
$c = GUICtrlRead($Input25) ;=====> fire input key
ControlSend($title, "", "", "{" & $c & " down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{" & $c & " up}")
Sleep(Random(150, 180, 1))
Local $t = GUICtrlRead($Input9) * 100 ; check time to compleet cast
Sleep($t) ; hard sleep so cast will not be iterrupted
$In1 = TimerInit() ;reset time for skill
EndIf
EndIf
If $Face = 2 Then ; turn to target
ControlSend($title, "", "", "{a down}")
Sleep(Random(130, 160, 1))
ControlSend($title, "", "", "{a up}")
EndIf
ControlSend($title, "", "", "{l down}")
Sleep(Random(130, 160, 1))
ControlSend($title, "", "", "{l up}")
PixelSearch($spot5, $spot6, $spot5, $spot6, $iColor, 5) ; check for dmg
If Not @error Then
$m = $m + 1
ElseIf @error Then
$m = 0
EndIf
If $m > 1 Then
_turn()
EndIf
If $fInterrupt <> 0 Then
Return
EndIf
;=================== fire 2 ============== Check stop, check pause, Loot,
$e = GUICtrlRead($Input2)
If $e = 1 Then ;=====> fire 2 loop
$a = GUICtrlRead($Slider3)
PixelSearch($spot3, $spot4 + $a, $spot3, $spot4 + $a, 0x050505, 20) ; check health
If Not @error Then
$h = 0
EndIf
If @error Then
$h = 1
EndIf
If $h = 0 Then
$k = GUICtrlRead($Input13) ;=====> fire input key
ControlSend($title, "", "", "{" & $k & " down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{" & $k & " up}")
EndIf
PixelSearch($spot1, $spot2, $spot1, $spot2, $iColor, $ver) ; check for target
If Not @error Then
$on = 0
EndIf
If @error Then
$on = 1
EndIf
If $on = 1 Then
_turn()
EndIf
If $on = 0 Then
$c = GUICtrlRead($Input26) ;=====> fire input key
ControlSend($title, "", "", "{" & $c & " down}")
Sleep(Random(170, 190, 1))
ControlSend($title, "", "", "{" & $c & " up}")
Local $t = GUICtrlRead($Input11) * 100
Sleep($t)
$In2 = TimerInit() ;reset time for skill
EndIf
EndIf
ControlSend($title, "", "", "{l down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{l up}")
If $fInterrupt <> 0 Then
Return
EndIf
;=================== fire 3 ============== Check stop, check pause, Loot, and 2nd health check
$e = GUICtrlRead($Input3)
If $e = 1 Then
$a = GUICtrlRead($Slider3)
PixelSearch($spot3, $spot4 + $a, $spot3, $spot4 + $a, 0x050505, 20) ; check health
If Not @error Then
$h = 0
EndIf
If @error Then
$h = 1
EndIf
If $h = 0 Then
$k = GUICtrlRead($Input13) ;=====> fire input key
ControlSend($title, "", "", "{" & $k & " down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{" & $k & " up}")
EndIf
PixelSearch($spot1, $spot2, $spot1, $spot2, $iColor, $ver) ; check for target
If Not @error Then
$on = 0
EndIf
If @error Then
$on = 1
EndIf
If $on = 1 Then
_turn()
EndIf
$P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
Local $min1 = GUICtrlRead($Input7) * 1000
$tl = TimerDiff($In3)
If $tl > $min1 Then
$on = 0
EndIf
If $tl < $min1 Then
$on = 1
EndIf
If $on = 0 Then
$c = GUICtrlRead($Input27) ;=====> fire input key
ControlSend($title, "", "", "{" & $c & " down}")
Sleep(Random(140, 180, 1))
ControlSend($title, "", "", "{" & $c & " up}")
Local $t = GUICtrlRead($Input10) * 100
Sleep($t)
$c = GUICtrlRead($Slider6)
Sleep($c) ; ===================lag
If $fInterrupt <> 0 Then
Return
EndIf
Local $P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
$In3 = TimerInit() ;reset time for skill
EndIf
EndIf
ControlSend($title, "", "", "{l down}")
Sleep(Random(170, 180, 1))
ControlSend($title, "", "", "{l up}")
;===================== End fire 4 ======================= Check stop, Loot, check pause
$e = GUICtrlRead($Input4)
If $e = 1 Then
$a = GUICtrlRead($Slider3)
PixelSearch($spot3, $spot4 + $a, $spot3, $spot4 + $a, 0x050505, 20) ; check health
If Not @error Then
$h = 0
EndIf
If @error Then
$h = 1
EndIf
If $h = 0 Then
$k = GUICtrlRead($Input13) ;=====> fire input key
ControlSend($title, "", "", "{" & $k & " down}")
Sleep(Random(160, 190, 1))
ControlSend($title, "", "", "{" & $k & " up}")
EndIf
Sleep(Random(110, 140, 1))
PixelSearch($spot1, $spot2, $spot1, $spot2, $iColor, $ver) ; check for target
If Not @error Then
$on = 0
EndIf
If @error Then
$on = 1
EndIf
If $on = 1 Then
_turn()
EndIf
$P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
Local $min1 = GUICtrlRead($Input8) * 1000
$tl = TimerDiff($In4)
If $tl > $min1 Then
$on = 0
EndIf
If $tl < $min1 Then
$on = 1
EndIf
If $on = 0 Then
$c = GUICtrlRead($Input28) ;=====> fire input key
ControlSend($title, "", "", "{" & $c & " down}")
Sleep(Random(160, 170, 1))
ControlSend($title, "", "", "{" & $c & " up}")
Sleep(Random(150, 160, 1))
Local $t = GUICtrlRead($Input12) * 100
Sleep($t)
$c = GUICtrlRead($Slider6)
Sleep($c) ; ===================lag
If $fInterrupt <> 0 Then
Return
EndIf
Local $P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
$In4 = TimerInit() ;reset time for skill
EndIf
EndIf
ControlSend($title, "", "", "{l down}")
Sleep(Random(140, 190, 1))
ControlSend($title, "", "", "{l up}")
WEnd
EndFunc ;==>_Func_3
#EndRegion Main Fire Loop
Func _Func_2() ;====================================== Set button 1 to show and hide button 2
GUICtrlSendMsg($Prog, $PBM_SETMARQUEE, 0, 20)
GUICtrlSetState($Button2, $GUI_HIDE)
GUICtrlSetState($Button1, $GUI_SHOW)
ConsoleWrite(" Stop " & @CRLF)
EndFunc ;==>_Func_2
Func _turn() ; ===============================Turn for attack bot
$ClientSize = WinGetClientSize($title)
$posXdiff = $ClientSize[0] / 2
$posYdiff = $ClientSize[1] / 2.5
Local $sl = GUICtrlRead($Slider1) * 50 ; Turn sleep
Local $wl = GUICtrlRead($Slider2) * 50 ; Move sleep
$P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
Sleep(20)
If $cot = 1 Then
If $sl > 1 Then
ControlSend($title, "", "", "{D down}")
_Interrupt_Sleep($sl) ; turn
ControlSend($title, "", "", "{D up}")
EndIf
Sleep(20)
If $wl > 1 Then
ControlSend($title, "", "", "{W down}")
_Interrupt_Sleep($wl) ;move
ControlSend($title, "", "", "{W up}")
EndIf
$cot = 2
If _IsChecked($Checkbox7) Then
$cot = 1
EndIf
ControlSend($title, "", "", "{Tab Down}")
Sleep(Random(150, 160, 1))
ControlSend($title, "", "", "{Tab Up}")
_Interrupt_Sleep(1000)
$Face = 1
ElseIf $cot = 2 Then
If $sl > 1 Then
ControlSend($title, "", "", "{A down}")
_Interrupt_Sleep($sl) ;turn
ControlSend($title, "", "", "{A up}")
EndIf
Sleep(20)
If $wl > 1 Then
ControlSend($title, "", "", "{W down}")
_Interrupt_Sleep($wl) ;move
ControlSend($title, "", "", "{W up}")
EndIf
ControlSend($title, "", "", "{Tab Down}")
Sleep(Random(140, 180, 1))
ControlSend($title, "", "", "{Tab Up}")
$cot = 1
_Interrupt_Sleep(1000)
$Face = 1
Return
EndIf
EndFunc ;==>_turn
Func _Interrupt_Sleep($iDelay) ;==>_Interrupt_Sleep
Local $iBegin = TimerInit() ; Get a timestamp
Do
$P = GUICtrlRead($Slider5) ; set to pause
If $P = 2 Then
TogglePause1()
EndIf
If $fInterrupt <> 0 Then
Return
EndIf
If $iSec <> @SEC Then
GUICtrlSetData($cLabel, _Time()) ; set lable time
$iSec = @SEC
EndIf
Sleep(Random(50, 100, 1)) ; minimum random Sleep
If $fInterrupt Then ; Look for interrrupt
Return True
EndIf
Until TimerDiff($iBegin) > $iDelay
Return False ; Return False if timed out and no interrupt was set
EndFunc ;==>_Interrupt_Sleep
Func _Exit()
Exit
EndFunc ;==>_Exit
Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
If BitAND($wParam, 0x0000FFFF) = $Button2 Then $fInterrupt = 1
Return $GUI_RUNDEFMSG
If BitAND($wParam, 0x0000FFFF) = $Button3 Then $fInterrupt = 1
EndFunc ;==>_WM_COMMAND
Func _Save() ;==>_Save
$sSlider1 = GUICtrlRead($Slider1)
IniWrite("ESBsave.ini", "Config", "$Slider1", $sSlider1)
$sSlider2 = GUICtrlRead($Slider2)
IniWrite("ESBsave.ini", "Config", "$Slider2", $sSlider2)
$sSlider3 = GUICtrlRead($Slider3)
IniWrite("ESBsave.ini", "Config", "$Slider3", $sSlider3)
$sSlider6 = GUICtrlRead($Slider6)
IniWrite("ESBsave.ini", "Config", "$Slider6", $sSlider6)
$sInput1 = GUICtrlRead($Input1)
IniWrite("ESBsave.ini", "Config", "Input1", $sInput1)
$sInput2 = GUICtrlRead($Input2)
IniWrite("ESBsave.ini", "Config", "Input2", $sInput2)
$sInput3 = GUICtrlRead($Input3)
IniWrite("ESBsave.ini", "Config", "Input3", $sInput3)
$sInput4 = GUICtrlRead($Input4)
IniWrite("ESBsave.ini", "Config", "Input4", $sInput4)
$sInput5 = GUICtrlRead($Input5)
IniWrite("ESBsave.ini", "Config", "Input5", $sInput5)
$sInput6 = GUICtrlRead($Input6)
IniWrite("ESBsave.ini", "Config", "Input6", $sInput6)
$sInput7 = GUICtrlRead($Input7)
IniWrite("ESBsave.ini", "Config", "Input7", $sInput7)
$sInput8 = GUICtrlRead($Input8)
IniWrite("ESBsave.ini", "Config", "Input8", $sInput8)
$sInput9 = GUICtrlRead($Input9)
IniWrite("ESBsave.ini", "Config", "Input9", $sInput9)
$sInput10 = GUICtrlRead($Input10)
IniWrite("ESBsave.ini", "Config", "Input10", $sInput10)
$sInput11 = GUICtrlRead($Input11)
IniWrite("ESBsave.ini", "Config", "Input11", $sInput11)
$sInput12 = GUICtrlRead($Input12)
IniWrite("ESBsave.ini", "Config", "Input12", $sInput12)
$sInput19 = GUICtrlRead($Input19)
IniWrite("ESBsave.ini", "Config", "Input19", $sInput19)
$sInput13 = GUICtrlRead($Input13)
IniWrite("ESBsave.ini", "Config", "Input13", $sInput13)
$sInput25 = GUICtrlRead($Input25)
IniWrite("ESBsave.ini", "Config", "Input25", $sInput25)
$sInput26 = GUICtrlRead($Input26)
IniWrite("ESBsave.ini", "Config", "Input26", $sInput26)
$sInput27 = GUICtrlRead($Input27)
IniWrite("ESBsave.ini", "Config", "Input27", $sInput27)
$sInput28 = GUICtrlRead($Input28)
IniWrite("ESBsave.ini", "Config", "Input28", $sInput28)
Return
EndFunc ;==>_Save
Func _Load() ;==>_Load
SetCheckedState($Checkbox7, IniRead("ESBsave.ini", "Config", "Checkbox7", False))
GUICtrlSetData($Input1, IniRead("ESBsave.ini", "Config", "Input1", ""))
GUICtrlSetData($Input2, IniRead("ESBsave.ini", "Config", "Input2", ""))
GUICtrlSetData($Input3, IniRead("ESBsave.ini", "Config", "Input3", ""))
GUICtrlSetData($Input4, IniRead("ESBsave.ini", "Config", "Input4", ""))
GUICtrlSetData($Input5, IniRead("ESBsave.ini", "Config", "Input5", ""))
GUICtrlSetData($Input6, IniRead("ESBsave.ini", "Config", "Input6", ""))
GUICtrlSetData($Input7, IniRead("ESBsave.ini", "Config", "Input7", ""))
GUICtrlSetData($Input8, IniRead("ESBsave.ini", "Config", "Input8", ""))
GUICtrlSetData($Input9, IniRead("ESBsave.ini", "Config", "Input9", ""))
GUICtrlSetData($Input10, IniRead("ESBsave.ini", "Config", "Input10", ""))
GUICtrlSetData($Input11, IniRead("ESBsave.ini", "Config", "Input11", ""))
GUICtrlSetData($Input12, IniRead("ESBsave.ini", "Config", "Input12", ""))
GUICtrlSetData($Input19, IniRead("ESBsave.ini", "Config", "Input19", ""))
GUICtrlSetData($Input13, IniRead("ESBsave.ini", "Config", "Input13", ""))
GUICtrlSetData($Input25, IniRead("ESBsave.ini", "Config", "Input25", ""))
GUICtrlSetData($Input26, IniRead("ESBsave.ini", "Config", "Input26", ""))
GUICtrlSetData($Input27, IniRead("ESBsave.ini", "Config", "Input27", ""))
GUICtrlSetData($Input28, IniRead("ESBsave.ini", "Config", "Input28", ""))
GUICtrlSetData($Slider1, IniRead("ESBsave.ini", "Config", "$Slider1", ""))
GUICtrlSetData($Slider2, IniRead("ESBsave.ini", "Config", "$Slider2", ""))
GUICtrlSetData($Slider3, IniRead("ESBsave.ini", "Config", "$Slider3", ""))
GUICtrlSetData($Slider6, IniRead("ESBsave.ini", "Config", "$Slider6", ""))
Return
EndFunc ;==>_Load
Func _Time() ;==> current time
Local $hour = @HOUR, $AMPM = "AM"
If $hour > 11 Then $AMPM = "PM"
If $hour = 0 Then $hour = 12
If $hour > 12 Then $hour -= 12
Return $hour & ":" & @MIN & ":" & @SEC & " " & $AMPM
EndFunc ;==>_Time
Func SetCheckedState($nCtrl, $iState) ; ========================================= part of load func
If $iState > 0 Then
GUICtrlSetState($nCtrl, $GUI_CHECKED)
Else
GUICtrlSetState($nCtrl, $GUI_UNCHECKED)
EndIf
EndFunc ;==>SetCheckedState
Func IsChecked($nCtrl) ; ================================================part of save func
If BitAND(GUICtrlRead($nCtrl), $GUI_CHECKED) = $GUI_CHECKED Then Return 1
Return 0
EndFunc ;==>IsChecked
Func _Help() ;===================== List all help ======================
MsgBox(0, "ESB", "Pressing Ctrl + H will show help box" & @CRLF & "Pressing Ctrl + Q will quit bot." & @CRLF & "Pressing Pause Break will pause the bot.")
EndFunc ;==>_Help
Func _GetURLImage($sURL, $sDirectory = @ScriptDir)
Local $hDownload, $sFile
$sFile = StringRegExpReplace($sURL, "^.*/", "")
If @error Then
Return SetError(1, 0, $sFile)
EndIf
If StringRight($sDirectory, 1) <> "\" Then
$sDirectory = $sDirectory & "\"
EndIf
$sDirectory = $sDirectory & $sFile
If FileExists($sDirectory) Then
Return $sDirectory
EndIf
$hDownload = InetGet($sURL, $sDirectory, 17, 1)
While InetGetInfo($hDownload, 2) = 0
If InetGetInfo($hDownload, 4) <> 0 Then
InetClose($hDownload)
Return SetError(1, 0, $sDirectory)
EndIf
Sleep(105)
WEnd
InetClose($hDownload)
Return $sDirectory
EndFunc ;==>_GetURLImage