Wow Fishing Macro 100% Undetectable
It works great for me but it takes a lil to understand it's still not any hard at all but can take you a while before you will get use to it. Why it is 100% undetectable? Cose its just a macro basically and so far noone catched me.
First of all you will have to download AC tool 5.4.0.
Here is the link -->> AC Tool Home Page
This is the macro which let you to fishbot. You will have to copy, paste it to actool:
// This line is necessary to select the proper window
SetActiveWindow Asheron's Call
// 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 = 1000000
// 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 = 50
// 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 = 47
brightRangeUp = 7
// 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
/////////////////////////////
// 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
And that one is to put lure on your fishing rod:
SetActiveWindow World of Warcraft
Constants
/////////////////////////
// CHANGABLE CONSTANTS //
/////////////////////////
bobberCount = 1
/////////////////////////////
// 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 //
///////////////
Loop $bobberCount
Keys -
Keys 1
End
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Delay 9999
Remember to read instruction first. Hope it will work great for you ;D
:worthless: