Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=CrewSkill.exe
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.0
Author: J.Mac6996
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
; SWTOR Crew Skill Bot
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
AutoItSetOption("MouseCoordMode", 0)
;AutoItSetOption ( "PixelCoordMode", 1 )
; You MAY have to change these coordinates unless your setting match mine.
; 333, 33 = x, y
;Pending reward Coords
$PendingX = 1382
$PendingY = 39
;Take Loot & Mission Failure - The ingame box is biger with loot, need second set of coords for fails.
$LootX = 321
$LootY = 667
$FailureX = 320
$FailureY = 633
; Open Skills Window
$SkillWindX = 820
$SkillWindY = 40
; Choose skill 1st Companion
$1stCompSk1X = 220
$1stCompSk1Y = 400
$1stCompSk2X = 268
$1stCompSk2Y = 400
; Choose skill 2nd Companion
$2ndCompSk1X = 220
$2ndCompSk1Y = 482
$2ndCompSk2X = 268
$2ndCompSk2Y = 482
; Choose skill 3rd Companion
$3rdCompSk1X = 220
$3rdCompSk1Y = 562
$3rdCompSk2X = 268
$3rdCompSk2Y = 562
; Choose Mission
$1stMisX = 1173
$1stMisY = 310
$2ndMisX = 1173
$2ndMisY = 420
$3rdMisX = 1173
$3rdMisY = 540
;Open Storage Bay 1
$OpenSB1X = 715
$OpenSB1Y = 420
; Select Storage Bay 2
$OpenSB2X = 1053
$OpenSB2Y = 682
;Bag Slot 1
$BS1X = 97
$BS1Y = 306
;Bag Slot 2
$BS2X = 145
$BS2Y = 306
;Bag Slot 3
$BS3X = 190
$BS3Y = 306
;Bag Slot 4
$BS4X = 238
$BS4Y = 306
;Bag Slot 5
$BS5X = 284
$BS5Y = 306
;Bag Slot 6
$BS6X = 334
$BS6Y = 306
;Bag Slot 7
$BS7X = 379
$BS7Y = 306
;Bag Slot 8
$BS8X = 425
$BS8Y = 306
$WinTitle = 'Star Wars: The Old Republic'
$Form1 = GUICreate("Fadore's Bot", 229, 116, 192, 124)
$1stCrewSkill = GUICtrlCreateCheckbox("1st Crew Skill", 8, 8, 97, 17)
$2ndCrewSkill = GUICtrlCreateCheckbox("2nd Crew Skill", 8, 32, 97, 17)
$2ndStorageBay = GUICtrlCreateCheckbox("Storage Bay 2", 8, 56, 97, 17)
$startbutton = GUICtrlCreateButton("Start", 144, 8, 75, 25)
$stopbutton = GUICtrlCreateButton("Stop", 144, 40, 75, 25)
GUISetState(@SW_SHOW)
HotKeySet("{F4}", "ExitProg")
Func ExitProg()
Exit 0;;Exits the program
EndFunc ;==>ExitProg
While 1
$msg = GUIGetMsg()
Select
Case $msg = $startbutton
While 1
SendKeepActive($WinTitle)
WinActivate($WinTitle)
WinWaitActive($WinTitle)
;Pending reward Check
MouseMove($PendingX, $PendingY)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
;Take Loot & Fail
$Counter = 0
Do
MouseMove($LootX, $LootY)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
MouseMove($FailureX, $FailureY)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
$Counter = $Counter + 1
Until $Counter > 5
; Open Skills Window
MouseMove($SkillWindX, $SkillWindY)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
$1stCrewSkillStatus = GuiCtrlRead($1stCrewSkill) ; Read the status for CheckBox1
$2ndCrewSkillStatus = GuiCtrlRead($2ndCrewSkill) ; Read the status for CheckBox2
; Choose skill Comp1 -- NEEDS to be Random***
If ($1stCrewSkillStatus) = ("1") And ($2ndCrewSkillStatus) = ("4") Then
MouseMove($1stCompSk1X, $1stCompSk1Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
ElseIf ($2ndCrewSkillStatus) = ("1") And ($1stCrewSkillStatus) = ("4") Then
MouseMove($1stCompSk2X, $1stCompSk2Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
Else
If ($1stCrewSkillStatus) = ("1") And ($2ndCrewSkillStatus) = ("1") Then
$randomSkill = Random(1, 100)
$randomSkill=Round($randomSkill, 0)
; just to check if $number is not 0
If $randomSkill > 0 Then
If Mod($randomSkill, 2) = 1 Then
; number is odd
MouseMove($1stCompSk1X, $1stCompSk1Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
Else
; number is even
MouseMove($1stCompSk2X, $1stCompSk2Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
EndIf
EndIf
Endif
EndIf
Sleep(200)
; Choose Mission -- Needs to be Random***
$randomMiss = Random(0.5, 3.5)
$randomMiss=Round($randomMiss, 0)
If $randomMiss = 1 Then
MouseMove($1stMisX, $1stMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
ElseIf $randomMiss = 2 Then
MouseMove($2ndMisX, $2ndMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
ElseIf $randomMiss = 3 Then
MouseMove($3rdMisX, $3rdMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
EndIf
; Choose skill Comp2 -- NEEDS to be Random***
If ($1stCrewSkillStatus) = ("1") And ($2ndCrewSkillStatus) = ("4") Then
MouseMove($2ndCompSk1X, $2ndCompSk1Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
ElseIf ($2ndCrewSkillStatus) = ("1") And ($1stCrewSkillStatus) = ("4") Then
MouseMove($2ndCompSk2X, $2ndCompSk2Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
Else
If ($1stCrewSkillStatus) = ("1") And ($2ndCrewSkillStatus) = ("1") Then
$randomSkill = Random(1, 100)
$randomSkill=Round($randomSkill, 0)
; just to check if $number is not 0
If $randomSkill > 0 Then
If Mod($randomSkill, 2) = 1 Then
; number is odd
MouseMove($2ndCompSk1X, $2ndCompSk1Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
Else
; number is even
MouseMove($2ndCompSk2X, $2ndCompSk2Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
EndIf
EndIf
Endif
EndIf
Sleep(200)
; Choose Mission -- Needs to be Random***
$randomMiss = Random(0.5, 3.5)
$randomMiss=Round($randomMiss, 0)
If $randomMiss = 1 Then
MouseMove($1stMisX, $1stMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
ElseIf $randomMiss = 2 Then
MouseMove($2ndMisX, $2ndMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
ElseIf $randomMiss = 3 Then
MouseMove($3rdMisX, $3rdMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
EndIf
; Choose skill Comp3 -- NEEDS to be Random***
If ($1stCrewSkillStatus) = ("1") And ($2ndCrewSkillStatus) = ("4") Then
MouseMove($3rdCompSk1X, $3rdCompSk1Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
ElseIf ($2ndCrewSkillStatus) = ("1") And ($1stCrewSkillStatus) = ("4") Then
MouseMove($3rdCompSk2X, $3rdCompSk2Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
Else
If ($1stCrewSkillStatus) = ("1") And ($2ndCrewSkillStatus) = ("1") Then
$randomSkill = Random(1, 100)
$randomSkill=Round($randomSkill, 0)
; just to check if $number is not 0
If $randomSkill > 0 Then
If Mod($randomSkill, 2) = 1 Then
; number is odd
MouseMove($3rdCompSk1X, $3rdCompSk1Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
Else
; number is even
MouseMove($3rdCompSk2X, $3rdCompSk2Y)
Sleep(200)
MouseClick("LEFT")
Sleep(200)
EndIf
EndIf
EndIf
EndIf
Sleep(200)
; Choose Mission -- Needs to be Random***
$randomMiss = Random(0.5, 3.5)
$randomMiss=Round($randomMiss, 0)
If $randomMiss = 1 Then
MouseMove($1stMisX, $1stMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
ElseIf $randomMiss = 2 Then
MouseMove($2ndMisX, $2ndMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
ElseIf $randomMiss = 3 Then
MouseMove($3rdMisX, $3rdMisY)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
EndIf
; Send ESC to close all windows
Sleep(200)
Send("{ESC}")
; Open Storage Bay 1
MouseMove($OpenSB1X, $OpenSB1Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(1000)
$2ndStorageBayStatus = GuiCtrlRead($2ndStorageBay) ; Read the status for CheckBox3
; Select Storage Bay 2 - Needs Checkbox Logic - Or when Bay 1 is full***
If ($2ndStorageBayStatus) = ("1") Then
Sleep(1000)
MouseMove($OpenSB2X, $OpenSB2Y)
Sleep(1000)
MouseClick("LEFT")
Sleep(1000)
EndIf
; Put Items in Line 1 bags into Storage Bay 1
MouseMove($BS1X, $BS1Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS2X, $BS2Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS3X, $BS3Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS4X, $BS4Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS5X, $BS5Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS6X, $BS6Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS7X, $BS7Y)
Sleep(200)
MouseClick("RIGHT")
Sleep(200)
MouseMove($BS8X, $BS8Y)
Sleep(200)
MouseClick("RIGHT")
; Send ESC to close all windows - reseting to run through the loop again.
Sleep(200)
Send("{ESC}")
Sleep("10000")
WEnd
Case $msg = $stopbutton
ExitProg()
Case $msg = $GUI_EVENT_CLOSE
ExitProg()
EndSelect
WEnd
Enjoy - and please give some feedback or suggestions on things to add change or do better - I R a Noob to this style of coding., but I am eager to learn MOAARR.