alwaysSmurfd Posted October 19, 2005 Posted October 19, 2005 Hi all, Im a bit of a noobist scripting - but I've been having a bit of a problem lately of getting disconnected while running my fishbot on WoW. I've been thinking that the PixelCheckSum would be the way to go - if the color of that area changes, it means the character has been disconnected. ;*************************************************************************************************** ***** ; See if the mana bar still exists ; Get initial checksum $checksum = PixelChecksum(100,80,110,80) ; Check the region every 30000 ms to make sure character hasn't been logged off While $checksum = PixelChecksum(100,80,110,80) Sleep(30000) WEnd login() ;*************************************************************************************************** *** func login() Send("{ENTER}") Send("UserName") Send("{TAB}") Send("Password") Send("{ENTER}") sleep(10000) Send("{ENTER}") sleep(20000) endfunc I've been having a bit of trouble incorporating the PixelCheckSum into the script though.. any help? expandcollapse popup; <AUT2EXE VERSION: 3.1.0.4> ; ---------------------------------------------------------------------------- ; <AUT2EXE INCLUDE-START: C:\Documents and Settings\Home\My Documents\fishing.au3> ; ---------------------------------------------------------------------------- ; **************************************************************************************************** **** ; FishBOT by Foobie - adapted from Pantless Krab's example ; Globals $title = "WoW FishBOT" $win_title = "World of Warcraft" $top_border_height = 23 $left_border_width = 4 $screen_width = 1024 $screen_height = 768 $time_to_wait = 30050 dim $start_time ; **************************************************************************************************** **** ; Hot Keys HotKeySet("{PAUSE}", "request_end") ; **************************************************************************************************** **** if not WinExists($win_title, "") then msg($win_title & " window must be open.") Exit endif WinActivate($win_title, "") WinSetOnTop($win_title, "", 0) Sleep(500) check_window() $win_pos = WinGetPos($win_title, "") $win_x = $win_pos[0] + $left_border_width $win_y = $win_pos[1] + $top_border_height $top = $win_y + (.25 * $screen_height) $bottom = $top + (.35 * $screen_height) - 1 $left = $win_x + (.15 * $screen_width) $right = $left + $screen_width - (.15 * 2.0 * $screen_width) - 1 ; Show a visual confirmation by making the mouse draw the area on the screen ; that will be used to scan for the bobber. MouseMove($left, $top, 2) MouseMove($right, $top, 2) MouseMove($right, $bottom, 2) MouseMove($left, $bottom, 2) cast_pole() find_float() ; **************************************************************************************************** **** func find_float() $color_dark_purple = 0x463B4D $color_dark_blue = 0x283A64 $color_red = 0xA72C0B $color_stormwind_daylight_blue = 0x2B3254 $color_stormwind_daylight_red = 0x6B1F0C $color_beige = 0xBB9B3D $color_night_blue = 0x0B1931 ; this is the color used to pixelsearch for the bobber. change the color to a good color ; on the bobber that is prominent on the screen $color_to_use = $color_red ; this is the search tolerance. In areas where the bobber colors really stand out, you can ; use a fairly high threshold. In areas where the bobber colors are fairly muted in with ; the background, you will have to lower the values considerably. $bobber_search_tolerance = 30 ; it's better to use lower values here in favor of accurate searching. This will take more ; time for it to detect the bobber, but usually the splash doesn't occur until at least 30% ; of the time has run out, and by that time, it should have detected the bobber (assuming the ; color values and tolerance are correct). $bobber_search_step = 2 ; Search for float. In certain lighting, the part of the float may look more purple than ; blue. In this case, using $color_red tends to work the best with a tolerance of 20. while 1 if TimerDiff($start_time) >= $time_to_wait then cast_pole() endif $pos = PixelSearch($left, $top, $right, $bottom, $color_to_use, $bobber_search_tolerance, $bobber_search_step) if @error then SetError(0) else MouseMove($pos[0], $pos[1], 2) find_splash($pos[0], $pos[1] ) endif Sleep(10) wend endfunc ; **************************************************************************************************** **** func find_splash($float_x, $float_y) $search_left = $float_x - 32 $search_right = $search_left + 52 $search_top = $float_y - 32 $search_bottom = $search_top + 64 ; Usually you do not have to modify the search color for the splash, as the pixels ; have a very distinctive, bright color. $splash_color = 0xF6F6F6 ; Sometimes 30 tolerance works well, sometimes 20 is better in lit areas to avoid catching highlights ; in other things. $splash_tolerance = 24 ; The search step can be pretty small here (1 to 3) without worries because the search area is ; so small once it has been narrowed down - speed isn't much of an issue. $splash_search_step = 2 ; Search for splash while TimerDiff($start_time) < $time_to_wait $pos = PixelSearch($search_left, $search_top, $search_right, $search_bottom, $splash_color, $splash_tolerance, $splash_search_step) if @error then SetError(0) else ; Click on the splash Send("{SHIFTDOWN}") Sleep(100) MouseClick("right", $pos[0], $pos[1], 1, 2) Sleep(100) Send("{SHIFTUP}") Sleep(5000) ExitLoop endif Sleep(10) wend ; Cast pole and start all over again. cast_pole() endfunc ; **************************************************************************************************** **** func cast_pole() $start_time = TimerInit() Send("1") Sleep(3000) endfunc ; **************************************************************************************************** **** func check_window() $dimensions = WinGetClientSize($win_title, "") if $dimensions[0] <> $screen_width or $dimensions[1] <> $screen_height then msg("Idiot! Wrong window size. You must use " & $screen_width & "x" & $screen_height & " resolution in full screen mode.") Exit endif endfunc ; **************************************************************************************************** **** func msg($text) MsgBox(0, $title, $text) endfunc ; **************************************************************************************************** **** func msg_array($title, $array, $num_elements) dim $text $text = $array[0] for $j = 1 to $num_elements - 1 $text = $text & ", " & $array[$j] next MsgBox(0, $title, $text) endfunc ; **************************************************************************************************** **** func request_end() $MB_YESNO = 4 $MB_YES = 6 if MsgBox($MB_YESNO, $title, "End script?") == $MB_YES then Exit endif endfunc ; **************************************************************************************************** **** func drain_timer() Msg("Restart") $start_time = $start_time - $time_to_wait endfunc ; **************************************************************************************************** ****
wowbotmaker Posted November 4, 2005 Posted November 4, 2005 does this bot work? so basically u maybe got disconnected cuz a gm did it maybe they detected ur bot
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