Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 3
Reputation: 1
Posts: 28
Join Date: Jul 2006
Xfish fishing bot -
07-30-2006
I still have this from when tier 0.5 first got introduced and thought Id share it with you guys, I cant get this new one on the forums to work properly and I did manage with this one so here it goes As a sidenote I also still have one from Psycosis which I also add
Xfish from xeonz16:
Code:
; AutoIt Version: 3.0
; Name: Xfish
; Language: English
; Platform: WinXP
; Author: xeonz16
;
; Script Function:
; WoW Xfish
; Some hints and tips...Deviate fish and Oily Blackmouth are really the only kind that sell
;in my experience...I'm only 150 fishing though. If you leave bot on all night, it will fill your
;inventory up with 2-3 stacks of 'rare' fish and zillions of stacks of common crappy ones that
;you either destroy or sell for 20c a stack. I've found if you SPIKE your inventory before
;turning the bot on you can catch a way more rare fish. However, this will take longer.
;I've guessed the bot fills up a medium-low sized inventory in about 3-4 hours. For me,
;I have to go to work for periods of about 12 hours anyway, so I spike my inventory, by
;taking a stack of 20 oily blackmouth and splitting them into 20 stacks of 1. After 12 hours
;when I get home I've got 20 stacks of oily blackmouth instead of 2-3 stacks and 20 stacks of
;cheapo fish. You can catch oily blackmouth in the water near ratchet, and deviate fish
; + deviate scales I think in the oasis's scattered around the barrens. If you are gonna
;fish the oasis you need to pick a spot VERY carefully so the wandering centaurs don't
;kill you. When you catch these, you need to sell them to PLAYERS, namely alchemists...they won't
;get you crap from merchants.
;COMMON TROUBLESHOOTING--
;for troubleshooting the first thing you should do is set $splash to 1
; remember to turn it back to zero after you have the bot working...as leaving it on
;will limit the bot's lifespan to about 3-4 hours.
;this allows you to see which stage of the script the bot is in then
;if the mouse moves to a wrong location, then lower $colorvariance
;if the mouse doesn't move and the bot gets hung up on 'searching for feather' raise $colorvariance
;if the mouse moves to the feather, and then the bot says 'FISH!' without a splash, lower $splashvariance
; the bobber splashes and the bot does not do anything, raise $splashvariance
;move the variances in increments of 5 for best result...
;SLIGHTLY MORE ADVANCED TROUBLESHOOTING--
;for trouble FINDING THE BOBBER--
;notice there are several definitions of $feather commented out
;comment out the current one and use another, and then retry adjusting variances
;for trouble WITH SPLASHES--
;there are two pixelsearchs for splash, one uses $day and nother uses $night, you can
;remark one or the other out depending. You can also adjust the $s_offset. This determines
;how many pixels in each direction from the feather the bot 'searches' for the splash.
;if you tighten this down you will have less missfires.
;if you are getting lots of 'moonglare' you might have to move to another side of the lake
;too much moonglare will cause missfires, changing your location might be the only solution.
hotkeyset("{ESC}", "Term")
;these are the colorcodes obtained by pantless crab for different splashes
; Colour of splash -
; 0xA2A67D
; 0xC1AD7A
; 0xD0C08D
;this is the box definitions that decide how large of an area to scan for the feather
$left = 90
$top = 110
$right = 748
$bottom = 350
;these are various variables for the operation of fish bot
$day = 0xF6F6F6 ;splash color day
;$night = 0xEEEEEE ;splash color night
$feather = 0x31314E ;day --blue feather
;$feather = 0x1A130F ;night --dark dark red
;$feather = 0x501C0D ;day --bright red
;$feather = 0xC54819 ;night --bright red
$colourVariance =30 ;range of accepted values differing from original code for feather
$splashVariance =15 ;range of accepted values differing from original code for splash
$step =2 ;1 = search every pixel, 2 = search every other pixel...etc don't put higher then like 5
$s_offset =25 ;search offset, basically how large an area to search around the feather for splash
$splash =0 ;set this to 1 to view GUI messages, so you can tell where the bot gets hung up
;but turn it to zero once the bot is working, and the bot will 'last' for DAYS
;as compared to maybe 4-5 hours with GUI on.
$width = 100 ; width of GUI box
$height = 60 ; Height of GUI box--note these two are changed periodically through the script
dim $feather_cord, $time, $sp ;various definitions
while 1 ;main loop
sleep(1000)
WinActivate("World of Warcraft")
send("0")
sleep(4000)
$start2 = Timerinit() ;start timer
;this loop searches for feather
while 1
$dif = TimerDiff($start2)
if $dif > 35000 then ;if timer > then 35 seconds then restart bot IE can't find feather
exitloop
endif
sleep(1000)
$message = "Searching for feather..."
$height = 60
update_splash()
;find where the feather is located
$feather_cord = PixelSearch ($left, $top, $right, $bottom, $feather, $colourVariance, $step)
if NOT @error = 1 then
seterror(2) ;resets @error macro so it doesn't fire next loop
$message = "Found Something."
update_splash()
;setting arrayed cords to variables to allow easier manipulation
$featherx = $feather_cord[0]
$feathery = $feather_cord[1]
mousemove($featherx, $feathery) ;move mouse to feather
exitloop
endif
WEnd
$start = Timerinit()
;this loop waits for the splash once feather is found
While 1
sleep(400)
$message = "Waiting for bite..."
$height = 100
update_splash()
;calc area of probable splash
$s_left = ($featherx - $s_offset)
$s_top = ($feathery - $s_offset)
$s_right = ($featherx + $s_offset)
$s_bottom = ($feathery + $s_offset)
;these switch between day and night splash...I've been just commenting one of them out
$sp = Pixelsearch($s_left, $s_top, $s_right, $s_bottom, $day, $splashvariance)
;$sp = Pixelsearch($s_left, $s_top, $s_right, $s_bottom, $night, $splashvariance)
$dif = TimerDiff($start)
if $dif > 35000 then ;resets bot if no bite within 35 seconds
exitloop
endif
if ubound($sp) > 1 then ;if $sp returns cords then shift + rightclick, discards $sp cords
seterror(2)
$message = "Fish!"
$height = 60
update_splash()
send("{shiftdown}")
sleep(100)
mouseclick("right", $featherx, $feathery, 1, 1)
sleep(300)
send("{shiftup}")
exitloop
endif
WEnd
WEnd
;this func just updates splash message if the variable $splash is set to '1' in the beginning
func update_splash ()
if $splash = 1 then
SplashTextOn( "", $message , $width , $height ,1 ,1 , 17)
endif
endfunc
func Term ()
exit
endfunc
Fishbot from Psycosis:
Code:
;#########################################################################
; FishBOT by Psycosis taken from Foobie who adapted Pantless Krab's
;
; Version 1.4.8
;
; Note - By using the Fishing bot designed for World of Warcraft
; You understand the risks and agree that you will take all
; responsibility for this code. THe creater takes no responsibility
; for whatever happens to users who use and/or modify this code
;#########################################################################
;###########
; Globals
;###########
$title = "WoW FishBOT"
$win_title = "World of Warcraft"
; Sets up the Borders to fish in
$top_border_height = 23
$left_border_width = 4
; Sets up the Screen resolution $ make shure its in windowed mode
$screen_width = 800
$screen_height = 600
; Just a simple Timer
$time_to_wait = 30000
dim $start_time
;#########################################################################
; Hot Keys Section
;
; Set up a Hot key to be used later to end the script
;#########################################################################
HotKeySet("{PAUSE}", "request_end")
;#########################################################################
; Fish Bot View Paremeters
;
; Sets up the boundaries of the fishbot on the screen and returns
; some visual confirmation by moving the mouse in a square showing
; where the bot will be searching for the fishing bobber
;#########################################################################
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
Start_Bot()
;###########################
; Visual confirmation
; Area scanned for bobber
;###########################
MouseMove($left, $top, 2)
MouseMove($right, $top, 2)
MouseMove($right, $bottom, 2)
MouseMove($left, $bottom, 2)
cast_pole()
find_float()
;#########################################################################
;
; Function find_float
;
; Once bobber has been cast the bobber needs to be found via colors
; The most prominent color is the red so by default that is enabled
; More colors have been defined and you may switch them if you want
; The only reason to switch them is when fishing in Stormwind or at
; night when colors are all very diffrent.
;#########################################################################
func find_float()
;#####################
; Color Definitions
;#####################
$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
$color_wc = 0x210B04
;#########################################################
; 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_wc
;##################################################################
; 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 = 20
;########################################################################
; 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
;############################################################################
; Find that White Splash
;
; Basicly once you find the bobber you have to find the splash
; this function creates a smaller box around the bobber and watches
; for the white splash of the bobber. Once it finds the splash it
; calls for the function to right click and loot.
;############################################################################
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 = 20
;############################################################
; 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}")
MouseClick("right");, $pos[0], $pos[1], 1, 2)
send("{ShiftUP}")
Sleep(5500)
ExitLoop
endif
Sleep(10)
wend
;######################################
; Cast pole and start all over again.
;######################################
cast_pole()
endfunc
; ##############################################################################
func cast_pole()
$start_time = TimerInit()
Send("1")
Sleep(1000)
endfunc
; ##############################################################################
func check_window()
$dimensions = WinGetClientSize($win_title, "")
if $dimensions[0] <> $screen_width or $dimensions[1] <> $screen_height then
msg("Invalid window size. You must use " & $screen_width & "x" & $screen_height & " resolution in window 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 Start_Bot()
$MB_YESNO = 4
$MB_YES = 6
if MsgBox($MB_YESNO, $title, "Do you want to start the Bot?") == $MB_Yes then
else
Exit
endif
endfunc
; ##########################################################
func drain_timer()
Msg("Restart")
$start_time = $start_time - $time_to_wait
endfunc
; ##########################################################
Wow, those are nice. My only concern is wether the warden can detect them, because you could get banned if the window title was "XFishing Bot WoW H4X0RZ". The warden can also do something called "Hashing" your bar, and although I'm not sure exactly what it can do but apparently it can detect autoit scripts.
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 3
Reputation: 1
Posts: 28
Join Date: Jul 2006
07-30-2006
Quote:
Originally Posted by Sym
Wow, those are nice. My only concern is wether the warden can detect them, because you could get banned if the window title was "XFishing Bot WoW H4X0RZ". The warden can also do something called "Hashing" your bar, and although I'm not sure exactly what it can do but apparently it can detect autoit scripts.
I'm not sure if its detectable, Ive used it for quite some while though with even 5+ hour sessions without any problems. Its a script you run and I guess its named autoit and not Xfishing bot wow....? The script says : Autoit : fish.au3 (name I saved the file as). It just requires some manually tweaking which is kinda easy since all settings are explained
I'm not sure if its detectable, Ive used it for quite some while though with even 5+ hour sessions without any problems. Its a script you run and I guess its named autoit and not Xfishing bot wow....?
That works, that way the warden can't detect it by window title. But the warden can run a hash check on all your open programs, and unless you made a few significant changes in the coding it would still have the same hash regardless of the window title, which could get you instant banned. I am pretty sure the warden will only run a hash check on you if a human prompts it.
Also note the "Hash" thing is just what I've heard. I'm not 100% sure so don't hold me to it.
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 3
Reputation: 1
Posts: 28
Join Date: Jul 2006
07-31-2006
You need to setup some stuff on your own, I usually fish at steamwheedle port and the xfish bot works for me there after playing with the settings:
$colourVariance =30 ;range of accepted values differing from original code for feather
$splashVariance =15 ;range of accepted values differing from original code for splash
With these settings you most likely need to play with increase/decrease with increments of 5 works good for me.