Someone can make an thread or tell me how to use autoit or something like it? i'm noobish with it. ^^
I would suggest:Quote:
Someone can make an thread or tell me how to use autoit or something like it? i'm noobish with it. ^^
#include<Misc.au3>
#include <windowsconstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
HotKeySet("{TAB}", "Start")
HotKeySet("{ESC}","ExitProgram")
HotKeySet("{P}","Pause")
HotKeySet("{p}","Pause")
Global $Rett12_x1,$Rett12_y1,$Rett12_x2,$Rett12_y2
global $Rett11_x1,$Rett11_y1,$Rett11_x2,$Rett11_y2
Global $Rett10_x1,$Rett10_y1,$Rett10_x2,$Rett10_y2
Global $Rett9_x1,$Rett9_y1,$Rett9_x2,$Rett9_y2
Global $Rett8_x1,$Rett8_y1,$Rett8_x2,$Rett8_y2
Global $Rett7_x1,$Rett7_y1,$Rett7_x2,$Rett7_y2
Global $Rett6_x1,$Rett6_y1,$Rett6_x2,$Rett6_y2
Global $Rett5_x1,$Rett5_y1,$Rett5_x2,$Rett5_y2
Global $Rett4_x1,$Rett4_y1,$Rett4_x2,$Rett4_y2
Global $Rett3_x1,$Rett3_y1,$Rett3_x2,$Rett3_y2
Global $Rett2_x1,$Rett2_y1,$Rett2_x2,$Rett2_y2
Global $Rett1_x1,$Rett1_y1,$Rett1_x2,$Rett1_y2
Global $pallacolor=0x384E6D ;0x4F6D80;0x486E8A
$Rett1_x1 = 0
$Rett1_y1 = 0
$Rett1_x2 = 0
$Rett1_y2 = 0
$Mini_x1=0
$Mini_y1=0
$Mini_y2=0
$Mini_x2=0
Func Start()
$a=$Rett1_x2-$Rett1_x1 ; width of the large rectangle
$b=$Rett1_y2-$Rett1_y1; height of the large rectangle
;Rectangle 2
; coord high since
$Rett2_x1=$Rett1_x1+$a/24
$Rett2_y1=$Rett1_y1+$b/24
;coord low dex
$Rett2_x2=$Rett2_x1+$a*11/12
$Rett2_y2=$Rett2_y1+$b*11/12
;Rectangle 3
; coord alto sin
$Rett3_x1=$Rett2_x1+$a/24
$Rett3_y1=$Rett2_y1+$b/24
;coord basso dex
$Rett3_x2=$Rett3_x1+$a*5/6
$Rett3_y2=$Rett3_y1+$b*5/6
;Rectangle 4
; coord alto sin
$Rett4_x1=$Rett3_x1+$a/24
$Rett4_y1=$Rett3_y1+$b/24
;coord basso dex
$Rett4_x2=$Rett4_x1+$a*3/4
$Rett4_y2=$Rett4_y1+$b*3/4
;Rectangle 5
; coord alto sin
$Rett5_x1=$Rett4_x1+$a/24
$Rett5_y1=$Rett4_y1+$b/24
;coord basso dex
$Rett5_x2=$Rett5_x1+$a*2/3
$Rett5_y2=$Rett5_y1+$b*2/3
;Rectangle 6
; coord alto sin
$Rett6_x1=$Rett5_x1+$a/24
$Rett6_y1=$Rett5_y1+$b/24
;coord basso dex
$Rett6_x2=$Rett6_x1+$a*7/12
$Rett6_y2=$Rett6_y1+$b*7/12
;Rectangle 7
; coord alto sin
$Rett7_x1=$Rett6_x1+$a/24
$Rett7_y1=$Rett6_y1+$b/24
;coord basso dex
$Rett7_x2=$Rett7_x1+$a/2
$Rett7_y2=$Rett7_y1+$b/2
;Rectangle 8
; coord alto sin
$Rett8_x1=$Rett7_x1+$a/24
$Rett8_y1=$Rett7_y1+$b/24
;coord basso dex
$Rett8_x2=$Rett8_x1+$a*5/12
$Rett8_y2=$Rett8_y1+$b*5/12
;Rectangle 9
; coord alto sin
$Rett9_x1=$Rett8_x1+$a/24
$Rett9_y1=$Rett3_y1+$b/24
;coord basso dex
$Rett9_x2=$Rett9_x1+$a/3
$Rett9_y2=$Rett9_y1+$b/3
;Rectangle 10
; coord alto sin
$Rett10_x1=$Rett9_x1+$a/24
$Rett10_y1=$Rett9_y1+$b/24
;coord basso dex
$Rett10_x2=$Rett10_x1+$a/4
$Rett10_y2=$Rett10_y1+$b/4
;Rectangle 11
; coord alto sin
$Rett11_x1=$Rett10_x1+$a/24
$Rett11_y1=$Rett10_y1+$b/24
;coord basso dex
$Rett11_x2=$Rett11_x1+$a/6
$Rett11_y2=$Rett11_y1+$b/6
;Rectangle 12
; coord alto sin
$Rett12_x1=$Rett11_x1+$a/24
$Rett12_y1=$Rett11_y1+$b/24
;coord basso dex
$Rett12_x2=$Rett12_x1+$a/12
$Rett12_y2=$Rett3_y1+$b/12
global $c=1
while 1
Select
case $c=1
Start1()
case $c=2
Start2()
case $c=3
Start3()
case $c=4
Start4()
case $c=5
Start5()
case $c=6
Start6()
case $c=7
Start7()
case $c=8
Start8()
case $c=9
Start9()
case $c=10
Start10()
case $c=11
Start11()
case $c=12
Start12()
case $c=13
Search()
EndSelect
WEnd
EndFunc
Func Start1()
While 1 ;as long as it is in one continues to click
$Start1 = PixelSearch($Rett12_x1,$Rett12_y1,$Rett12_x2,$Rett12_y2,$pallacolor,1) ;0x4D6874
If Not @error Then
MouseClick("left",$Start1[0],$Start1[1],1,0)
Sleep(2000)
$c=1
Else; Failing that go to the next
$c=2
ExitLoop
EndIf
WEnd
EndFunc
Func Start2()
$Start2 = PixelSearch($Rett11_x1,$Rett11_y1,$Rett11_x2,$Rett11_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start2[0],$Start2[1],1,0)
Sleep(2000)
$c=1
Else
$c=3
EndIf
EndFunc
Func Start3()
$Start3 = PixelSearch($Rett10_x1,$Rett10_y1,$Rett10_x2,$Rett10_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start3[0],$Start3[1],1,0)
Sleep(2000)
$c=1
Else
$c=4
EndIf
EndFunc
Func Start4()
$Start4 = PixelSearch($Rett9_x1,$Rett9_y1,$Rett9_x2,$Rett9_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start4[0],$Start4[1],1,0)
Sleep(2000)
$c=1
Else
$c=5
EndIf
EndFunc
Func Start5()
$Start5 = PixelSearch($Rett8_x1,$Rett8_y1,$Rett8_x2,$Rett8_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start5[0],$Start5[1],1,0)
Sleep (2000)
$c=1
Else
$c=6
EndIf
EndFunc
Func Start6()
$Start6 = PixelSearch($Rett7_x1,$Rett7_y1,$Rett7_x2,$Rett7_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start6[0],$Start6[1],1,0)
Sleep (2000)
$c=1
Else
$c=7
EndIf
EndFunc
Func Start7()
$Start7 = PixelSearch($Rett6_x1,$Rett6_y1,$Rett6_x2,$Rett6_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start7[0],$Start7[1],1,0)
Sleep (2000)
$c=1
Else
$c=8
EndIf
EndFunc
Func Start8()
$Start8 = PixelSearch($Rett5_x1,$Rett5_y1,$Rett5_x2,$Rett5_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start8[0],$Start8[1],1,0)
Sleep (2000)
$c=1
Else
$c=9
EndIf
EndFunc
Func Start9()
$Start9 = PixelSearch($Rett4_x1,$Rett4_y1,$Rett4_x2,$Rett4_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start9[0],$Start9[1],1,0)
Sleep (2000)
$c=1
Else
$c=10
EndIf
EndFunc
Func Start10()
$Start10 = PixelSearch($Rett3_x1,$Rett3_y1,$Rett3_x2,$Rett3_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start10[0],$Start10[1],1,0)
Sleep (2000)
$c=1
Else
$c=11
EndIf
EndFunc
Func Start11()
$Start11 = PixelSearch($Rett2_x1,$Rett2_y1,$Rett2_x2,$Rett2_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start11[0],$Start11[1],1,0)
Sleep (2000)
$c=1
Else
$c=12
EndIf
EndFunc
Func Start12()
$Start12 = PixelSearch($Rett1_x1,$Rett1_y1,$Rett1_x2,$Rett1_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start12[0],$Start12[1],1,0)
Sleep (2000)
$c=1
Else
$c=13
EndIf
EndFunc
Func Search() ;Look at the minimap
Local $RandomX, $RandomY
$RandomX = Random($Mini_x1,$Mini_x2,1) ; Coordinates taken with selection in the gui
$RandomY = Random($Mini_y1,$Mini_y2,1)
MouseClick("left",$RandomX,$RandomY,1,0)
While 1
$Start12 = PixelSearch($Rett1_x1,$Rett1_y1,$Rett1_x2,$Rett1_y2,$pallacolor,1)
If Not @error Then
MouseClick("left",$Start12[0],$Start12[1],1,0)
Sleep (2000)
$c=1
ExitLoop
EndIf
WEnd
EndFunc
Func Pause()
While 1
sleep(9999)
WEnd
EndFunc
;~ ------------------------------------------------------------------------------------------------
;Search Rectangle
;~ ------------------------------------------------------------------------------------------------
Func Select_rectangle()
Local $Selected=0
Local $Coordinate[4]
$area = GUICreate("", 1, 1, 1, 1, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x33FF00, $area)
WinSetTrans($area, "", 80)
GUISetState()
While $Selected = 0
If _IsPressed("1") Then
$mp = MouseGetPos()
WinMove($area, "", $mp[0], $mp[1], 1, 1)
While _IsPressed('01')
$pos = MouseGetPos()
global $left = Order($mp[0], $pos[0])
global $top = Order($mp[1], $pos[1])
WinMove($area, "", $left[0], $top[0], $left[1], $top[1])
ConsoleWrite($left[0] & ', ' & $top[0] & ', ' & $left[1] & ', ' & $top[1] & @CRLF)
WEnd
$Coordinate[0]=$left[0]
$Coordinate[1]=$top[0]
$Coordinate[2]=$left[0]+$left[1]
$Coordinate[3]=$top[0]+ $top[1]
$Selected=1
EndIf
WEnd
GUIDelete($area)
Return $coordinate
EndFunc
Func Order($a, $b)
Dim $res[2]
If $a < $b Then
$res[0] = $a
$res[1] = $b - $a
Else
$res[0] = $b
$res[1] = $a - $b
EndIf
Return $res
EndFunc
Func ExitProgram()
Exit
EndFunc
;~ ____________________________________________________________________________
;Main program
;~ ____________________________________________________________________________
If FileExists(@ScriptDir &"\Data.ini") Then ; IF THERE -> TAKE DATA SAVED (Saved data of rectangles)
$Rett1_x1=int(IniRead( @ScriptDir &"\Data.ini" , "Alto_sin" , "x" ,0))
$Rett1_y1=int(IniRead( @ScriptDir &"\Data.ini" , "Alto_sin" , "y" ,0))
$Rett1_x2=int(IniRead( @ScriptDir &"\Data.ini" , "Basso_dest" , "x",0 ))
$Rett1_y2=int(IniRead( @ScriptDir &"\Data.ini" , "Basso_dest" , "y" ,0))
$Mini_x1=int(IniRead( @ScriptDir &"\Data.ini" , "Mini_sin" , "x",0 ))
$Mini_y1=int(IniRead( @ScriptDir &"\Data.ini" , "Mini_sin" , "y" ,0))
$Mini_x2=int(IniRead( @ScriptDir &"\Data.ini" , "Mini_dest" , "x" ,0))
$Mini_y2=int(IniRead( @ScriptDir &"\Data.ini" , "Mini_dest" , "y" ,0))
Else ;If there is no
#Region ### START Koda GUI section ### Form=c:\users\roberto\desktop\form1.kxf
$Form1_1 = GUICreate("Form1", 473, 234, 307, 150)
$Label1 = GUICtrlCreateLabel("Hello, it is the first time you use this bot you'll want to run all the settings!", 32, 16, 410, 33, $SS_CENTER)
$Button1 = GUICtrlCreateButton("Select area", 16, 64, 121, 41, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Select Fog", 16, 128, 121, 41, $WS_GROUP)
$Label2 = GUICtrlCreateLabel("Select the play area where the ship can collect palladium", 144, 64, 306, 17)
$Label3 = GUICtrlCreateLabel("Without hindrance (menu of various kinds)", 144, 80, 226, 17)
$Label4 = GUICtrlCreateLabel("Select Where the Fog is on the Minimap", 144, 136, 242, 17)
$Button3 = GUICtrlCreateButton("Done", 168, 184, 137, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1 ;must select the playing area
GUISetState(@SW_HIDE, $Form1_1)
Local $cord= Select_rectangle()
$Rett1_x1=$cord[0]
$Rett1_y1=$cord[1]
$Rett1_x2=$cord[2]
$Rett1_y2=$cord[3]
GUISetState(@SW_show, $Form1_1)
Case $Button2 ;must select the mist
GUISetState(@SW_HIDE, $Form1_1)
Local $cord2=Select_rectangle()
$Mini_x1=$cord2[0]
$Mini_y1=$cord2[1]
$Mini_x2=$cord2[2]
$Mini_y2=$cord2[3]
GUISetState(@SW_SHOW, $Form1_1)
Case $Button3; finished the switch, load the data stored in the memory, and save them
Guidelete($Form1_1)
IniWrite( @ScriptDir &"\Data.ini" , "Alto_sin" , "x" , $Rett1_x1)
IniWrite( @ScriptDir &"\Data.ini" , "Alto_sin" , "y" , $Rett1_y1)
IniWrite( @ScriptDir &"\Data.ini" , "Basso_dest" , "x" , $Rett1_x2)
IniWrite( @ScriptDir &"\Data.ini" , "Basso_dest" , "y" , $Rett1_y2)
IniWrite( @ScriptDir &"\Data.ini" , "Mini_sin" , "x" , $Mini_x1)
IniWrite( @ScriptDir &"\Data.ini" , "Mini_sin" , "y" , $Mini_y1)
IniWrite( @ScriptDir &"\Data.ini" , "Mini_dest" , "x" , $Mini_x2)
IniWrite( @ScriptDir &"\Data.ini" , "Mini_dest" , "y" , $Mini_y2)
EndSwitch
WEnd
EndIf
While 1 ;APPEARANCE IN ETERNAL LONG 'NOT RECALL ANY FUNCTION WITH HOTKEYS
sleep(9999)
WEnd