alwaysSmurfd Posted October 19, 2005 Share 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 ; **************************************************************************************************** **** Link to comment Share on other sites More sharing options...
wowbotmaker Posted November 4, 2005 Share Posted November 4, 2005 does this bot work? so basically u maybe got disconnected cuz a gm did it maybe they detected ur bot 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