Code:
Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("WinDetectHiddenText", 1)
Opt("MouseCoordMode", 0)
HotKeySet("{DEL}", "Terminate")
HotKeySet("{PGUP}", "selectmob")
HotKeySet("{PGDN}", "pause")
$1 = IniRead("Data.ini", "Radios", "AR1", 1)
$2 = IniRead("Data.ini", "Radios", "AR2", 4)
$3 = IniRead("Data.ini", "Radios", "AR#", 4)
$4 = IniRead("Data.ini", "Radios", "UB1", 1)
$5 = IniRead("Data.ini", "Radios", "UB2", 4)
$6 = IniRead("Data.ini", "Radios", "UB3", 4)
$7 = IniRead("Data.ini", "Radios", "GL1", 1)
$8 = IniRead("Data.ini", "Radios", "GL2", 4)
$9 = IniRead("Data.ini", "Radios", "GL3", 4)
$10 = IniRead("Data.ini", "Radios", "GL4", 4)
#Region ### START Koda GUI section ### Form=C:\Documents and Settings\Husain\Desktop\Chibot\Form1.kxf
$FORM1 = GUICreate("Chibot v0.3", 243, 282, 193, 124)
$BUTTON1 = GUICtrlCreateButton("Start [PGUP]", 75, 240, 91, 33)
$BUTTON2 = GUICtrlCreateButton("Close [DEL]", 75, 240, 91, 33)
$GROUP1 = GUICtrlCreateGroup("Auto-Rise each level", 8, 8, 121, 97)
$RADIO1 = GUICtrlCreateRadio("STR", 16, 32, 41, 17)
$RADIO2 = GUICtrlCreateRadio("INT", 16, 56, 57, 17)
$RADIO3 = GUICtrlCreateRadio("Rise none", 16, 80, 113, 17)
$GROUP4 = GUICtrlCreateGroup("Use Berserk", 136, 8, 97, 97)
$RADIO4 = GUICtrlCreateRadio("When full", 144, 32, 73, 17)
$RADIO5 = GUICtrlCreateRadio("On giant only", 144, 56, 113, 17)
$RADIO6 = GUICtrlCreateRadio("Never", 144, 80, 113, 17)
$GROUP3 = GUICtrlCreateGroup("Item grab", 8, 112, 225, 121)
$RADIO7 = GUICtrlCreateRadio("All items", 16, 136, 113, 17)
$RADIO8 = GUICtrlCreateRadio("All items except Arrows", 16, 160, 137, 17)
$RADIO9 = GUICtrlCreateRadio("All items except Arrows + Alchemy", 16, 184, 185, 17)
$RADIO10 = GUICtrlCreateRadio("Take nothing", 16, 208, 145, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetState($BUTTON2, $GUI_HIDE)
GUICtrlSetState($RADIO1, $1)
GUICtrlSetState($RADIO2, $2)
GUICtrlSetState($RADIO3, $3)
GUICtrlSetState($RADIO4, $4)
GUICtrlSetState($RADIO5, $5)
GUICtrlSetState($RADIO6, $6)
GUICtrlSetState($RADIO7, $7)
GUICtrlSetState($RADIO8, $8)
GUICtrlSetState($RADIO9, $9)
GUICtrlSetState($RADIO10, $10)
While 1
$NMSG = GUIGetMsg()
Switch $NMSG
Case $GUI_EVENT_CLOSE
$D1 = GUICtrlRead($RADIO1)
$D2 = GUICtrlRead($RADIO2)
$D3 = GUICtrlRead($RADIO3)
$D4 = GUICtrlRead($RADIO4)
$D5 = GUICtrlRead($RADIO5)
$D6 = GUICtrlRead($RADIO6)
$D7 = GUICtrlRead($RADIO7)
$D8 = GUICtrlRead($RADIO8)
$D9 = GUICtrlRead($RADIO9)
$D10 = GUICtrlRead($RADIO10)
IniWrite("Data.ini", "Radios", "AR1", $D1)
IniWrite("Data.ini", "Radios", "AR2", $D2)
IniWrite("Data.ini", "Radios", "AR3", $D3)
IniWrite("Data.ini", "Radios", "UB1", $D4)
IniWrite("Data.ini", "Radios", "UB2", $D5)
IniWrite("Data.ini", "Radios", "UB3", $D6)
IniWrite("Data.ini", "Radios", "GL1", $D7)
IniWrite("Data.ini", "Radios", "GL2", $D8)
IniWrite("Data.ini", "Radios", "GL3", $D9)
IniWrite("Data.ini", "Radios", "GL4", $D10)
Exit 0
Case $BUTTON1
GUICtrlSetState($BUTTON1, $GUI_HIDE)
GUICtrlSetState($BUTTON2, $GUI_SHOW)
If WinExists("SRO_Client") = 0 Then
ToolTip(" Waiting for EcSro to be launched")
Else
EndIf
WinWait("SRO_Client", "")
If Not WinActive("SRO_Client", "") Then WinActivate("SRO_Client", "")
WinWaitActive("SRO_Client", "")
WinWaitActive("SRO_Client", "")
SELECTMOB()
EndSwitch
WEnd
Func SELECTMOB()
$COORD = PixelSearch(437, 46, 500, 46, 16724273)
If Not @error Then
Call("CHECKMP")
Else
Call("RUNAROUND")
EndIf
EndFunc
Func RUNAROUND()
Send("1")
Send("{UP down}")
Send("{RIGHT}")
Send("1")
Send("{RIGHT down}")
Sleep(20)
Send("{RIGHT up}")
Sleep(100)
Send("1")
Send("{RIGHT}")
Send("1")
Send("{RIGHT}")
Call("CHECKLVLUP")
EndFunc
Func CHECKMP()
$COORD = PixelSearch(140, 54, 140, 54, 5204686)
If Not @error Then
Call("CHECKHP")
Else
Call("CHECKHP")
EndIf
EndFunc
Func CHECKHP()
$COORD = PixelSearch(143, 38, 143, 38, 16727121)
If Not @error Then
Call("CHECKBUFF")
Else
Call("CHECKBUFF")
EndIf
EndFunc
Func CHECKBUFF()
$COORD = PixelSearch(620, 730, 620, 730, 0)
If Not @error Then
If BitAND(GUICtrlRead($RADIO8), $GUI_CHECKED) = $GUI_CHECKED Or BitAND(GUICtrlRead($RADIO9), $GUI_CHECKED) = $GUI_CHECKED Then
Call("checkarrows")
EndIf
Else
Call("checkbuff2")
EndIf
EndFunc
Func CHECKBUFF2()
$COORD = PixelSearch(218, 31, 218, 31, 52991)
If Not @error Then
Call("FightMob")
Else
Send("7")
Sleep(2000)
Send("6")
Sleep(2000)
If BitAND(GUICtrlRead($RADIO5), $GUI_CHECKED) = $GUI_CHECKED Then
Call("checkgiant")
EndIf
Call("FightMob")
EndIf
EndFunc
Func CHECKARROWS()
Send("i")
Sleep(200)
$PIXELSEARCH = PixelSearch(620, 340, 764, 624, 10878786)
If Not @error Then
MouseClick("Left", $PIXELSEARCH[0], $PIXELSEARCH[1])
Sleep(1000)
MouseMove(532, 350)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseMove(460, 450)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(500)
EndIf
Send("i")
Call("Checkalchemyitems")
If BitAND(GUICtrlRead($RADIO9), $GUI_CHECKED) = $GUI_CHECKED Then
Send("i")
Call("checkalchemyitems")
EndIf
If BitAND(GUICtrlRead($RADIO7), $GUI_CHECKED) = $GUI_CHECKED Then
Send("i")
Call("runaround")
EndIf
EndFunc
Func CHECKALCHEMYITEMS()
If BitAND(GUICtrlRead($RADIO9), $GUI_CHECKED) = $GUI_CHECKED Then
Send("i")
Sleep(200)
$PIXELSEARCH = PixelSearch(624, 341, 743, 594, 4872827)
If Not @error Then
MouseClick("Left", $PIXELSEARCH[0], $PIXELSEARCH[1])
Sleep(1000)
MouseMove(532, 350)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseMove(460, 450)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(600)
EndIf
$PIXELSEARCH = PixelSearch(624, 341, 743, 594, 4872827)
If Not @error Then
MouseClick("Left", $PIXELSEARCH[0], $PIXELSEARCH[1])
Sleep(1000)
MouseMove(532, 350)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseMove(460, 450)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(600)
$PIXELSEARCH = PixelSearch(624, 341, 743, 594, 4872827)
If Not @error Then
MouseClick("Left", $PIXELSEARCH[0], $PIXELSEARCH[1])
Sleep(1000)
MouseMove(532, 350)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseMove(460, 450)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(600)
EndIf
EndIf
Send("i")
Call("RUNAROUND")
EndIf
Call("RUNAROUND")
EndFunc
Func TERMINATE()
Exit 0
EndFunc
Func FIGHTMOB()
Send("{UP up}")
$COORD = PixelSearch(512, 730, 512, 730, 0)
If Not @error Then
Sleep(0)
Else
Send("4")
Sleep(1000)
EndIf
Send("{2 down}")
Sleep(800)
Send("{2 up}")
Send("3")
Send("2")
Send("3")
If BitAND(GUICtrlRead($RADIO4), $GUI_CHECKED) = $GUI_CHECKED Then
Call("activateberserk")
EndIf
Sleep(5800)
$COORD = PixelSearch(437, 44, 440, 47, 16724273, 20)
If Not @error Then
Send("3")
Send("3")
Send("3")
Sleep(1000)
$COORD = PixelSearch(437, 44, 440, 47, 16724273, 20)
If Not @error Then
Call("pickup")
Else
Sleep(1000)
EndIf
$COORD = PixelSearch(437, 44, 440, 47, 16724273, 20)
If Not @error Then
Call("pickup")
Else
Sleep(1000)
EndIf
$COORD = PixelSearch(437, 44, 440, 47, 16724273, 20)
If Not @error Then
Call("pickup")
Else
Sleep(1000)
EndIf
$COORD = PixelSearch(437, 44, 440, 47, 16724273, 20)
If Not @error Then
Call("pickup")
Else
Sleep(0)
EndIf
Else
Call("pickup")
EndIf
EndFunc
Func PICKUP()
If BitAND(GUICtrlRead($RADIO9), $GUI_CHECKED) = $GUI_CHECKED Or BitAND(GUICtrlRead($RADIO8), $GUI_CHECKED) = $GUI_CHECKED Or BitAND(GUICtrlRead($RADIO7), $GUI_CHECKED) = $GUI_CHECKED Then
Sleep(1000)
Send("g")
Sleep(1000)
Send("g")
Sleep(1000)
Send("g")
Sleep(1000)
Send("g")
Sleep(1000)
Send("g")
Call("checkarrows")
EndIf
If BitAND(GUICtrlRead($RADIO10), $GUI_CHECKED) = $GUI_CHECKED Then
Call("runaround")
EndIf
EndFunc
Func CHECKLVLUP()
$COORD = PixelSearch(162, 18, 162, 18, 16770700)
If Not @error Then
Call("INT_STR_INCREASE")
Else
Call("SELECTMOB")
EndIf
EndFunc
Func INT_STR_INCREASE()
If BitAND(GUICtrlRead($RADIO1), $GUI_CHECKED) = $GUI_CHECKED Then
Send("c")
MouseMove(677, 425)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
Send("c")
Call("INCREASESKILL")
EndIf
If BitAND(GUICtrlRead($RADIO2), $GUI_CHECKED) = $GUI_CHECKED Then
Send("c")
MouseMove(677, 454)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
Send("c")
Call("INCREASESKILL")
EndIf
If BitAND(GUICtrlRead($RADIO3), $GUI_CHECKED) = $GUI_CHECKED Then
Call("INCREASESKILL")
EndIf
EndFunc
Func INCREASESKILL()
If BitAND(GUICtrlRead($RADIO3), $GUI_CHECKED) = $GUI_CHECKED Then
Call("SELECTMOB")
Else
Send("s")
MouseMove(855, 377)
Sleep(1000)
MouseDown("left")
MouseUp("left")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
$COORD = PixelSearch(661, 441, 661, 441, 2697505, 20)
If Not @error Then
Sleep(0)
Else
MouseMove(661, 441)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseMove(470, 520)
MouseDown("left")
MouseUp("left")
Sleep(1000)
Sleep(0)
EndIf
$COORD = PixelSearch(661, 496, 661, 496, 2697505, 20)
If Not @error Then
Sleep(0)
Else
MouseMove(661, 496)
MouseDown("left")
MouseUp("left")
Sleep(1000)
MouseMove(470, 520)
MouseDown("left")
MouseUp("left")
Sleep(1000)
EndIf
Send("s")
Call("SELECTMOB")
EndIf
EndFunc
Func PAUSE()
Sleep(100000000)
Sleep(100000000)
Sleep(100000000)
Sleep(100000000)
Sleep(100000000)
Sleep(100000000)
Sleep(100000000)
EndFunc
Func ACTIVATEBERSERK()
Send("{TAB}")
Call("SELECTMOB")
EndFunc
Func CHECKGIANT()
$COORD = PixelSearch(495, 66, 496, 66, 25591, 20)
If Not @error Then
Send("{TAB}")
Else
Sleep(0)
EndIf
Call("FightMob")
EndFunc