Fishing Bot (World of Warcraft hunters)
Features
- Bobber scanning has test results of 95%+ accuracy with great speed
- Fish scanning has test results of 70%+ accuracy
- Easy-to-change constants for tweaking
- Supports any resolution (yes, even non-standard ones like really stretched out)
- Supports CosmosUI
- Dynamic RGB color finding (works in practically any light)
- AFK-Away
Use
1. Copy/Paste the code below into AC Tool (found at http://www.actool.net
2. Run WoW in Windowed Mode
3. Put fishing skill in slot ’0′
5. Under Video Options (press Escape to bring up main menu), UNCHECK ‘Hardware Cursor’
6. Zoom into 1st person mode
7. Review constants in script, particularly ‘runCount’ to set how many times the script should run
8. Run the macro
Notes
- For best results, try turning all fancy graphics options off (especially ‘Terrain Highlights’ under Shaders.. takes all the brightness out of the water) and use a low resolution (perhaps under 800×600, the smaller the faster)
- If you are having problems finding the bobber, where the mouse simply goes over the bobber and never stops, or goes a little bit past the bobber before stopping, try increasing the ‘scanSpeed’ constant. Do this only after turning off all fancy graphics and decreasing resolution
- Please please please fish AWAY FROM CIVILIZATION. We need as little publicity as possible, thankyouverymuch.
- Try to find a spot where you are level with the water. Run the script once or twice and note the highest line where the script scans for the bobber. Then throw 15 or so casts manually and note where the highest cast goes. Try to match those two lines up, you will get much faster results.
- If the bobber is landing outside of the scan area, adject the scan area percentage constants in the macro to include the areas where the bobber lands.
- You can turn off AFK Away if you want to chat while fishing
Future
- The fish scanner isnt the best right now, will definitely need tweaking. I’ll try to get that working better in a future update.
- An inventory management system to automatically open up containers such as clams, bottles, chests, etc.
- An option to quit fishing after a set amount of time
- An option to turn on random timings between casts/clicking of the fish/etc
The Bot
// WoW Fishing Bot v1.1
// Made by QuietKnight
// Changes
// v1.1
// + Added in the option to turn off AFK Killer
// + Added in changes log
//
// v1.0
// + Initial version
// Special instructions:
// – Put your fishing skill in slot ’0′
// – Zoom into 1st person mode
// – Under Video Options, uncheck ‘Hardware Cursor’
SetActiveWindow World of Warcraft
Constants
/////////////////////////
// CHANGABLE CONSTANTS //
/////////////////////////
// Run count
// How many times the script should try to fish
runCount = 10
// Speed
// This is the initial scan speed. The lower the number, the faster the scan goes,
// and the higher the number, the slower the scan goes. If you’re having problems
// where the initial scan isnt finding the bobber and just scanning right over it,
// try increasing this number slowly.
scanSpeed = 60
// Scan box distances
// These are the distances away from the sides of the screen to scan for a lure
// These are measured as percentages of the screen in the appropriate direction
scanLeftDist = .3
scanRightDist = .3
scanTopDist = .4
scanBottomDist = .25
// Brightness range
// This is the number of RGB values over and under the ‘bright spot’ that is the
// lure to look for. Basically, if you’re getting the message ‘No fish to hook’,
// try increasing both numbers a bit, and if the bobber bobs but you dont catch
// anything, try decreasing both numbers a bit. This can change from environment
// to environment. Also, generally speaking brightRangeUp shouldnt be very high.
brightRangeDown = 50
brightRangeUp = 10
// Brightness distance
// Doesnt matter what it does, but basically, leave it alone unless you’re having
// problems actually catching the fish. If you’re having problems and you want
// to tweak it, general rule is, the higher the resolution, the higher the number,
// the but number range should only be anywhere from 2 MIN to 6 MAX. If you start
// getting too out of wack with this, you’ll never catch a fish
brightDist = 3
// AFK Away
// Set to 1 to use AFK Away (which presses Enter twice before every cast) or
// to 0 to disable AFK Away entirely. This comes in useful if you like to
// chat on WoW while fishing.
afkAway = 0
/////////////////////////////
// NON-CHANGABLE CONSTANTS //
/////////////////////////////
// Optimal scan step ratios
widthToWindowRatio = 0.056
heightToWindowRatio = 0.075
// Scanbox
scanTop = 0
scanBottom = 0
scanLeft = 0
scanRight = 0
scanStepX = 0
scanStepY = 0
scanSuccess = 0
// THE Box
boxMinX = 0
boxMaxX = 0
boxMinY = 0
boxMaxY = 0
boxCenterY = 0
boxCenterX = 0
boxScanStep = 4
boxAvgWidth = 0
boxAvgHeight = 0
// Misc vars
x = 0
y = 0
i = 0
j = 0
// Mouse vars
isMouseOrange = 0
mouseX = 0
mouseY = 0
// Lure location
lureInitLocX = 0
lureInitLocY = 0
// RGB Info
brightX = 0
brightY = 0
brightTotal = 0
brightR = 0
brightG = 0
brightB = 0
brightRMin = 0
brightRMax = 0
brightGMin = 0
brightGMax = 0
brightBMin = 0
brightBMax = 0
curTotal = 0
// Splash
splashed = 0
End
///////////////
// Main Proc //
///////////////
Delay 1000
Call CalculateScanBoxConstants
Loop $runCount
Keys 0
Delay 1000
Call FindLureInitial
Call FindBoxCenter
Compute x = $boxMaxX-10
MousePos $x, $boxCenterY
Delay $scanSpeed
Call GetRGBValue
Call WaitForSplash
If $afkAway = 1
Delay 2500
KeyDown {RETURN} 250
KeyDown {RETURN} 250
Delay 2000
Else
Delay 5000
End
End
////////////////
// Procedures //
////////////////
Procedure CalculateScanBoxConstants
Compute scanTop = {WindowTop} + Trunc( {WindowHeight} * $scanTopDist )
Compute scanBottom = ( {WindowTop} + {WindowHeight} ) – Trunc( {WindowHeight} * $scanBottomDist )
Compute scanLeft = {WindowLeft} + Trunc( {WindowWidth} * $scanLeftDist )
Compute scanRight = ( {WindowLeft} + {WindowWidth} ) – Trunc( {WindowWidth} * $scanRightDist )
Compute boxAvgWidth = Trunc( {WindowWidth} * $widthToWindowRatio )
Compute boxAvgHeight = Trunc( {WindowHeight} * $heightToWindowRatio )
Compute scanStepX = $boxAvgWidth
Compute scanStepY = Trunc( $boxAvgHeight / 2 )
End
Procedure FindLureInitial
SetConst scanSuccess = 0
Compute y = $scanTop
While $y <= $scanBottom AND $scanSuccess = 0
Compute i = {LoopNo} MOD 2
If $i = 0
Timestamp In Even
Compute x = $scanLeft
Else
Timestamp In Odd
Compute x = $scanLeft + Trunc( $boxAvgWidth / 2 )
End
While $x <= $scanRight AND $scanSuccess = 0
// Move the mouse and wait a second (wait is required!)
MousePos $x, $y
Delay $scanSpeed
Call isMouseOrange
// If the mouse is orange
If $isMouseOrange = 1
SetConst lureInitLocX = $x
SetConst lureInitLocY = $y
SetConst scanSuccess = 1
End
Compute x=$x + $scanStepX
End
Compute y=$y + $scanStepY
End
End
Procedure FindBoxCenter
// Find X min
SetConst scanSuccess = 0
Compute x = $lureInitLocX
Compute y = $lureInitLocY
While $scanSuccess = 0
// Move the mouse and wait a second (wait is required!)
MousePos $x, $y
Delay $scanSpeed
Call isMouseOrange
If $isMouseOrange = 0
SetConst boxMinX = $x
SetConst scanSuccess = 1
Else
Compute x= $x – $boxScanStep
End
End
// Find X max
SetConst scanSuccess = 0
Compute x = $lureInitLocX
Compute y = $lureInitLocY
While $scanSuccess = 0
// Move the mouse and wait a second (wait is required!)
MousePos $x, $y
Delay $scanSpeed
Call isMouseOrange
If $isMouseOrange = 0
SetConst boxMaxX = $x
SetConst scanSuccess = 1
Else
Compute x= $x + $boxScanStep
End
End
// Find Y min
SetConst scanSuccess = 0
Compute x = $lureInitLocX
Compute y = $lureInitLocY
While $scanSuccess = 0
// Move the mouse and wait a second (wait is required!)
MousePos $x, $y
Delay $scanSpeed
Call isMouseOrange
If $isMouseOrange = 0
SetConst boxMinY = $y
SetConst scanSuccess = 1
Else
Compute y= $y – $boxScanStep
End
End
// Find Y max
SetConst scanSuccess = 0
Compute x = $lureInitLocX
Compute y = $lureInitLocY
While $scanSuccess = 0
// Move the mouse and wait a second (wait is required!)
MousePos $x, $y
Delay $scanSpeed
Call isMouseOrange
If $isMouseOrange = 0
SetConst boxMaxY = $y
SetConst scanSuccess = 1
Else
Compute y= $y + $boxScanStep
End
End
Compute boxCenterX = Trunc(( $boxMinX + $boxMaxX ) / 2)
Compute boxCenterY = Trunc(( $boxMinY + $boxMaxY ) / 2)
SetConst lureInitLocX = $boxCenterX
SetConst lureInitLocY = $boxCenterY
End
Procedure GetRGBValue
SetConst $brightTotal = 0
Compute y = $boxCenterY
Compute i = $boxCenterY + Trunc( ($boxMaxY – $boxCenterY) / 3 )
While $y <= $i
Compute x = $boxMinX
While $x <= $boxCenterX
LoadRGB $x, $y
Compute curTotal = {RGBRed} + {RGBGreen} + {RGBBlue}
If $curTotal > $brightTotal
Compute brightTotal = $curTotal
SetConst brightR = {RGBRed}
SetConst brightG = {RGBGreen}
SetConst brightB = {RGBBlue}
Compute brightRMin = $brightR – $brightRangeDown
Compute brightRMax = $brightR + $brightRangeUp
Compute brightGMin = $brightG – $brightRangeDown
Compute brightGMax = $brightG + $brightRangeUp
Compute brightBMin = $brightB – $brightRangeDown
Compute brightBMax = $brightB + $brightRangeUp
SetConst brightX = $x
SetConst brightY = $y
End
Compute x=$x + 2
End
Compute y=$y + 2
End
End
Procedure WaitForSplash
SetConst $splashed = 0
Call isMouseOrange
While $splashed = 0 AND $isMouseOrange = 1
Delay 100
// Check current spot
LoadRGB $brightX, $brightY
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check top left
Compute x=$brightX-$brightDist
Compute y=$brightY-$brightDist
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check top right
Compute x=$brightX+$brightDist
Compute y=$brightY-$brightDist
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check bottom left
Compute x=$brightX-$brightDist
Compute y=$brightY+$brightDist
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check bottom right
Compute x=$brightX+$brightDist
Compute y=$brightY+$brightDist
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check top left (extended)
Compute x=$brightX-($brightDist*2)
Compute y=$brightY-($brightDist*2)
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check top right (extended)
Compute x=$brightX+($brightDist*2)
Compute y=$brightY-($brightDist*2)
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check bottom left (extended)
Compute x=$brightX-($brightDist*2)
Compute y=$brightY+($brightDist*2)
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
// Check bottom right (extended)
Compute x=$brightX+($brightDist*2)
Compute y=$brightY+($brightDist*2)
LoadRGB $x, $y
If {RGBRed} > $brightRMax OR {RGBRed} < $brightRMin OR {RGBGreen} > $brightGMax OR {RGBGreen} < $brightGMin OR {RGBBlue} > $brightBMax OR {RGBBlue} < $brightBMin
SetConst splashed = 1
RightClick Shift
Delay 500
End
End
End
End
End
End
End
End
End
Call isMouseOrange
End
End
Procedure isMouseOrange
SetConst $isMouseOrange = 0
// Get the mouse color
Compute mouseX= {MouseX} + 4
Compute mouseY= {MouseY} + 4
LoadRGB $mouseX, $mouseY
// If the mouse is orange (variance added just for good measure..)
If {RGBRed} >= 210 AND {RGBRed} <= 218 AND {RGBGreen} >= 160 AND {RGBGreen} <= 168 AND {RGBBlue} >= 84 AND {RGBBlue} <= 92
SetConst $isMouseOrange = 1
End
End
tweaks that have worked
used East Menethil after tweaking the stuff
my Tweaks:
/////////////////////////
// CHANGABLE CONSTANTS //
/////////////////////////
// Run count
// How many times the script should try to fish
runCount = 10000
// Speed
// This is the initial scan speed. The lower the number, the faster the scan goes,
// and the higher the number, the slower the scan goes. If you’re having problems
// where the initial scan isnt finding the bobber and just scanning right over it,
// try increasing this number slowly.
scanSpeed = 65
// Scan box distances
// These are the distances away from the sides of the screen to scan for a lure
// These are measured as percentages of the screen in the appropriate direction
scanLeftDist = .25
scanRightDist = .25
scanTopDist = .4
scanBottomDist = .25
// Brightness range
// This is the number of RGB values over and under the ‘bright spot’ that is the
// lure to look for. Basically, if you’re getting the message ‘No fish to hook’,
// try increasing both numbers a bit, and if the bobber bobs but you dont catch
// anything, try decreasing both numbers a bit. This can change from environment
// to environment. Also, generally speaking brightRangeUp shouldnt be very high.
brightRangeDown = 45
brightRangeUp = 9
// Brightness distance
// Doesnt matter what it does, but basically, leave it alone unless you’re having
// problems actually catching the fish. If you’re having problems and you want
// to tweak it, general rule is, the higher the resolution, the higher the number,
// the but number range should only be anywhere from 2 MIN to 6 MAX. If you start
// getting too out of wack with this, you’ll never catch a fish
brightDist = 3
// AFK Away
// Set to 1 to use AFK Away (which presses Enter twice before every cast) or
// to 0 to disable AFK Away entirely. This comes in useful if you like to
// chat on WoW while fishing.
afkAway = 1
Filed under: World of Warcraft Gold
Like this post? Subscribe to my RSS feed and get loads more!



Does anyone have an idea how to work a bobber into this macro? Would love to work 1 in somehow, but my expertise does not alow it. So if there are any ACtool wizzes still working on this try it:)
I changed the code a little to add a bobber. It isn’t the best way to do it but heres what I did:
change the main program loop to include a new variable “bobberCount”. I set this manually to how many bobbers I have. The variable “runCount” then becomes how many casts per bobber. I am still trying numbers but 80 is safe. Here is the new main loop:
Loop $bobberCount
Keys -
Keys 1
Delay 5500
Loop $runCount
Keys 0
Delay 1000
Call FindLureInitial
Call FindBoxCenter
Compute x = $boxMaxX-10
MousePos $x, $boxCenterY
Delay $scanSpeed
Call GetRGBValue
Call WaitForSplash
If $afkAway = 1
Delay 2500
KeyDown {RETURN} 250
KeyDown {RETURN} 250
Delay 2000
Else
Delay 5000
End
End
End
notice that this requires your bobber to be in the “-” slot and your pole in the “1″ slot. you can change this easily to be any of the quick cast slots.
i dont understand how to incorporate this bobber part into the regular macro. i get the error “could not find the variable bobbercount” on line 136 is what its referring to. what am i missing?
Is this supposed to autoloot the fish, cause it isnt, am i missing something?
ok got it figured out, you have to turn off the in-game auto loot, alos is there a wat to speed up the x and y scan once it has found the bobber?
hi, i need help.
the macro doesnt loot the fish. i tried some actions but nothing happend. i think the macro doesnt detect the splash. Why? Somebody can help me?
I’m Having the same problem, can any1 help?
im getting an error after i press start that says
Error:Procedure CalculateScanBoxConstants could not be found!
Module:new.mac Line: 137
What am i doing wrong
my cursor keeps resetting to a position in the middle of the screen after it finds the clickable object but before it splashes. can i fix this?
TURN OFF AUTO LOOT!!!!
if you get the loot box then its working you just need to turn off autoloot in the warcraft options menu. if you dont get the loot box then its not finding the bobber and you probably didnt read the directions, you just hit play and wanted it to work.
on a seperate note, anyone want to tell me how to make a timer that counts while the code is running? such as cast this spell and start a timer for 30 secs (cooldown). after 30 secs set a variable. something like that?
!!help!!
Im getting a error please tell me why!
Error: Macro Line: Compute scantop = {Windowtop} + Trunc( {WindowHeight} *$scanTopDist)
Caused Error: Acces Violation at address 004054c2 in module ‘ACTool.exe’. Read of address 00000010
module: fish.mac Line: 171
-Please help!-
Got everything to work, it runs, issue I am running across, is it keeps telling me i cant do that while moving… any idea what could be causing this?
It runs fine for me and all but the splash isnt detected and i got all the stuff on low, hardware cursor unchecked and auto loot off…. it finds the bobber but when it splashes it doesnt click it…. whats up with that? how do i fix?
every thing is working find for me, the problem is i always get “no fish are hooked”
any idea how to fix this?
So what happens for me…is I run the program…then it glitches…and does nothing I get errors like Invalid color
Hi i have problem with this macro
Errod: Cloud not find constans brightY
Module:fishing.mac line: 364
pls help me
ty a lot
It works fine for me but it doesnt cast fishing and I putted my fishing skill everywere it just doesnt cat
WORKS PERFECT……No problems what so ever
Thanks so much
Awesome Macro….just wanted to add a few things for the masses. First..Read the code. The directions for each setting are in the code. Second Turn off autoloot. Third , make sure you keybindings are set. It will not cast if it is not in an action bar bound to the “zero” key (bobbers to the “-” key. and lastly, this is very picky, if you are looking to just hit run and walk away it’s not gonna happen. You need to monitor it and tweak the settings as conditions and locations change for example, when it gets dark out, when it starts raining. I leveled my fishing from 8 to 336 in one day but it took alot of tweaking as i changed locations. Overall..this is a kick ass macro. Keep up the good work.
Is there anyoway you can make this macro add a lure on your fishing pole if you dont have one on and then cast the pole?
I have tried everything to get this macro to work. It does the scan and just goes right over the bobber with out stopping at all. I have changed variables non-stop. Trying a lot of things trying to get it to work, and still nothing. Anyone give me a hand?
If some1 could email me a copy of the macro they use it would be greatly appreciated!
ddougolus@aol.com
Billy, did you make sure to read all of the notes?
“For best results, try turning all fancy graphics options off (especially ‘Terrain Highlights’ under Shaders.. takes all the brightness out of the water) and use a low resolution (perhaps under 800×600, the smaller the faster)”
Plus it always depends on the area.. other than that, I’m afraid I can’t help you.
GL
It worked fine once.. but thn it stopped.. it automatically starts fishing and finds the it but doesnt click when i have a bite =/ anybody have any suggestions?
I can get it to find the lure, iv tried it everywhere from SW to the green goo in ferals, can anyone help?
The macro worked like a charm after a little fiddling with the variables to get it just right, great work, thanks a lot!
Note to everyone “read the notes to the code!” ALL your questions are answered there!
well i love this thing in the daytime… but at night i cannot get it to work. any suggestions im proficient with code so anything to help would help. I have tinkered with the numbers so much with nothing so im stuck.
This works perfect, and the bobber add works as well. Thank you both for this. Im at 99% catch rate in low areas without bobber and 90% rate with bobber in higher lvl area.
how did you fix your problem with actool???
December 28, 2007
mike @ 12:16 am
!!help!!
Im getting a error please tell me why!
Error: Macro Line: Compute scantop = {Windowtop} + Trunc( {WindowHeight} *$scanTopDist)
Caused Error: Acces Violation at address 004054c2 in module ‘ACTool.exe’. Read of address 00000010
module: fish.mac Line: 171
-Please help!-
I love this bot! It took me a while to figure out exactly how to position the screen for it work, but once I did I could leave it on all day if I so wished. Just follow the directions, and it should work. A+
In response to “Bob,”
“It worked fine once.. but thn it stopped.. it automatically starts fishing and finds the it but doesnt click when i have a bite =/ anybody have any suggestions?”
I’ve found it depends a lot on the water. For example when fishing in Feralas, part of the river would glitch as you said, but one part worked fine. You have to play around with it…
works great !!!!!!!!!! thanks
I found a little trick that helps. Stand as deep in the water as you can. This way bobber will almost always be close to the horizon line where reflections are minimal. Select your position so you have some dark solid uniformed background above the water line, so splash detection will not be confused by other bright objects.
Thanks for the Script!
I got the mouse pointer to find the bobber (8 out of 10 times).
But, it does not recognize when the bobber “bobs” up and
down when the fish bits.
What setting would I need to adjust to make it see
the bobber “Bob”?
Thanks,
Agustin
i would like to contact the original developer – how can i do this?
thanks
So what exactly is the whole code..it is hard to tell what to copy and paste…anyone help?
Ok, i start the macro, it casts fishing, moves the mouse on the top/left corner of WoW window, and after that does nothing, doesn’t loot the fish, click the bobber or … nothing… just keeps the mouse there so even i cant move it after 2 mins, wtf?
Has this stopped working for anyone else? Mine hasn’t worked in the past month, no longer recognizes the bobber no matter where I use it or how I tweek it. Used to work great before this.
Anyone know why?
Thanks
Thx a lot…I locked @ the code and it took me like 20 min to make it prefect…so thx again <3
The program isn’t mousing over the bobber when it detects it. It goes too far to the right of the bobber. How can i prevent this!?
i got it to find the bobber alright, but it has only clicked one time, all the rest of the times it just sits there..any suggestions?
I need little help about that codes. I have to convert for delphi. But most important thing is, how can i detect mouse cursor color change or mouse cursor type. Can someone help me please?
Generally this works very well and if left alone does fish quite reasonably, however i have noticed that when it scans over the bobber the mouse quite often sets itself off to the right outside of the area it can then click when the bobber splash’s ( i.e the little yellow cogwhell turns back to a pointer just outside the area of the bobber ), seems the box needs to be decreased a little bit that it uses to centre itself, any idea’s ? am going to try the various suggestions people have made about screen size and textures and see if that helps but overall already very impresed and thanks alot for the effort
No it has NOT stopped working. If youre experiencing issues with the script, please confirm the following:
1) 800×600 resoltuion
2) being in windowed mode
3) making windowed mode “full screen”
4) zoom your view in ALL THE WAY to first person
5) make sure you are as close to being horizontal with the water as possible, if possible going into the water a bit if you can to almost be exactly horizontal, as it’ll make the scan’s job easier/more accurate.
===================================
IF YOU ARE EXPERIENCING MAJOR ISSUES/POOR RESULTS, FIRST AND FORMOST:
Line 27, Variable “runCount.” Change this from 10 to 2. You can also stop the macro (and start it) with the “F2″ key on your keyboard.
===================================
IF YOU ARE EXPERIENCING ISSUES WITH THE SCAN NOT FINDING THE BOBBER ITS FIRST TIME:
Modify line 34 (at least, it’s 34 for me), aka the variable “scanSpeed.” The default is 60, and the higher you make the number, the slower the scan will go. increment it in +3 or +4 intervals if this is the case.
This might happen if your computer is a bit older so the scan is going at a good speed, but your card/cpu isnt processing each pixel fast enough.
===================================
IF YOU ARE EXPERIENCING ISSUES WITH THE SCAN NOT SCANNING THE FULL AREA WHERE YOUR BOBBER IS LANDING:
Lines 39-42:
scanLeftDist = .3
scanRightDist = .3
scanTopDist = .4
scanBottomDist = .25
These are PERCENTAGES of your WoW screen, so it’s saying:
“Start scanning from 30% from the left, and 30% from the top. Scan across until you get to 30% of the right, and then move the scan down a bit, until we’re 25% from the bottom of the sreen.”
More or less, this is why you want your viewport to be flat with the water, as youll scan the most usually dropped bobber areas, and the top 30% of your screen will be sky, not water.
===================================
IF YOU ARE GETTING THE MESSAGE “No fish to hook” FROM TIME TO TIME AFTER PRIOR SUCCESS, OR IT’S FINDING THE BOBBER BUT NOT CLICKING WHEN IT HOOKS A FISH:
The brightness is off a bit in your current fishing area, or the time in game has changed and the water & bobber arent the same brightness as before. As such, the computed RGB values used to both find the bobber, to know when your mouse changes from a pointer to a loot “orange gear,” and when the bobber “moves” from a bite, are no longer accurate for the current screen brightness.
To fix:
Lines 50-51
brightRangeDown = 50
brightRangeUp = 10
You don’t need to change these TOO drastically, especially the RangeUp. What these fields do is offset the Red, Green, and Blue color values by their value, effectively giving you currRed, redDownMin, and redUpMax.
Based off the scans taking place, it’s looking for a change to currRed, currBlue, etc, where the currBlue is not within the max/min offsets; meaning…. hey look, bobber! hey look, the bobber moved!
If it’s not finding the bobber very consistantly, say, less than 6 times out of 10, try INCREASING both the values by increments of 2 or so, small changes. More or less, the brightness has changed such that the offset needs to have a larger min/max range.
If it’s finding the bobber but you’re getting less than 6 out of 10 successes for the bobber being clicked on a bite, do JUST the opposite. shrink the variables by increments of 2, making it so much tinier color changes for where your pointer is on for the bobber will register as a bobber hit.
NOTE: YOU WILL STILL HAVE BOBBER FAILURES FROM TIME TO TIME. Aim for 60% click-rate. If you’re not AFK you’ll be able to manually click if the script misses the bite. Reason being for this is the scanned area checked for a bite, aka, where the script put your mouse on the bobber, might not be within range of the bobber going up/down/water splashing. This can happen due to bobber distance, view angle, etc, so even with tweak enhancements which may/may not be coming by the author to the scan box logic, you WILL not have 100% success if you’re afk.
===================================
ONE FINAL NOTE: If you’re getting an error after your script ends (aka it’s looped over the fishing logic for however many times you set the variable to), this is because of your copy & paste for the code- you included his extra info. The script ends at line 446, roughly. There is then 4-5 blank lines before the author detailed the changable constants yet again. You’re probably erroring out on “runCount = 10000″, after the script ends, because that variable is not declared! You can leave all that comment/code in, but make sure to comment out his variables, EG:
/////////////////////////
// CHANGABLE CONSTANTS //
/////////////////////////
// Run count
// How many times the script should try to fish
//runCount = 10000
^— Notice i added the two “//” characters, commenting out that line to avoid an error upon script termination.
===================================
PHEW.
Hopefully that explains the script a lot better for you, as well as how to debug any issues you’re experiencing! I’m a programmer as a day job, so helping people get stuff like this working as intended is what I enjoy, so I hope I did just that and you have success and luck with your fishing skillups!
-Art
One thing that I found within the code is when it resets the cursor to the center of the bobber, it seemed to go to the right.
on line 146:
MousePos $X, $boxCenterY
Changed this to
MousePos $boxCenterX, $boxCenterY
Also on line 306
Compute boxCenterY = Trunc((( $boxMinY + $boxMaxY ) / 2) – 10)
I added in the -10 calculation. This helps the cursor go a little above center (which i had very slightly better results with)
I am still below 50% catch rate. I am fishing in IF where day or night doesnt matter and just going for skill. Adjusting a lot of the settings i just cant get it to catch the fish when the fish bites, and i very very rarely get fish not on hook. Will have to tweak a bit more, but good work OP.
Whenever I try running the script it pulls the wow window up and then the mouse doesn’t move on its own, if I alt tab over the ac tool program or pull it up from the start bar the mouse will move like it’s supposed to but that doesn’t help because the new window is in the way. What can I do to fix this?
I tested this a lot. All works fine.. but the right click to pick up the fish. The cusor finds the bobber, places it self to the right of it. But when fish bite, the boot will not right click bobber. I tried change the varibles with no luck. Can it be my mouse?
can it be changes in 3.0.8? Anyway, hope to get some feedback here. I read all, tried boot for Diablo, fixed them etc. So done some works with boot like this.
Hope to find a solution
It scan the whole area but don’t find the bobber, like to don’t even stop when there the clickable area, any suggestion?
i got an error code:
Error: invalid format for line: scanSpeed=65!
Module: new.mac Line:464
can someone help me out with this error pls.
For the bobber being right too far its an error in his variable code –
Change the line
MousePos $x, $boxCenterY
into
MousePos $boxCenterX, $boxCenterY
and it will centre itself every time.
Doing this seems to decrease the catch rate for some reason though, the procedure wait for splash is a bit sketchy at best.
The best way to check a splash is to wait for soundfile, and if soundfile (splash) is heard then the mouse will click the bobber.
I have no idea how to do this though, but it would at least guarnatee 100% catch rate.
Any pro macro programmers know how to parse wow sound files into detectable windows events and translate this into a macro?
Hi i havent used this bot yet as thers so many addons to ur code, is there any change of pasting the uptodate code please?
Having an issue with line 171, please help.
Error: Macro Line: Compute scantop = {Windowtop} + Trunc( {WindowHeight} *$scanTopDist)
Caused Error: Acces Violation at address 004054c2 in module ‘ACTool.exe’. Read of address 00000010
module: fish.mac Line: 171
I am Having an error trying to start actool
Error:Invalid format for line: widthToWindowRatio = 0.056
Could someone email there macro, or explain how to fix this i would greatly appreciate it
jrman13@yahoo.com
after few minutes of using:
Error: Invalid format for line: tweaks that have worked!
Module: new.mac Line:451
don’t know whats wrong :/ can any1 help me plz? THX!
invalid format for = runcount 10
says findlureinitial could not be found, what should i do?
hey mate um can u send me the script for fishing cast lure all of it plz its annoying me abit can u help out plz
can someone send me a full code plz
I am still having problems with it not clicking the bobber, it is found and centers right on top of it, but will not click it for loot fish. I have auto loot turned off. with loot all button set to none. I just dont understand why its not clicking to loot
everything is working great, except that it only clicks on the bobber less then half the time. is there a way i can fix this?
can anyone send me full code plz i am not werry smart with this things and i need to lvl up my fishing asap
ty edios666@gmail.com
Doesn’t seem to detect splash correctly, but I think I can use the code of this bot to make my own.
I’m going to ~try~ to have the macro detect the brown, cork part of the highlighted bobber, position the cursor below the bobber by about 10 pixels, and right-click when it sees cork bobber color.
(This assumes the player has set their view underwater when fishing, which is doable by /sleep, /sit or /kneel)
I’ve tried to get this working today and although the caster will center, and identifies the bobber it no longer catches the splash.
I’ve tried more or less all the settings in the code above, but no matter no auto click. Shame really coz i detest fishing
Can it be detectable by blizzard?
hmm i tried to setup this but no chances spend about two hours and can’t catch the fish it doesint click, it sucks ;/;/ any help ?
Had this working about 80% of the time, although tonight when i went to use it mouse goes right down the bottom of the screen and scan has completely stopped working properly.
Is this due to any changes with 3.3?
help!when i run the srcipt the mouse stick to the left top of the windowed wow.All the insturction strickly be done.Could u help me out.big favor to me
I guess they changed color of “orange” cursor in 3.3. It never detected the bobber. So I changed RGB values in line 443 with:
If {RGBRed} >= 166 AND {RGBRed} = 120 AND {RGBGreen} = 55 AND {RGBBlue} <= 119
Worked for me.
like to thank ART for all the help from his post help clear most of my troubles
Ok, read the directions and code, but I still can’t figure out what is wrong with it on my system. Set WoW to use 800×600, all fancy stuff off, windowed, software cursor, etc… It starts scanning in the middle of my WoW window and goes to the bottom right. Doesn’t scan anywhere but the lower right corner of the WoW screen, any clue what I’m doing wrong here?
It’s a fantastic job indeed
although it didn’t work perfectly for me.
i have read almost all the comments of other users i found out some of my mistakes but even though i take care of em only 5% of my attempts were succussfully. =(
Hey, first off, just wanted to say this bot works great, almost 100% catch rate on my first try.
However, after my first few successful hours of fishing, I turned off my computer, went to sleep, and tried again the next day. Now, for some reason whenever I click start to run the macro, an error message comes up, reading,
Error: Macro Line: Compute scantop = {Windowtop} + Trunc( {WindowHeight} *$scanTopDist)
Caused Error: Acces Violation at address 004054c2 in module ‘ACTool.exe’. Read of address 00000010
module: fish.mac Line: 171
I can’t expect anyone to be able to help me with this, judging by the fact that I see it as nothing but complete jiberish myself. However if anyone has any insight on the problem, help would be greatly appreciated.
Hi, I have problem with this bot. Iam using lazy bot too, and here is the problem. In this fishing bot, cursor run from left to the right, and looking for bob. After i instal, them, this problem start at herb bot. Herb bot dont run, when is minimized, after he find flower, he switch to wow, and cursor move from left to right and find flower.
I uninstal this fish bot, repair wow, but not help. Can anyone help me with this problem ? or have any other this problem ? Thanks
Needs to be updataed for Cataclysm! the Mouse Icon has changed for fishing when the bobber is moused over.
I can’t get it to stop on the bobber. It goes right past it and i’ve changed the numbers and I’ve made sure autoloot is off and everything >< It just doesn’t work for me.