baphomet Posted January 23, 2005 Share Posted January 23, 2005 First time post I am trying to write a bot that will Target a pixel Double check within a small range from the first pixel Check a health bar etc Its suppose to loop, but it doesnt seem to. My error log seems to show its stops at veiw change or if it finds a target before the health check. I am at this point a little over my head, this is only my 3rd day messing with autoit and I am a little stuck. Any one see anything wrong with this code that would stop it from looping, or anything else Thanks so much guys and gals expandcollapse popup; AutoIt Version: 3.0 ; Last modified: 1/22/2005 ; Script Version: 6 ; Language: English ; Platform: Win2k ; Author: Chuck D. ; Script Function: ; AutoBloom, attack bot. SplashTextOn("AutoBloom Version 6.0", "AutoBloom bot", 200, 20, -1, -1, 0, "", 10) Sleep(3000) SplashOff() MsgBox(48,"AutoBloom Version Beta 6.0","Press PAUSE to exit the script at any time" & @CRLF & "ALT-TAB after clicking OK.") HotKeySet("{PAUSE}", "EndScript") $pixelColor = 14055713; Grunter Day $pixelColor2 = 16754291; Health $pixelColor3 = 15667200; monster health $x = 0 $y = 0 $file = FileOpen("output.txt", 1) FileWrite($file, "" & @CRLF) FileWrite($file, "SCRIPT STARTED" & @CRLF) FileWrite($file, "==============" & @CRLF) FileWrite($file, "" & @CRLF) FileClose($file) Do ;MONSTER TARGET $file = FileOpen("output.txt", 1) $mon = PixelSearch(195, 150, 850, 500, $Pixelcolor, 10) If Not @error Then FileWrite($file, "PixelCheck one Found" & @CRLF) MouseClick("left", $mon[0], $mon[1], 5) $y = $y + 1 Else FileWrite($file, "Sending f1" & @CRLF) FileWrite($file, "No target" & @CRLF) Send("{F1}") MouseMove(526, 406) $pos = MouseGetPos() FileWrite($file, "View changed" & @CRLF) MouseClickDrag("right", $pos[0], $pos[1], $pos[0] +100, $pos[1]) Sleep(2000) MouseClick("left", 511, 478, 5) EndIf Wend ;MONSTER HEALTH CHECK While $y = 1 $iX1 = $mon[0] - 100 $iY1 = $mon[1] - 100 $iX2 = $mon[0] + 100 $iY2 = $mon[1] + 100 $aiCoord3 = PIXELSEARCH ($iX1, $iY1, $iX2, $iY2, $Pixelcolor3, 5) If Not @error Then Mousemove($aiCoord3[0], $aiCoord3[1], 5) FileWrite($file, "Monster Targeted" & @CRLF) $y = $y + 1 Else MouseClick("left", 510, 528, 5) FileWrite($file, "PixelCheck two failed" & @CRLF) $y = $y - 1 EndIf Wend ;PLAYER HEALTH CHECK While $y = 2 $mon2 = PixelSearch( 128, 35, 150, 50, $Pixelcolor2 ) If Not @error Then FileWrite($file, "Waiting 25 seconds" & @CRLF) Sleep(25000) FileWrite($file, "Sending F7" & @CRLF) Send("{F7}") FileWrite($file, "Sending f1" & @CRLF) Send("{F1}") FileWrite($file, "Health is fine" & @CRLF) $y = $y - 2 Else FileWrite($file, "Sending f5" & @CRLF) Send("{F5}") FileWrite($file, "Waiting 25 seconds" & @CRLF) Sleep(25000) FileWrite($file, "Health is low" & @CRLF) $y = $y - 2 EndIf FileClose($file) Wend Until $X = 5 Func EndScript() Exit EndFunc Link to comment Share on other sites More sharing options...
closeupman Posted January 23, 2005 Share Posted January 23, 2005 (edited) See MANUAL:Do...Until not Do..WendFirst time post I am trying to write a bot that will Target a pixelDouble check within a small range from the first pixelCheck a health baretcIts suppose to loop, but it doesnt seem to.My error log seems to show its stops at veiw changeor if it finds a target before the health check.I am at this point a little over my head, this is only my 3rd day messing with autoit and I am a little stuck.Any one see anything wrong with this code that would stop it from looping, or anything else Thanks so much guys and galsDo ;MONSTER TARGET $file = FileOpen("output.txt", 1) $mon = PixelSearch(195, 150, 850, 500, $Pixelcolor, 10) If Not @error Then FileWrite($file, "PixelCheck one Found" & @CRLF) MouseClick("left", $mon[0], $mon[1], 5) $y = $y + 1 Else FileWrite($file, "Sending f1" & @CRLF) FileWrite($file, "No target" & @CRLF) Send("{F1}") MouseMove(526, 406) $pos = MouseGetPos() FileWrite($file, "View changed" & @CRLF) MouseClickDrag("right", $pos[0], $pos[1], $pos[0] +100, $pos[1]) Sleep(2000) MouseClick("left", 511, 478, 5) EndIf Wend<{POST_SNAPBACK}> Edited January 23, 2005 by closeupman Link to comment Share on other sites More sharing options...
baphomet Posted January 23, 2005 Author Share Posted January 23, 2005 (edited) See MANUAL:Do...Until not Do..Wend<{POST_SNAPBACK}>Sorry no I mistakenly missed a line when copying to here.I have While $y = 0expandcollapse popup; AutoIt Version: 3.0 ; Last modified: 1/22/2005 ; Script Version: 6 ; Language: English ; Platform: Win2k ; Author: Chuck D. ; Script Function: ; AutoBloom, Rose online attack bot. SplashTextOn("AutoBloom Version 6.0", "AutoBloom bot for Rose Online", 200, 20, -1, -1, 0, "", 10) Sleep(3000) SplashOff() MsgBox(48,"AutoBloom Version Beta 6.0","Press PAUSE to exit the script at any time" & @CRLF & "ALT-TAB into Rose Online after clicking OK.") HotKeySet("{PAUSE}", "EndScript") $pixelColor = 14055713; Grunter Day $pixelColor2 = 16754291; Health $pixelColor3 = 15667200; monster health ;$pixelColor = 7046854; Grunter Night ;$pixelColor = 10252610; mine moldy ;$pixelColor = 16249715; moldy $x = 0 $y = 0 $file = FileOpen("output.txt", 1) FileWrite($file, "" & @CRLF) FileWrite($file, "SCRIPT STARTED" & @CRLF) FileWrite($file, "==============" & @CRLF) FileWrite($file, "" & @CRLF) FileClose($file) Do ;MONSTER TARGET While $y = 0 $file = FileOpen("output.txt", 1) $mon = PixelSearch(195, 150, 850, 500, $Pixelcolor, 10) If Not @error Then FileWrite($file, "PixelCheck one Found" & @CRLF) MouseClick("left", $mon[0], $mon[1], 5) $y = $y + 1 Else FileWrite($file, "Sending f1" & @CRLF) FileWrite($file, "No target" & @CRLF) Send("{F1}") MouseMove(526, 406) $pos = MouseGetPos() FileWrite($file, "View changed" & @CRLF) MouseClickDrag("right", $pos[0], $pos[1], $pos[0] +100, $pos[1]) MouseClick("left", 511, 478, 5) EndIf Wend ;MONSTER HEALTH CHECK While $y = 1 $iX1 = $mon[0] - 100 $iY1 = $mon[1] - 100 $iX2 = $mon[0] + 100 $iY2 = $mon[1] + 100 $aiCoord3 = PIXELSEARCH ($iX1, $iY1, $iX2, $iY2, $Pixelcolor3, 5) If Not @error Then Mousemove($aiCoord3[0], $aiCoord3[1], 5) FileWrite($file, "Monster Targeted" & @CRLF) $y = $y + 1 Else MouseMove(526, 406) $pos = MouseGetPos() FileWrite($file, "View changed" & @CRLF) MouseClickDrag("right", $pos[0], $pos[1], $pos[0] +100, $pos[1]) MouseClick("left", 511, 478, 5) FileWrite($file, "PixelCheck two failed" & @CRLF) $y = $y - 1 EndIf Wend ;PLAYER HEALTH CHECK While $y = 2 $mon2 = PixelSearch( 128, 35, 150, 50, $Pixelcolor2 ) If Not @error Then FileWrite($file, "Waiting 25 seconds" & @CRLF) Sleep(25000) FileWrite($file, "Sending F7" & @CRLF) Send("{F7}") FileWrite($file, "Sending f1" & @CRLF) Send("{F1}") FileWrite($file, "Health is fine" & @CRLF) $y = $y - 2 Else FileWrite($file, "Sending f5" & @CRLF) Send("{F5}") FileWrite($file, "Waiting 25 seconds" & @CRLF) Sleep(25000) FileWrite($file, "Health is low" & @CRLF) $y = $y - 2 EndIf Wend Until $x = 1 Func EndScript() Exit EndFunc Edited January 23, 2005 by baphomet Link to comment Share on other sites More sharing options...
Wolvereness Posted January 23, 2005 Share Posted January 23, 2005 Get scite and load your scripts into the tidy program... Helps when reading and writing. Offering any help to anyone (to my capabilities of course)Want to say thanks? Click here! [quote name='Albert Einstein']Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.[/quote][quote name='Wolvereness' date='7:35PM Central, Jan 11, 2005']I'm NEVER wrong, I call it something else[/quote] Link to comment Share on other sites More sharing options...
baphomet Posted January 23, 2005 Author Share Posted January 23, 2005 (edited) Get scite and load your scripts into the tidy program... Helps when reading and writing.<{POST_SNAPBACK}>With tidy, the problem seems to be in my first pixel search, if I set it to say 0 - the numbers it will loop through the drag but these numbers it will just wait. (The commented line in monster target shows what will allow it to loop.)expandcollapse popup; <AUT2EXE VERSION: 3.0.102.0> ; ---------------------------------------------------------------------------- ; <AUT2EXE INCLUDE-START: C:\-=FTP=-\-=UPLOADS=-\AutoBloom\Source\AutoBloom3.txt> ; ---------------------------------------------------------------------------- ; AutoIt Version: 3.0 ; Last modified: 1/22/2005 ; Script Version: 6 ; Language: English ; Platform: Win2k ; Author: Chuck D. ; Script Function: ; AutoBloom, Rose online attack bot. SplashTextOn("AutoBloom Version 6.0", "AutoBloom bot for Rose Online", 200, 20, -1, -1, 0, "", 10) Sleep(3000) SplashOff() MsgBox(48, "AutoBloom Version Beta 6.0", "Press PAUSE to exit the script at any time" & @CRLF & "ALT-TAB into Rose Online after clicking OK.") HotKeySet("{PAUSE}", "EndScript") $pixelColor = 14055713; Grunter Day $pixelColor2 = 16754291; Health $pixelColor3 = 15667200; monster health $x = 0 $y = 0 $file = FileOpen("output.txt", 1) FileWrite($file, "" & @CRLF) FileWrite($file, "SCRIPT STARTED" & @CRLF) FileWrite($file, "==============" & @CRLF) FileWrite($file, "" & @CRLF) FileClose($file) Do ;MONSTER TARGET Sleep(2000) While $y = 0 $file = FileOpen("output.txt", 1) $mon = PixelSearch(200, 150, 850, 500, $pixelColor, 10) ; $mon = PixelSearch(0-200, 0- 150, 0-850, 0-500, $pixelColor, 10) If Not @error Then FileWrite($file, "PixelCheck one Found" & @CRLF) MouseClick("left", $mon[0], $mon[1], 5) $y = $y + 1 Else FileWrite($file, "Sending f1" & @CRLF) FileWrite($file, "No target" & @CRLF) Send("{F1}") MouseMove(526, 406) $pos = MouseGetPos() FileWrite($file, "View changed" & @CRLF) MouseClickDrag("right", $pos[0], $pos[1], $pos[0] + 100, $pos[1]) MouseClick("left", 511, 478, 5) Sleep(5000) EndIf Wend ;MONSTER HEALTH CHECK While $y = 1 $iX1 = $mon[0] - 100 $iY1 = $mon[1] - 100 $iX2 = $mon[0] + 100 $iY2 = $mon[1] + 100 $aiCoord3 = PixelSearch($iX1, $iY1, $iX2, $iY2, $pixelColor3, 5) If Not @error Then MouseMove($aiCoord3[0], $aiCoord3[1], 5) FileWrite($file, "Monster Targeted" & @CRLF) $y = $y + 1 Else MouseMove(526, 406) $pos = MouseGetPos() FileWrite($file, "View changed" & @CRLF) MouseClickDrag("right", $pos[0], $pos[1], $pos[0] + 100, $pos[1]) MouseClick("left", 511, 478, 5) FileWrite($file, "PixelCheck two failed" & @CRLF) $y = $y - 1 EndIf Wend ;PLAYER HEALTH CHECK While $y = 2 $mon2 = PixelSearch(128, 35, 150, 50, $pixelColor2) If Not @error Then FileWrite($file, "Waiting 25 seconds" & @CRLF) Sleep(25000) FileWrite($file, "Sending F7" & @CRLF) Send("{F7}") FileWrite($file, "Sending f1" & @CRLF) Send("{F1}") FileWrite($file, "Health is fine" & @CRLF) $y = $y - 2 Else FileWrite($file, "Sending f5" & @CRLF) Send("{F5}") FileWrite($file, "Waiting 25 seconds" & @CRLF) Sleep(25000) FileWrite($file, "Health is low" & @CRLF) $y = $y - 2 EndIf Wend Until $x = 1 Func EndScript() Exit EndFunc ;==>EndScript ; ---------------------------------------------------------------------------- ; <AUT2EXE INCLUDE-END: C:\-=FTP=-\-=UPLOADS=-\AutoBloom\Source\AutoBloom3.txt> ; ---------------------------------------------------------------------------- Edited January 23, 2005 by baphomet Link to comment Share on other sites More sharing options...
baphomet Posted January 23, 2005 Author Share Posted January 23, 2005 Hmm the problem seems to be when the game is on full screen, the script doesnt loop, if I run it in window mode, it works fine? Link to comment Share on other sites More sharing options...
baphomet Posted January 24, 2005 Author Share Posted January 24, 2005 I changed the script up a little, it seems to stop looping at the second pixelsearch in monster target. This is what my log shows it does: SCRIPT STARTED ============== ;MONSTER TARGET ;error check is at 1 MONSTER TARGET: Else: Monster target check 1 failed MONSTER TARGET: Else: Sending f1 MONSTER TARGET: Else: Wating 5 seconds until next action MONSTER TARGET: Else: Camera rotated MONSTER TARGET: Else: Moved a few steps MONSTER TARGET: Else: Y is now at 0 ;MONSTER TARGET Here is the new code, any insite to why the script stops looping would be great this has me at a standstill. expandcollapse popup<AUT2EXE VERSION: 3.0.102.0> ; ---------------------------------------------------------------------------- ; <AUT2EXE INCLUDE-START: C:\-=FTP=-\-=UPLOADS=-\AutoBloom\Source\AutoBloom3.txt> ; ---------------------------------------------------------------------------- ; AutoIt Version: 3.0 ; Last modified: 1/22/2005 ; Script Version: 6 ; Language: English ; Platform: Win2k ; Author: Chuck D. ; Script Function: ; AutoBloom, Rose online attack bot. SplashTextOn("AutoBloom Version 6.0", "AutoBloom bot for Rose Online", 200, 20, -1, -1, 0, "", 10) Sleep(3000) SplashOff() MsgBox(48, "AutoBloom Version Beta 6.0", "Press PAUSE to exit the script at any time" & @CRLF & "ALT-TAB into Rose Online after clicking OK.") HotKeySet("{PAUSE}", "EndScript") WinActivate("ROSE online") Sleep(2000) $pixelColor = 14582305; Grunter Color: Day $pixelColor2 = 16736553; Player Health $pixelColor3 = 15674401; Monster Health $attacksleep = 3000 ; DEBUG FILE - File must be created in exe directory $file = FileOpen("output.txt", 1) FileWrite($file, "" & @CRLF) FileWrite($file, "SCRIPT STARTED" & @CRLF) FileWrite($file, "==============" & @CRLF) FileWrite($file, "" & @CRLF) FileClose($file) $y = 0 $loop = 0 $errorcheck1 = 0 While 1 ;MONSTER TARGET While $y = 0 If Not @error Then $file = FileOpen("output.txt", 1) FileWrite($file, ";MONSTER TARGET" & @CRLF) $mon = PixelSearch(20, 130, 850, 500, $pixelColor) If Not @error Then MouseClick("left", $mon[0], $mon[1], 0) FileWrite($file, "MONSTER TARGET: Not @error: Monster target check 1 succeeded" & @CRLF) $y = $y + 1 FileWrite($file, "MONSTER TARGET: Not @error: Y is now at " & $y & @CRLF) Else $errorcheck1 = $errorcheck1 + 1 FileWrite($file, ";error check is at " & $errorcheck1 & @CRLF) FileWrite($file, "MONSTER TARGET: Else: Monster target check 1 failed" & @CRLF) Send("{F1}") FileWrite($file, "MONSTER TARGET: Else: Sending f1" & @CRLF) Sleep(5000) FileWrite($file, "MONSTER TARGET: Else: Wating 5 seconds until next action" & @CRLF) MouseMove(500, 300) $pos = MouseGetPos() MouseClickDrag("right", $pos[0], $pos[1], $pos[0] + 100, $pos[1]) FileWrite($file, "MONSTER TARGET: Else: Camera rotated" & @CRLF) MouseClick("left", 555, 444) FileWrite($file, "MONSTER TARGET: Else: Moved a few steps" & @CRLF) FileWrite($file, "MONSTER TARGET: Else: Y is now at " & $y & @CRLF) EndIf EndIf Wend ;MONSTER HEALTH CHECK While $y = 1 If Not @error Then FileWrite($file, ";MONSTER HEALTH CHECK" & @CRLF) $iX1 = $mon[0] - 50 $iY1 = $mon[1] - 50 $iX2 = $mon[0] + 50 $iY2 = $mon[1] + 50 $aiCoord3 = PixelSearch($iX1, $iY1, $iX2, $iY2, $pixelColor3) If Not @error Then MouseMove($aiCoord3[0], $aiCoord3[1], 0) FileWrite($file, "MONSTER HEALTH CHECK: Not @error: Monster target check 2 succeeded" & @CRLF) $y = $y + 1 FileWrite($file, "MONSTER HEALTH CHECK: Not @error: Y is now at " & $y & @CRLF) Else MouseMove(500, 580, 0) $pos = MouseGetPos() MouseClick("left", 500, 580, 5) FileWrite($file, "MONSTER HEALTH CHECK: Else: Monster target check 2 failed" & @CRLF) $y = $y + 1 FileWrite($file, "MONSTER HEALTH CHECK: Else: Y is now at " & $y & @CRLF) EndIf EndIf Wend ;PLAYER HEALTH CHECK While $y = 2 If Not @error Then FileWrite($file, "PLAYER HEALTH CHECK" & @CRLF) $mon2 = PixelSearch(133, 37, 178, 47, $pixelColor2) If Not @error Then FileWrite($file, "PLAYER HEALTH CHECK: Not @error: Player health is fine" & @CRLF) Sleep($attacksleep) FileWrite($file, "PLAYER HEALTH CHECK: Not @error: Waiting until next action" & @CRLF) Send("{F7}") FileWrite($file, "PLAYER HEALTH CHECK: Not @error: Sending f7" & @CRLF) Send("{F1}") FileWrite($file, "PLAYER HEALTH CHECK: Not @error: Sending f1" & @CRLF) $y = $y - 2 FileWrite($file, "PLAYER HEALTH CHECK: Not @error: Y is now at " & $y & @CRLF) Else FileWrite($file, "PLAYER HEALTH CHECK: Else: Player health is low" & @CRLF) Send("{F5}") FileWrite($file, "PLAYER HEALTH CHECK: Else: Sending f5" & @CRLF) Sleep($attacksleep) FileWrite($file, "PLAYER HEALTH CHECK: Else: Waiting until next action" & @CRLF) Send("{F7}") FileWrite($file, "PLAYER HEALTH CHECK: Else: Sending f7" & @CRLF) Send("{F1}") FileWrite($file, "PLAYER HEALTH CHECK: Else: Sending f1" & @CRLF) $y = $y - 2 FileWrite($file, "PLAYER HEALTH CHECK: Else: Y is now at " & $y & @CRLF) EndIf EndIf Wend Wend Func EndScript() Exit EndFunc ;==>EndScript ; ---------------------------------------------------------------------------- ; <AUT2EXE INCLUDE-END: C:\-=FTP=-\-=UPLOADS=-\AutoBloom\Source\AutoBloom3.txt> ; ---------------------------------------------------------------------------- Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now