Code:
; ------------------------------
; ------ www.fish-bot.com ------
; ------------------------------
; Events and messages
Global Const $GUI_EVENT_CLOSE = -3
Global Const $GUI_EVENT_MINIMIZE = -4
Global Const $GUI_EVENT_RESTORE = -5
Global Const $GUI_EVENT_MAXIMIZE = -6
Global Const $GUI_EVENT_PRIMARYDOWN = -7
Global Const $GUI_EVENT_PRIMARYUP = -8
Global Const $GUI_EVENT_SECONDARYDOWN = -9
Global Const $GUI_EVENT_SECONDARYUP = -10
Global Const $GUI_EVENT_MOUSEMOVE = -11
Global Const $GUI_EVENT_RESIZED = -12
Global Const $GUI_EVENT_DROPPED = -13
Global Const $GUI_RUNDEFMSG = 'GUI_RUNDEFMSG'
; State
Global Const $GUI_AVISTOP = 0
Global Const $GUI_AVISTART = 1
Global Const $GUI_AVICLOSE = 2
Global Const $GUI_CHECKED = 1
Global Const $GUI_INDETERMINATE = 2
Global Const $GUI_UNCHECKED = 4
Global Const $GUI_DROPACCEPTED = 8
Global Const $GUI_ACCEPTFILES = $GUI_DROPACCEPTED ; to be suppressed
Global Const $GUI_SHOW = 16
Global Const $GUI_HIDE = 32
Global Const $GUI_ENABLE = 64
Global Const $GUI_DISABLE = 128
Global Const $GUI_FOCUS = 256
Global Const $GUI_DEFBUTTON = 512
Global Const $GUI_EXPAND = 1024
Global Const $GUI_ONTOP = 2048
; Font
Global Const $GUI_FONTITALIC = 2
Global Const $GUI_FONTUNDER = 4
Global Const $GUI_FONTSTRIKE = 8
; Resizing
Global Const $GUI_DOCKAUTO = 0x0001
Global Const $GUI_DOCKLEFT = 0x0002
Global Const $GUI_DOCKRIGHT = 0x0004
Global Const $GUI_DOCKHCENTER = 0x0008
Global Const $GUI_DOCKTOP = 0x0020
Global Const $GUI_DOCKBOTTOM = 0x0040
Global Const $GUI_DOCKVCENTER = 0x0080
Global Const $GUI_DOCKWIDTH = 0x0100
Global Const $GUI_DOCKHEIGHT = 0x0200
Global Const $GUI_DOCKSIZE = 0x0300 ; width+height
Global Const $GUI_DOCKMENUBAR = 0x0220 ; top+height
Global Const $GUI_DOCKSTATEBAR = 0x0240 ; bottom+height
Global Const $GUI_DOCKALL = 0x0322 ; left+top+width+height
Global Const $GUI_DOCKBORDERS = 0x0066 ; left+top+right+bottom
; Window Styles
Global Const $WS_TILED = 0
Global Const $WS_OVERLAPPED = 0
Global Const $WS_MAXIMIZEBOX = 0x00010000
Global Const $WS_MINIMIZEBOX = 0x00020000
Global Const $WS_TABSTOP = 0x00010000
Global Const $WS_GROUP = 0x00020000
Global Const $WS_SIZEBOX = 0x00040000
Global Const $WS_THICKFRAME = 0x00040000
Global Const $WS_SYSMENU = 0x00080000
Global Const $WS_HSCROLL = 0x00100000
Global Const $WS_VSCROLL = 0x00200000
Global Const $WS_DLGFRAME = 0x00400000
Global Const $WS_BORDER = 0x00800000
Global Const $WS_CAPTION = 0x00C00000
Global Const $WS_OVERLAPPEDWINDOW = 0x00CF0000
Global Const $WS_TILEDWINDOW = 0x00CF0000
Global Const $WS_MAXIMIZE = 0x01000000
Global Const $WS_CLIPCHILDREN = 0x02000000
Global Const $WS_CLIPSIBLINGS = 0x04000000
Global Const $WS_DISABLED = 0x08000000
Global Const $WS_VISIBLE = 0x10000000
Global Const $WS_MINIMIZE = 0x20000000
Global Const $WS_CHILD = 0x40000000
Global Const $WS_POPUP = 0x80000000
Global Const $WS_POPUPWINDOW = 0x80880000
Global Const $DS_MODALFRAME = 0x80
Global Const $DS_SETFOREGROUND = 0x00000200
Global Const $DS_CONTEXTHELP = 0x00002000
; Window Extended Styles
Global Const $WS_EX_ACCEPTFILES = 0x00000010
Global Const $WS_EX_MDICHILD = 0x00000040
Global Const $WS_EX_APPWINDOW = 0x00040000
Global Const $WS_EX_CLIENTEDGE = 0x00000200
Global Const $WS_EX_CONTEXTHELP = 0x00000400
Global Const $WS_EX_DLGMODALFRAME = 0x00000001
Global Const $WS_EX_LEFTSCROLLBAR = 0x00004000
Global Const $WS_EX_OVERLAPPEDWINDOW = 0x00000300
Global Const $WS_EX_RIGHT = 0x00001000
Global Const $WS_EX_STATICEDGE = 0x00020000
Global Const $WS_EX_TOOLWINDOW = 0x00000080
Global Const $WS_EX_TOPMOST = 0x00000008
Global Const $WS_EX_TRANSPARENT = 0x00000020
Global Const $WS_EX_WINDOWEDGE = 0x00000100
Global Const $WS_EX_LAYERED = 0x00080000
Global Const $GUI_WS_EX_PARENTDRAG = 0x00100000
; listView Extended Styles
Global Const $LVS_EX_FULLROWSELECT = 0x00000020
Global Const $LVS_EX_GRIDLINES = 0x00000001
Global Const $LVS_EX_SUBITEMIMAGES = 0x00000002
Global Const $LVS_EX_CHECKBOXES = 0x00000004
Global Const $LVS_EX_TRACKSELECT = 0x00000008
Global Const $LVS_EX_HEADERDRAGDROP = 0x00000010
Global Const $LVS_EX_FLATSB = 0x00000100
Global Const $LVS_EX_BORDERSELECT = 0x00008000
;Global Const $LVS_EX_MULTIWORKAREAS = 0x00002000
;Global Const $LVS_EX_SNAPTOGRID = 0x00080000
;Global Const $LVS_EX_DOUBLEBUFFER = 0x00010000
; Tab Extended Styles
Global Const $TCS_EX_FLATSEPARATORS = 0x1
;Global Const $TCS_EX_REGISTERDROP = 0x2
; Label/Pic/Icon
Global Const $SS_LEFT = 0
Global Const $SS_CENTER = 1
Global Const $SS_RIGHT = 2
Global Const $SS_ICON = 3
Global Const $SS_BLACKRECT = 4
Global Const $SS_GRAYRECT = 5
Global Const $SS_WHITERECT = 6
Global Const $SS_BLACKFRAME = 7
Global Const $SS_GRAYFRAME = 8
Global Const $SS_WHITEFRAME = 9
Global Const $SS_SIMPLE = 11
Global Const $SS_LEFTNOWORDWRAP = 12
Global Const $SS_BITMAP = 15
Global Const $SS_ETCHEDHORZ = 16
Global Const $SS_ETCHEDVERT = 17
Global Const $SS_ETCHEDFRAME = 18
Global Const $SS_NOPREFIX = 0x0080
Global Const $SS_NOTIFY = 0x0100
Global Const $SS_CENTERIMAGE = 0x0200
Global Const $SS_RIGHTJUST = 0x0400
Global Const $SS_SUNKEN = 0x1000
; Group
Global Const $BS_GROUPBOX = 0x0007
; Button
Global Const $BS_BOTTOM = 0x0800
Global Const $BS_CENTER = 0x0300
Global Const $BS_DEFPUSHBUTTON = 0x0001
Global Const $BS_LEFT = 0x0100
Global Const $BS_MULTILINE = 0x2000
Global Const $BS_PUSHBOX = 0x000A
Global Const $BS_PUSHLIKE = 0x1000
Global Const $BS_RIGHT = 0x0200
Global Const $BS_RIGHTBUTTON = 0x0020
Global Const $BS_TOP = 0x0400
Global Const $BS_VCENTER = 0x0C00
Global Const $BS_FLAT = 0x8000
Global Const $BS_ICON = 0x0040
Global Const $BS_BITMAP = 0x0080
; Checkbox
Global Const $BS_3STATE = 0x0005
Global Const $BS_AUTO3STATE = 0x0006
Global Const $BS_AUTOCHECKBOX = 0x0003
Global Const $BS_CHECKBOX = 0x0002
; Radio
Global Const $BS_AUTORADIOBUTTON = 0x0009
; Combo
Global Const $CBS_SIMPLE = 0x0001
Global Const $CBS_DROPDOWN = 0x0002
Global Const $CBS_DROPDOWNLIST = 0x0003
Global Const $CBS_AUTOHSCROLL = 0x0040
Global Const $CBS_OEMCONVERT = 0x0080
Global Const $CBS_SORT = 0x0100
Global Const $CBS_NOINTEGRALHEIGHT = 0x0400
Global Const $CBS_DISABLENOSCROLL = 0x0800
Global Const $CBS_UPPERCASE = 0x2000
Global Const $CBS_LOWERCASE = 0x4000
; Listbox
Global Const $LBS_NOTIFY = 0x0001
Global Const $LBS_SORT = 0x0002
Global Const $LBS_USETABSTOPS = 0x0080
Global Const $LBS_NOINTEGRALHEIGHT = 0x0100
Global Const $LBS_DISABLENOSCROLL = 0x1000
Global Const $LBS_NOSEL = 0x4000
Global Const $LBS_STANDARD = 0xA00003
; Edit/Input
Global Const $ES_LEFT = 0
Global Const $ES_CENTER = 1
Global Const $ES_RIGHT = 2
Global Const $ES_MULTILINE = 4
Global Const $ES_UPPERCASE = 8
Global Const $ES_LOWERCASE = 16
Global Const $ES_PASSWORD = 32
Global Const $ES_AUTOVSCROLL = 64
Global Const $ES_AUTOHSCROLL = 128
Global Const $ES_NOHIDESEL = 256
Global Const $ES_OEMCONVERT = 1024
Global Const $ES_READONLY = 2048
Global Const $ES_WANTRETURN = 4096
Global Const $ES_NUMBER = 8192
;Global Const $ES_DISABLENOSCROLL = 8192
;Global Const $ES_SUNKEN = 16384
;Global Const $ES_VERTICAL = 4194304
;Global Const $ES_SELECTIONBAR = 16777216
; Date
Global Const $DTS_SHORTDATEFORMAT = 0
Global Const $DTS_UPDOWN = 1
Global Const $DTS_SHOWNONE = 2
Global Const $DTS_LONGDATEFORMAT = 4
Global Const $DTS_TIMEFORMAT = 9
Global Const $DTS_RIGHTALIGN = 32
; MonthCal
Global Const $MCS_NOTODAY = 16
Global Const $MCS_NOTODAYCIRCLE = 8
Global Const $MCS_WEEKNUMBERS = 4
; Progress bar
Global Const $PBS_SMOOTH = 1
Global Const $PBS_VERTICAL = 4
; AVI clip
Global Const $ACS_CENTER = 1
Global Const $ACS_TRANSPARENT = 2
Global Const $ACS_AUTOPLAY = 4
Global Const $ACS_TIMER = 8
Global Const $ACS_NONTRANSPARENT = 16
; Tab
Global Const $TCS_SCROLLOPPOSITE = 0x0001
Global Const $TCS_BOTTOM = 0x0002
Global Const $TCS_RIGHT = 0x0002
Global Const $TCS_MULTISELECT = 0x0004
Global Const $TCS_FLATBUTTONS = 0x0008
Global Const $TCS_FORCEICONLEFT = 0x0010
Global Const $TCS_FORCELABELLEFT = 0x0020
Global Const $TCS_HOTTRACK = 0x0040
Global Const $TCS_VERTICAL = 0x0080
Global Const $TCS_TABS = 0x0000
Global Const $TCS_BUTTONS = 0x0100
Global Const $TCS_SINGLELINE = 0x0000
Global Const $TCS_MULTILINE = 0x0200
Global Const $TCS_RIGHTJUSTIFY = 0x0000
Global Const $TCS_FIXEDWIDTH = 0x0400
Global Const $TCS_RAGGEDRIGHT = 0x0800
Global Const $TCS_FOCUSONBUTTONDOWN = 0x1000
Global Const $TCS_OWNERDRAWFIXED = 0x2000
Global Const $TCS_TOOLTIPS = 0x4000
Global Const $TCS_FOCUSNEVER = 0x8000
; TreeView
Global Const $TVS_HASBUTTONS = 0x0001
Global Const $TVS_HASLINES = 0x0002
Global Const $TVS_LINESATROOT = 0x0004
;Global Const $TVS_EDITLABELS = 0x0008
Global Const $TVS_DISABLEDRAGDROP = 0x0010
Global Const $TVS_SHOWSELALWAYS = 0x0020
;Global Const $TVS_RTLREADING = 0x0040
Global Const $TVS_NOTOOLTIPS = 0x0080
Global Const $TVS_CHECKBOXES = 0x0100
Global Const $TVS_TRACKSELECT = 0x0200
Global Const $TVS_SINGLEEXPAND = 0x0400
;Global Const $TVS_INFOTIP = 0x0800
Global Const $TVS_FULLROWSELECT = 0x1000
Global Const $TVS_NOSCROLL = 0x2000
Global Const $TVS_NONEVENHEIGHT = 0x4000
; Slider
Global Const $TBS_AUTOTICKS = 0x0001
Global Const $TBS_VERT = 0x0002
Global Const $TBS_HORZ = 0x0000
Global Const $TBS_TOP = 0x0004
Global Const $TBS_BOTTOM = 0x0000
Global Const $TBS_LEFT = 0x0004
Global Const $TBS_RIGHT = 0x0000
Global Const $TBS_BOTH = 0x0008
Global Const $TBS_NOTICKS = 0x0010
Global Const $TBS_NOTHUMB = 0x0080
; ListView
Global Const $LVS_ICON = 0x0000
Global Const $LVS_REPORT = 0x0001
Global Const $LVS_SMALLICON = 0x0002
Global Const $LVS_LIST = 0x0003
Global Const $LVS_EDITLABELS = 0x0200
Global Const $LVS_NOCOLUMNHEADER = 0x4000
Global Const $LVS_NOSORTHEADER = 0x8000
Global Const $LVS_SINGLESEL = 0x0004
Global Const $LVS_SHOWSELALWAYS = 0x0008
Global Const $LVS_SORTASCENDING = 0X0010
Global Const $LVS_SORTDESCENDING = 0x0020
; Updown
Global Const $UDS_WRAP = 0x0001
Global Const $UDS_ALIGNRIGHT = 0x0004
Global Const $UDS_ALIGNLEFT = 0x0008
Global Const $UDS_ARROWKEYS = 0x0020
Global Const $UDS_HORZ = 0x0040
Global Const $UDS_NOTHOUSANDS = 0x0080
; Graphic
Global Const $GUI_GR_CLOSE = 1
Global Const $GUI_GR_LINE = 2
Global Const $GUI_GR_BEZIER = 4
Global Const $GUI_GR_MOVE = 6
Global Const $GUI_GR_COLOR = 8
Global Const $GUI_GR_RECT = 10
Global Const $GUI_GR_ELLIPSE = 12
Global Const $GUI_GR_PIE = 14
Global Const $GUI_GR_DOT = 16
Global Const $GUI_GR_PIXEL = 18
Global Const $GUI_GR_HINT = 20
Global Const $GUI_GR_REFRESH = 22
Global Const $GUI_GR_PENSIZE = 24
Global Const $GUI_GR_NOBKCOLOR = -2
; Control default styles
Global Const $GUI_SS_DEFAULT_AVI = $ACS_TRANSPARENT
Global Const $GUI_SS_DEFAULT_BUTTON = 0
Global Const $GUI_SS_DEFAULT_CHECKBOX = 0
Global Const $GUI_SS_DEFAULT_COMBO = BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $WS_VSCROLL)
Global Const $GUI_SS_DEFAULT_DATE = $DTS_LONGDATEFORMAT
Global Const $GUI_SS_DEFAULT_EDIT = BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL)
Global Const $GUI_SS_DEFAULT_GRAPHIC = 0
Global Const $GUI_SS_DEFAULT_GROUP = 0
Global Const $GUI_SS_DEFAULT_ICON = $SS_NOTIFY
Global Const $GUI_SS_DEFAULT_INPUT = BitOR($ES_LEFT, $ES_AUTOHSCROLL)
Global Const $GUI_SS_DEFAULT_LABEL = 0
Global Const $GUI_SS_DEFAULT_LIST = BitOR($LBS_SORT, $WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY)
Global Const $GUI_SS_DEFAULT_LISTVIEW = BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL)
Global Const $GUI_SS_DEFAULT_MONTHCAL = 0
Global Const $GUI_SS_DEFAULT_PIC = $SS_NOTIFY
Global Const $GUI_SS_DEFAULT_PROGRESS = 0
Global Const $GUI_SS_DEFAULT_RADIO = 0
Global Const $GUI_SS_DEFAULT_SLIDER = $TBS_AUTOTICKS
Global Const $GUI_SS_DEFAULT_TAB = 0
Global Const $GUI_SS_DEFAULT_TREEVIEW = BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)
Global Const $GUI_SS_DEFAULT_UPDOWN = $UDS_ALIGNRIGHT
Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
; Background color special flags
Global Const $GUI_BKCOLOR_DEFAULT = -1
Global Const $GUI_BKCOLOR_TRANSPARENT = -2
$wintitle = 'Fishing buddy BETA 0.1'
$bobcolor = IniRead('settings.ini', 'Settings', 'bobcolor', '0xffffff')
$stopafterfish = IniRead('settings.ini', 'Settings', 'stopafterfish', '0')
$hotkey = IniRead('settings.ini', 'Settings', 'hotkey', '1')
$msgonwhisper = IniRead('settings.ini', 'Settings', 'msgonwhisper', 'Sorry, im going to bed. Night!')
$tolerance = IniRead('settings.ini', 'Settings', 'tolerance', '5')
$splashtolerance = IniRead('settings.ini', 'Settings', 'splashtolerance', '5')
$exitonwhisper = IniRead('settings.ini', 'Settings', 'exitonwhisper', '')
$screenonwhisper = IniRead('settings.ini', 'Settings', 'screenonwhisper', '')
$soundonbite = IniRead('settings.ini', 'Settings', 'soundonbite', '')
$soundonwhisper = IniRead('settings.ini', 'Settings', 'soundonwhisper', '')
$areal = IniRead('settings.ini', 'Settings', 'areal', '')
$areat = IniRead('settings.ini', 'Settings', 'areat', '')
$arear = IniRead('settings.ini', 'Settings', 'arear', '')
$areab = IniRead('settings.ini', 'Settings', 'areab', '')
$guiaan = 1
$fishcatched = 0
;paar dingetjes dimmen tegen gezeik
Dim $pausetimer, $pause, $soundonbite, $open, $exitbutton, $startbutton, $bobx, $boby, $timerstart, $fishcatchedlabel, $bobcolorlabel, $stopafterfishinput, $splashtolerance, $splashtoleranceinput, $hotkeyinput, $msgonwhisperinput, $areasetupbutton, $toleranceinput, $exitonwhisperbox, $screenonwhisperbox, $soundonbitebox, $soundonwhisperbox, $settingup
Func setbobcolor()
$pos = MouseGetPos()
global $bobcolor = PixelGetColor($pos[0], $pos[1])
IniWrite('settings.ini', 'Settings', 'bobcolor', $bobcolor)
GUICtrlSetBkColor($bobcolorlabel, $bobcolor)
;GUICtrlSetData($bobcolorlabel, $bobcolor)
EndFunc
Func info()
MsgBox(64, $wintitle, "Eeerm... i'll probably make some kind of helpthingy here someday.. "& @CRLF & "If you have any questions* mail them to <[email protected]>, or send a PM to ziao on MMOWNED.COM (love that site :D)"& @CRLF & ""& @CRLF & "*no questions about not getting the bot to work, or ill have to chop off both your pinky's")
EndFunc
Func savesettings()
IniWrite('settings.ini', 'Settings', 'stopafterfish', GUICtrlRead($stopafterfishinput))
global $stopafterfish = GUICtrlRead($stopafterfishinput)
IniWrite('settings.ini', 'Settings', 'hotkey', GUICtrlRead($hotkeyinput))
global $hotkey = GUICtrlRead($hotkeyinput)
IniWrite('settings.ini', 'Settings', 'msgonwhisper', GUICtrlRead($msgonwhisperinput))
global $msgonwhisper = GUICtrlRead($msgonwhisperinput)
IniWrite('settings.ini', 'Settings', 'tolerance', GUICtrlRead($toleranceinput))
global $tolerance = GUICtrlRead($toleranceinput)
IniWrite('settings.ini', 'Settings', 'splashtolerance', GUICtrlRead($splashtoleranceinput))
global $splashtolerance = GUICtrlRead($splashtoleranceinput)
IniWrite('settings.ini', 'Settings', 'exitonwhisper', GUICtrlRead($exitonwhisperbox))
global $exitonwhisper = GUICtrlRead($exitonwhisperbox)
IniWrite('settings.ini', 'Settings', 'screenonwhisper', GUICtrlRead($screenonwhisperbox))
global $screenonwhisper = GUICtrlRead($screenonwhisperbox)
IniWrite('settings.ini', 'Settings', 'soundonbite', GUICtrlRead($soundonbitebox))
global $soundonbite = GUICtrlRead($soundonbitebox)
IniWrite('settings.ini', 'Settings', 'soundonwhisper', GUICtrlRead($soundonwhisperbox))
global $soundonwhisper = GUICtrlRead($soundonwhisperbox)
EndFunc
Func areasetup()
GUICtrlSetState($areasetupbutton, $GUI_DISABLE)
if Not $settingup Then
Global $settingup = 1
msg('Put your mouse in the topleft corner of the searcharea'& @CRLF & 'and press space to close this window')
$pos = MouseGetPos()
global $areal = $pos[0]
global $areat = $pos[1]
msg('Now put your mouse in the bottom-right corner and press space again')
$pos = MouseGetPos()
global $arear = $pos[0]
global $areab = $pos[1]
sleep(500)
MouseMove($areal, $areat, 5)
MouseMove($arear, $areat, 5)
MouseMove($arear, $areab, 5)
MouseMove($areal, $areab, 5)
MouseMove($areal, $areat, 5)
iniwrite('settings.ini', 'Settings', 'areal', $areal)
iniwrite('settings.ini', 'Settings', 'areat', $areat)
iniwrite('settings.ini', 'Settings', 'arear', $arear)
iniwrite('settings.ini', 'Settings', 'areab', $areab)
Global $settingup = 0
GUICtrlSetState($areasetupbutton, $GUI_ENABLE)
EndIf
EndFunc
Func msg($txt)
MsgBox(64, $wintitle, $txt)
EndFunc
Func logsetup() ;function to add a new part to the log
FileDelete('temp/LOG.txt')
Global $open = fileopen('temp/LOG.txt', 1)
FileWrite($open, 'Bot started on ' & @MDAY & '-' & @MON & ' at ' & @HOUR & ':' & @MIN & ':' & @SEC & @CRLF & '---------------------' & @CRLF)
EndFunc
func add2log($txt) ;function to add a line to the log
FileWrite($open, '[' & @HOUR & ':' & @MIN & '] ' & $txt & @CRLF)
EndFunc
Func nothing()
;do nothing xD
EndFunc
Func tt($txt)
if $stopafterfish = 0 Then
$tt = '[' & $fishcatched & ']: '
Else
$tt = '[' & $fishcatched & '/' & $stopafterfish & ']: '
EndIf
ToolTip($tt & $txt, 4, 4)
EndFunc
if not WinExists('World of Warcraft') Then
msg('Please start WoW first, then run the bot')
Exit
EndIf
HotKeySet('{f9}', 'setbobcolor')
HotKeySet('{f10}', 'stopfishing')
HotKeySet('{f11}', 'pausefishing')
WinActivate('World of Warcraft')
sleep(1000)
logsetup()
GUICreate($wintitle, 300, 290) ; will create a dialog box that when displayed is centered
GUISetState (@SW_SHOW) ; will display an empty dialog box
GUISetBkColor (0xEBE9ED)
;bobcolor
GUICtrlCreateGroup ( "Current bobcolor:", 5, 5, 110, 40)
;$bobcolorlabel = GUICtrlCreateLabel ($bobcolor, 10,20, 100, 20)
$bobcolorlabel = GUICtrlCreateLabel (' ', 10,20, 100, 20)
GUICtrlSetBkColor($bobcolorlabel, $bobcolor)
;fishcatched
GUICtrlCreateGroup ( "Splash Tolerance:", 120, 5, 175, 40)
;$fishcatchedlabel = GUICtrlCreateLabel ("Fishes caught: 0", 125, 22, 100, 20)
$splashtoleranceinput = GUICtrlCreateInput($splashtolerance, 125, 22, 125, 20)
;tolerance and area
GUICtrlCreateGroup ( "Search area and color tolerance:", 5, 50, 290, 40)
$areasetupbutton = GUICtrlCreateButton('Setup the Search area', 10, 65, 150, 20)
$toleranceinput = GUICtrlCreateInput($tolerance, 165, 65, 125, 20)
;stop after
GUICtrlCreateGroup ( "Stop after: (0 for unlimited)", 5, 95, 145, 40)
GUICtrlCreateLabel ("fishes", 115,112, 30, 20)
$stopafterfishinput = GUICtrlCreateInput($stopafterfish, 10, 110, 100, 20)
;hotkey
GUICtrlCreateGroup ( "Hotkey", 155, 95, 140, 40)
$hotkeyinput = GUICtrlCreateInput($hotkey, 160, 110, 130, 20)
;security
GUICtrlCreateGroup ( "Security:", 5, 140, 175, 100)
$soundonwhisperbox = GUICtrlCreateCheckbox('Play a sound on whisper', 10, 155)
$soundonbitebox = GUICtrlCreateCheckbox('Play a sound on bite', 10, 175)
$screenonwhisperbox = GUICtrlCreateCheckbox('Take a screenshot on whisper', 10, 195)
$exitonwhisperbox = GUICtrlCreateCheckbox('Exit game on whisper', 10, 215)
if $exitonwhisper = 1 Then GUICtrlSetState($exitonwhisperbox, $GUI_CHECKED)
if $screenonwhisper = 1 Then GUICtrlSetState($screenonwhisperbox, $GUI_CHECKED)
if $soundonbite = 1 Then GUICtrlSetState($soundonbitebox, $GUI_CHECKED)
if $soundonwhisper = 1 Then GUICtrlSetState($soundonwhisperbox, $GUI_CHECKED)
;misc
GUICtrlCreateGroup ( "Misc:", 185, 140, 110, 100)
$startbutton = GUICtrlCreateButton('Start bot!', 190, 155, 100, 19)
$savebutton = GUICtrlCreateButton('Save settings', 190, 175, 100, 19)
$infobutton = GUICtrlCreateButton('Help', 190, 195, 100, 19)
$exitbutton = GUICtrlCreateButton('Exit bot', 190, 215, 100, 19)
;message upon exit (whisper)
GUICtrlCreateGroup ( "Message to send when you get a whisper", 5, 245, 290, 40)
$msgonwhisperinput = GUICtrlCreateInput($msgonwhisper, 10, 260, 280, 20)
WinActivate($wintitle)
While $guiaan
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE or $msg = $exitbutton Then
savesettings()
Exit
EndIf
if $msg = $infobutton Then
info()
EndIf
if $msg = $savebutton Then
savesettings()
msg('Your settings are saved.')
EndIf
If GUICtrlRead($exitonwhisperbox) = 1 Then ;exitonwhisper staat aan
if GUICtrlGetState($msgonwhisperinput) = 144 Then ;kijken of input al aan is
GUICtrlSetState($msgonwhisperinput, $GUI_ENABLE)
EndIf
Else ;exitonwhisper staat UIT
if GUICtrlGetState($msgonwhisperinput) = 80 Then ;kijken of inpu tal uit is
GUICtrlSetState($msgonwhisperinput, $GUI_DISABLE)
EndIf
EndIf
if $msg = $areasetupbutton Then
areasetup()
EndIf
if $msg = $startbutton Then
savesettings()
$guiaan = 0
EndIf
Wend
$bobcolor = IniRead('settings.ini', 'Settings', 'bobcolor', '0xffffff')
$stopafterfish = IniRead('settings.ini', 'Settings', 'stopafterfish', '0')
$hotkey = IniRead('settings.ini', 'Settings', 'hotkey', '1')
$msgonwhisper = IniRead('settings.ini', 'Settings', 'msgonwhisper', 'Sorry, im going to bed. Night!')
$tolerance = IniRead('settings.ini', 'Settings', 'tolerance', '5')
$splashtolerance = IniRead('settings.ini', 'Settings', 'splashtolerance', '20')
$exitonwhisper = IniRead('settings.ini', 'Settings', 'exitonwhisper', '')
$screenonwhisper = IniRead('settings.ini', 'Settings', 'screenonwhisper', '')
$soundonbite = IniRead('settings.ini', 'Settings', 'soundonbite', '')
$soundonwhisper = IniRead('settings.ini', 'Settings', 'soundonwhisper', '')
$areal = IniRead('settings.ini', 'Settings', 'areal', '')
$areat = IniRead('settings.ini', 'Settings', 'areat', '')
$arear = IniRead('settings.ini', 'Settings', 'arear', '')
$areab = IniRead('settings.ini', 'Settings', 'areab', '')
$ssnumber = 0
Func castpole()
GUICtrlSetState($startbutton, $GUI_DISABLE)
GUICtrlSetState($exitbutton, $GUI_DISABLE)
WinActivate('World of Warcraft')
WinWaitActive('World of Warcraft')
Send($hotkey)
Global $timerstart = TimerInit()
whisperscan()
tt('Casting pole..')
sleep(3000)
tt('Searching for bob..')
$pos = PixelSearch($areal, $areat, $arear, $areab, $bobcolor, $tolerance, 3)
if not @error Then
tt('Found the bob!')
MouseMove($pos[0], $pos[1], 0)
global $bobx = $pos[0]
global $boby = $pos[1]
waitforbite()
EndIf
EndFunc
Func waitforbite()
whisperscan()
$splashl = $bobx - 30
$splasht = $boby - 30
$splashr = $bobx + 30
$splashb = $boby + 30
tt('Waiting for bite..')
;msg($splashtolerance)
while TimerDiff($timerstart) < 30000
$pos = PixelSearch($splashl, $splasht, $splashr, $splashb, '0xffffff', $splashtolerance, 2)
if not @error Then
tt('Bite!')
loot()
$timerstart = 30000
EndIf
WEnd
EndFunc
Func loot()
if $soundonbite = 1 Then SoundPlay('bait.wav')
Send('{shiftdown}')
MouseMove($bobx, $boby, 0)
sleep(50)
MouseClick('right')
Send('{shiftup}')
tt('Catched a fish!')
$fishcatchednew = $fishcatched + 1
global $fishcatched = $fishcatchednew
if $fishcatched < $stopafterfish or $stopafterfish = 0 Then
sleep(2000)
Else
add2log('Desired amount of fish catched, shutting down')
WinClose('World of Warcraft')
exit
EndIf
EndFunc
Func whisperscan()
$whispercolor = '0xAB57AF'
$data = WinGetPos('World of Warcraft')
tt('Scanning for whispers..')
PixelSearch($data[0], $data[1], $data[0] + $data[2], $data[1] + $data[3], $whispercolor, 3, 5)
if Not @error Then
;whisper found
tt('Whisper found')
if $soundonwhisper = 1 Then SoundPlay('whisper.wav')
if $screenonwhisper = 1 Then
screenshot()
EndIf
if $exitonwhisper = 1 Then
Send('r')
sleep(5000)
Send($msgonwhisper & '{ENTER}')
screenshot()
sleep(1000)
add2log('An incoming whisper was found - shutting down')
WinClose('World of Warcraft')
EndIf
EndIf
EndFunc
Func pausefishing()
if TimerDiff($pausetimer) > 1000 Then
if $pause Then
Global $pause = 0
tt('Resuming fishing..')
Else
Global $pause = 1
tt('Fishing paused, press the pause key again to resume')
EndIf
while $pause
sleep(100)
WEnd
Global $pausetimer = TimerInit()
EndIf
EndFunc
Func screenshot()
tt('Taking screenshot..')
$ssnumber = $ssnumber + 1
DllCall("FB.dll", "int", "CaptureScreen", "str", "temp/screenshot_" & $ssnumber & ".jpg", "int", 85)
EndFunc
Func stopfishing()
add2log('The bot was closed by the user, '& $fishcatched &' fish were catched')
Exit
EndFunc
GuiSetState(@SW_HIDE)
HotKeySet('{scrolllock}', 'stopfishing')
HotKeySet('{pause}', 'pausefishing')
HotKeySet('{f9}', 'nothing')
While 1
castpole()
WEnd