This code is used in AutoIt
Alright people, this took 3 hours. It's not hard. This will cast the line, click the bobber when it splashes, get the item and then do it all again. If you don't catch anything, it waits until the progress bar disappears and recasts. It searches for the splash between the top of the chat "Bubble" icon and a little over halfway up the window. This requires that you have fishing in your action bar as "0" and your gamma is defaulted. I'm releasing the code so you guys can make changes as you need.
The Pause/Break key turns it off.
Code:
; AutoIt Version: 3.0
; Language: English
; Platform: WinXP
; Author: Mibz (Pantless Krab)
;
; Script Function:
; WoW FishBot.
;
; Wow Window Title - World of Warcraft
; WoW Window Size - w1032 x h795
; classname=GxWindowClassD3d
; Colour of splash - 0xA2A67D
; 0xC1AD7A
; 0xD0C08D
; Position of item - x:44 y:226
; Position of hotkey 0 - x:409 y:768
; Prompt the user to run the script using Yes/No prompt
$run = MsgBox(4, "FishBot", "Do you want to run FishBot?")
; Exit if "No"
If $run = 7 Then
Exit
EndIf
; Initial !@#$%^&*
$time = MsgBox(4, "FishBot - Time of Day?", "Yes = Day | No = Night")
WinActivate("World of Warcraft")
HotKeySet("{PAUSE}", "EndScript")
; Script Start
While 1
MouseClick("left", 409, 768, 1, 2)
MouseMove(500, 500)
$start = TimerInit()
$dif = TimerDiff($start)
While 1
If $time = 6 Then
$coord = PixelSearch (5, 300, 1024, 560, 0xF6F6F6, 30, 4)
Else
$coord = PixelSearch (5, 300, 1024, 560, 0xEEEEEE, 55, 3)
EndIf
; 5, 300 - 1024, 560 can be changed if you want to search a wider area.
; Not recommended though since you can just adjust your view to fit all
; the water in that space. The bigger the area, the less likely it is to
; detect it.
; If the splash isn't getting detected then change the hex colour to
; something a bit closer. Top one is day, bottom is night.
If UBound($coord)>1 Then
MouseClick("right", $coord[0], $coord[1], 1, 3)
Sleep(500)
MouseClick("right", 44, 226, 1, 5)
ExitLoop
Else
Sleep(250)
$dif = TimerDiff($start)
If $dif > 30000 Then
ExitLoop
EndIf
EndIf
WEnd
WEnd
; Function to exit script
Func EndScript()
$exit = MsgBox(4, "FishBot", "End FishBot?")
If $exit = 6 Then
Exit
EndIf
EndFunc
This bot works 99.9% of the time for me. Every 5th or 6th cast during the night won't be recognized but day works flawlessly for me. If it doesn't work, change it, don't bug me.
View Source Here:
http://www.danidoo.bizland.com/snarg/FishBot.zip--------------------------------------------------------------------------------
I'll explain this a bit more.
Code:
If $time = 6 Then
$coord = PixelSearch (5, 300, 1024, 560, 0xF6F6F6, 30, 4)
Else
$coord = PixelSearch (5, 300, 1024, 560, 0xEEEEEE, 55, 3)
EndIf
(5, 300, 1024, 560, 0xF6F6F6, 30, 4)
Searches from coordinates 5, 300 to 1024, 560
Looks for pixel colour 0xF6F6F6 and anything within 30 shade variances from it.
It looks at every 4th pixel.
To improve accuracy you can decrease that 4 to a 2 or 3. This will make it run slower and, on some systems, cause graphic lag that can cause it to miss the splash all together. I suggest you zoom into first person mode when using this and try to have the horizon (Or at least the end of your pond) at halfway vertically up the window.
If it's clicking something else then it's seeing a colour within the shade variances. This shouldn't happen during the day as the splash is PURE WHITE. The variance is in there just incase.
During the night it might catch some well lit water. I suggest facing a direction where the water is as dark as possible.
DO NOT HAVE THE MOON IN YOUR SIGHT.
If it's still clicking random !@#$%^&* during the night, decrease the 55 to between 35 and 45.
If you're really smart, you'll using the AutoItSpy program to figure out exactly what colour the splash is.
For anyone that doesn't know how to compile this, here ya go.
Download AutoIt 3. I don't know the address off hand. Save the text as a .au3 file.
Use AutoIt to compile and run the file. Make changes as needed. When it works great for you and your fishing holes, use AutToExe to turn it into an exe.
For anyone COMPLETELY unsure on how this works, here's a quick rundown.
Once run, the program makes the WoW window active, moves the cursor to your action bar slot "0" and clicks. It then constantly monitors the target area looking for a pixel of the specified colour. When it finds that pixel it right clicks it, waits a split second then right clicks where the fish or item appears. It then clicks "0" again and does it over.
READ THE AUTOIT HELP FILE, IT'S DAMN HANDY!