Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
Local $LoadButton, $SaveButton, $Start, $Options, $Running, $Test, $gui1, $gui2, $result,$x,$y
Local $Skill1X, $Skill1Y, $MissionDropX , $MissionDropY , $MissionLevelX , $MissionLevelY , $PendingX ,$PendingY ,$FirstMissionX ,$FirstMissionY ,$Skill2X ,$Skill2Y , $SendX , $SendY , $AcceptX , $AcceptY , $Accept2X , $Accept2Y , $InventoryX , $InventoryY , $BankX , $BankY , $BankOn , $InvSpacing
Local $Skill1XC, $Skill1YC,$MissionDropXC, $MissionDropYC, $MissionLevelXC, $MissionLevelYC, $PendingXC,$PendingYC,$FirstMissionXC ,$FirstMissionYC ,$Skill2XC ,$Skill2YC, $SendXC, $SendYC, $AcceptXC, $AcceptYC, $Accept2XC , $Accept2YC , $InventoryXC, $InventoryYC, $BankXC, $BankYC, $BankOnC, $InvSpacingC
Opt("GUIOnEventMode",1)
$Running = 0
$x = 0
$y = 0
$result=0
;; Main Window
$gui1 = GUICreate("Misson Bot", 110, 35, -1, -1, -1, $WS_EX_TOPMOST)
;$gui1 = GUICreate("Misson Bot", 150, 35, -1, -1, -1, $WS_EX_TOPMOST)
GUISetBkColor(000000)
;; Buttons
$Start = GUICtrlCreateButton("Start", 5, 5, 50 )
$Options = GUICtrlCreateButton("Options", 55, 5, 50 )
;$Test = GUICtrlCreateButton("T", 110, 5, 20 )
;; Events
GUISetOnEvent($GUI_EVENT_CLOSE,"guiClose")
GUICtrlSetOnEvent($Test,"Test")
GUICtrlSetOnEvent($Start,"Start")
GUICtrlSetOnEvent($Options,"Options")
GUISetState()
;; Main Loop
While 1
While $Running = 1
GetLatestValues() ;; Load values from Ini File
Sleep(100)
;; Activate TOR window
WinActivate("Star Wars: The Old Republic")
Sleep(200)
;; Escape all open stuff and open crew skill window
Send("{ESC}{ESC}n")
Sleep(500)
;;Select 1st companion Skill
MouseClick("left", $Skill1XC , $Skill1YC, 1)
Sleep(200)
;; diff level dropdown
MouseClick("left", $MissionDropXC, $MissionDropYC , 1)
Sleep(200)
MouseClick("left", $MissionDropXC, $MissionDropYC + ($MissionLevelXC * $MissionLevelYC), 1)
Sleep(200)
$result = _ImageSearch("lockbox.bmp",1,$x,$y,100)
if $result=1 Then
MouseClick("left", $x, $y , 1)
$x = 0
$y = 0
else
;;Select First Mission
MouseClick("left", ($FirstMissionXC) , ($FirstMissionYC), 1)
EndIf
Sleep(500)
;; Send him/her off
MouseClick("left", ($SendXC) , ($SendYC), 1)
Sleep(200)
;check for second companion
If $Skill2XC > 0 Then
Send("{ESC}{ESC}n")
Sleep(200)
;Select Skill
MouseClick("left", ($Skill2XC) , ($Skill2YC), 1)
Sleep(200)
;; diff level dropdown
MouseClick("left", $MissionDropXC, $MissionDropYC , 1)
Sleep(200)
MouseClick("left", $MissionDropXC, $MissionDropYC + ($MissionLevelXC * $MissionLevelYC), 1)
Sleep(200)
$result = _ImageSearch("lockbox.bmp",1,$x,$y,100)
if $result=1 Then
MouseClick("left", $x, $y , 1)
$x = 0
$y = 0
else
;;Select First Mission
MouseClick("left", ($FirstMissionXC) , ($FirstMissionYC), 1)
EndIf
Sleep(500)
MouseClick("left", ($SendXC) , ($SendYC), 1)
EndIf
;sleep
For $i=1 to 900 step 1
Sleep(100)
If $running=0 then
exitloop 2
EndIf
Next
;; select Accept Button
Sleep(100)
WinActivate("Star Wars: The Old Republic")
Sleep(200)
Send("{ESC}{ESC}")
Sleep(100)
MouseClick("left", ($PendingXC) , ($PendingYC), 1)
Sleep(100)
MouseClick("left", ($AcceptXC) , ($AcceptYC) , 1)
Sleep(100)
MouseClick("left", ($Accept2XC) , ($Accept2YC), 1)
Sleep(100)
Send("{SPACE}")
Sleep(100)
If $BankOnC = 1 Then
Send("{ESC}{ESC}")
Sleep(500)
Send("i")
Sleep(500)
MouseClick("right", ($InventoryXC) , ($InventoryYC), 1)
Sleep(300)
MouseClick("right", ($InventoryXC) + $InvSpacingC, ($InventoryYC), 1)
Sleep(300)
MouseClick("right", ($InventoryXC) + (2 * $InvSpacingC), ($InventoryYC), 1)
Sleep(300)
MouseClick("right", ($InventoryXC) + (3 * $InvSpacingC), ($InventoryYC), 1)
Sleep(300)
;; If items are not credit boxes, open bank and move them there
Send("{ESC}{ESC}")
Sleep(100)
MouseClick("right", ($BankXC) , ($BankYC), 1)
Sleep(500)
MouseClick("right", ($InventoryXC) , ($InventoryYC), 1)
Sleep(300)
MouseClick("right", ($InventoryXC) + $InvSpacingC, ($InventoryYC), 1)
Sleep(300)
MouseClick("right", ($InventoryXC) + (2 * $InvSpacingC), ($InventoryYC), 1)
Sleep(300)
MouseClick("right", ($InventoryXC) + (3 * $InvSpacingC), ($InventoryYC), 1)
Sleep(300)
EndIf
Wend
WEnd
Func Options()
$gui2=GUICreate("Options", 250, 430, -1, -1, -1, $WS_EX_TOPMOST)
GUISetBkColor(000000)
$LoadButton = GUICtrlCreateButton("Load", 10, 10, 40,20)
$SaveButton = GUICtrlCreateButton("Save", 50, 10, 40,20)
$Skill1X = GUICtrlCreateInput("",10,40,35,20)
$Skill1Y = GUICtrlCreateInput("",50,40,35,20)
GUICtrlCreateLabel("1st Pet Skill",90,40)
GUICtrlSetColor(-1, 0xfffffF)
$Skill2X = GUICtrlCreateInput("",10,70,35,20)
$Skill2Y = GUICtrlCreateInput("",50,70,35,20)
GUICtrlCreateLabel("2nd Pet Skill",90,70)
GUICtrlSetColor(-1, 0xfffffF)
$MissionDropX = GUICtrlCreateInput("",10,100,35,20)
$MissionDropY = GUICtrlCreateInput("",50,100,35,20)
GUICtrlCreateLabel("Mission Level Dropdown",90,100)
GUICtrlSetColor(-1, 0xfffffF)
$MissionLevelX = GUICtrlCreateInput("",10,130,35,20)
$MissionLevelY = GUICtrlCreateInput("",50,130,35,20)
GUICtrlCreateLabel("Mission Level(1-6) / pixels",90,130)
GUICtrlSetColor(-1, 0xfffffF)
$FirstMissionX = GUICtrlCreateInput("",10,160,35)
$FirstMissionY = GUICtrlCreateInput("",50,160,35)
GUICtrlCreateLabel("First Mission",90,160)
GUICtrlSetColor(-1, 0xfffffF)
$SendX = GUICtrlCreateInput("",10,190,35)
$SendY = GUICtrlCreateInput("",50,190,35)
GUICtrlCreateLabel("Send Button",90,190)
GUICtrlSetColor(-1, 0xfffffF)
$AcceptX = GUICtrlCreateInput("",10,220,35)
$AcceptY = GUICtrlCreateInput("",50,220,35)
GUICtrlCreateLabel("Accept Left (Succes)",90,220)
GUICtrlSetColor(-1, 0xfffffF)
$Accept2X = GUICtrlCreateInput("",10,250,35)
$Accept2Y = GUICtrlCreateInput("",50,250,35)
GUICtrlCreateLabel("Accept Left (Failed)",90,250)
GUICtrlSetColor(-1, 0xfffffF)
$PendingX = GUICtrlCreateInput("",10,280,35)
$PendingY = GUICtrlCreateInput("",50,280,35)
GUICtrlCreateLabel("Pending Reward",90,280)
GUICtrlSetColor(-1, 0xfffffF)
$InventoryX = GUICtrlCreateInput("",10,310,35)
$InventoryY = GUICtrlCreateInput("",50,310,35)
GUICtrlCreateLabel("1st Inv. Slot",90,310)
GUICtrlSetColor(-1, 0xfffffF)
$BankX = GUICtrlCreateInput("",10,340,35)
$BankY = GUICtrlCreateInput("",50,340,35)
GUICtrlCreateLabel("Bank",90,340)
GUICtrlSetColor(-1, 0xffffff)
$InvSpacing = GUICtrlCreateInput("",10,370,35)
GUICtrlCreateLabel("Pixels Inventory Slots",50,370)
GUICtrlSetColor(-1, 0xffffff)
$BankOn = GUICtrlCreateCheckbox("",10,400,20,20)
GUICtrlCreateLabel("Auto Bank",30,400)
GUICtrlSetColor(-1, 0xfffffF)
GUISetOnEvent($GUI_EVENT_CLOSE,"guiCloseOptions")
GUICtrlSetOnEvent($SaveButton,"SaveConfig")
GUICtrlSetOnEvent($LoadButton,"LoadConfig")
GUISetState()
LoadConfig()
EndFunc
Func Test()
$result = _ImageSearch("lockbox.bmp",1,$x,$y,0)
if $result=1 Then
MsgBox(0,"Found",$result)
MouseClick("left", $x, $y , 1)
else
MsgBox(0,"Found","Hey ... cannot find your image")
EndIf
EndFunc
Func Start()
If $Running = 0 Then
$Running = 1
GUICtrlSetData($Start, "Stop")
Else
$Running = 0
GUICtrlSetData($Start, "Start")
EndIf
EndFunc
Func guiClose()
Exit
EndFunc
Func guiCloseOptions()
GuiDelete($gui2)
EndFunc
Func GetLatestValues()
$Skill1XC = IniRead("mission.ini","Settings","Skill1X", "")
$Skill1YC = IniRead("mission.ini","Settings","Skill1Y", "")
$Skill2XC = IniRead("mission.ini","Settings","Skill2X", "0")
$Skill2YC = IniRead("mission.ini","Settings","Skill2Y", "0")
$MissionDropXC = IniRead("mission.ini","Settings","MissionDropX", "0")
$MissionDropYC = IniRead("mission.ini","Settings","MissionDropY", "0")
$MissionLevelXC = IniRead("mission.ini","Settings","MissionLevelX", "0")
$MissionLevelYC = IniRead("mission.ini","Settings","MissionLevelY", "0")
$FirstMissionXC = IniRead("mission.ini","Settings","FirstMissionX", "")
$FirstMissionYC = IniRead("mission.ini","Settings","FirstMissionY", "")
$SendXC = IniRead("mission.ini","Settings","SendX", "")
$SendYC = IniRead("mission.ini","Settings","SendY", "")
$PendingXC = IniRead("mission.ini","Settings","PendingX", "")
$PendingYC = IniRead("mission.ini","Settings","PendingY", "")
$AcceptXC = IniRead("mission.ini","Settings","AcceptX", "")
$AcceptYC = IniRead("mission.ini","Settings","AcceptY", "")
$Accept2XC = IniRead("mission.ini","Settings","Accept2X", "")
$Accept2YC = IniRead("mission.ini","Settings","Accept2Y", "")
$InventoryXC = IniRead("mission.ini","Settings","InventoryX ", "")
$InventoryYC = IniRead("mission.ini","Settings","InventoryY ", "")
$BankXC = IniRead("mission.ini","Settings","BankX ", "")
$BankYC = IniRead("mission.ini","Settings","BankY ", "")
$InvSpacingC = IniRead("mission.ini","Settings","InvSpacing ", "")
$BankOnC = IniRead("mission.ini","Settings","BankOn ", "0")
EndFunc
Func LoadConfig()
GUICtrlSetData($Skill1X , IniRead("mission.ini","Settings","Skill1X", "0"))
GUICtrlSetData($Skill1Y , IniRead("mission.ini","Settings","Skill1Y", "0"))
GUICtrlSetData($Skill2X , IniRead("mission.ini","Settings","Skill2X", "0"))
GUICtrlSetData($Skill2Y , IniRead("mission.ini","Settings","Skill2Y", "0"))
GUICtrlSetData($MissionDropX , IniRead("mission.ini","Settings","MissionDropX", "0"))
GUICtrlSetData($MissionDropY , IniRead("mission.ini","Settings","MissionDropY", "0"))
GUICtrlSetData($MissionLevelX , IniRead("mission.ini","Settings","MissionLevelX", "0"))
GUICtrlSetData($MissionLevelY , IniRead("mission.ini","Settings","MissionLevelY", "0"))
GUICtrlSetData($FirstMissionX , IniRead("mission.ini","Settings","FirstMissionX", "0"))
GUICtrlSetData($FirstMissionY , IniRead("mission.ini","Settings","FirstMissionY", "0"))
GUICtrlSetData($SendX , IniRead("mission.ini","Settings","SendX", "0"))
GUICtrlSetData($SendY , IniRead("mission.ini","Settings","SendY", "0"))
GUICtrlSetData($PendingX , IniRead("mission.ini","Settings","PendingX", "0"))
GUICtrlSetData($PendingY , IniRead("mission.ini","Settings","PendingY", "0"))
GUICtrlSetData($AcceptX , IniRead("mission.ini","Settings","AcceptX", "0"))
GUICtrlSetData($AcceptY , IniRead("mission.ini","Settings","AcceptY", "0"))
GUICtrlSetData($Accept2X , IniRead("mission.ini","Settings","Accept2X", "0"))
GUICtrlSetData($Accept2Y , IniRead("mission.ini","Settings","Accept2Y", "0"))
GUICtrlSetData($InventoryX , IniRead("mission.ini","Settings","InventoryX ", "0"))
GUICtrlSetData($InventoryY , IniRead("mission.ini","Settings","InventoryY ", "0"))
GUICtrlSetData($BankX , IniRead("mission.ini","Settings","BankX ", "0"))
GUICtrlSetData($BankY , IniRead("mission.ini","Settings","BankY ", "0"))
GUICtrlSetData($InvSpacing , IniRead("mission.ini","Settings","InvSpacing ", "0"))
If IniRead("mission.ini","Settings","BankOn ", "0") = 1 Then
GUICtrlSetState($BankOn, $GUI_CHECKED)
else
GUICtrlSetState($BankOn, $GUI_UNCHECKED)
endif
EndFunc
Func SaveConfig()
IniWrite("mission.ini","Settings","Skill1X", GuiCtrlRead($Skill1X))
IniWrite("mission.ini","Settings","Skill1Y", GuiCtrlRead($Skill1Y))
IniWrite("mission.ini","Settings","Skill2X", GuiCtrlRead($Skill2X))
IniWrite("mission.ini","Settings","Skill2Y", GuiCtrlRead($Skill2Y))
IniWrite("mission.ini","Settings","MissionDropX", GuiCtrlRead($MissionDropX))
IniWrite("mission.ini","Settings","MissionDropY", GuiCtrlRead($MissionDropY))
IniWrite("mission.ini","Settings","MissionLevelX", GuiCtrlRead($MissionLevelX))
IniWrite("mission.ini","Settings","MissionLevelY", GuiCtrlRead($MissionLevelY))
IniWrite("mission.ini","Settings","FirstMissionX", GuiCtrlRead($FirstMissionX))
IniWrite("mission.ini","Settings","FirstMissionY", GuiCtrlRead($FirstMissionY))
IniWrite("mission.ini","Settings","SendX", GuiCtrlRead($SendX))
IniWrite("mission.ini","Settings","SendY", GuiCtrlRead($SendY))
IniWrite("mission.ini","Settings","PendingX", GuiCtrlRead($PendingX))
IniWrite("mission.ini","Settings","PendingY", GuiCtrlRead($PendingY))
IniWrite("mission.ini","Settings","AcceptX", GuiCtrlRead($AcceptX))
IniWrite("mission.ini","Settings","AcceptY", GuiCtrlRead($AcceptY))
IniWrite("mission.ini","Settings","Accept2X", GuiCtrlRead($Accept2X))
IniWrite("mission.ini","Settings","Accept2Y", GuiCtrlRead($Accept2Y))
IniWrite("mission.ini","Settings","InventoryX", GuiCtrlRead($InventoryX))
IniWrite("mission.ini","Settings","InventoryY", GuiCtrlRead($InventoryY))
IniWrite("mission.ini","Settings","BankX", GuiCtrlRead($BankX))
IniWrite("mission.ini","Settings","BankY", GuiCtrlRead($BankY))
IniWrite("mission.ini","Settings","InvSpacing", GuiCtrlRead($InvSpacing))
IniWrite("mission.ini","Settings","BankOn", GuiCtrlRead($BankOn))
MsgBox(4096, "Save", "Save completed", 1)
EndFunc
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
WEnd
EndFunc