I made this custom for myself, but if you follow my instructions you should be able to figure it out.
;Runescape Autofish/Autologon ;by Areaman ;START IN 1024 by 768 RESOLUTION, FULL WINDOWED MODE WITH THE ;GAME AT THE NOT LOGGED IN SCREEN ;Logs in to Runescape with the user/pass by clicking and typing ;Wait until after jagex window pops up to do anything, this ;will automatically close it ;TURN OFF CHAT AND BLOCK ALL TRADES, DUELS, AND PM's!!!! Login: Sleep, 5000 LeftClick, 559, 540 Sleep, 1000 LeftClick, 441, 509 Sleep, 250 Send, USERNAME Sleep, 250 Send, {ENTER} Sleep, 250 Send, Password Sleep, 500 LeftClick, 695, 499 Sleep, 8000 LeftClick, 580, 483 Sleep, 1000 SetEnv, end, 0 SetEnv, logcount, 1 SetEnv, error1, 0 Goto, GetPos ;Move mouse to bottom left of fishing spot and rest there, then top right ;It will ghost directions in the chat type window GetPos: Send, 5 seconds to bottom left Sleep, 5000 MouseGetPos, xpos1, ypos1 SetEnv, xpos2, %xpos1% SetEnv, ypos2, %ypos1% SetEnv, xmid, 0 SetEnv, ymid, 0 Send, {BACKSPACE 25} Send, 5 seconds to top right Sleep, 5000 MouseGetPos, xpos, ypos SetEnv, xpos3, %xpos% SetEnv, ypos3, %ypos% Send, {BACKSPACE 25} ;tempx = 50 SetEnv, tempx, %xpos1% ;tempx2 = 150 SetEnv, tempx2, %xpos% ;tempx2 = 100, or difference between left x and right x EnvSub, tempx2, %tempx% ;tempx2 is divided by 2 to get median EnvDiv, tempx2, 2 ;xmid was 0, now 50 as it is set to left x EnvAdd, xmid, %xpos1% ;50 is added to 50 (left x) to get middle of 2, 100 EnvAdd, xmid, %tempx2% ;tempy = 50, or top y SetEnv, tempy, %ypos% ;tempy2 = 150, or bottom y SetEnv, tempy2, %ypos1% ;tempy2 = 100 as 150-50=100, or difference between y's EnvSub, tempy2, %tempy% ;tempy2 divided by 2 to get median, or 50 EnvDiv, tempy2, 2 ;50 added to top y, as adding moves it downward, to reach median, or 100 EnvAdd, tempy, %tempy2% ;ymid becomes 100, or median SetEnv, ymid, %tempy% Send, Starting in 2 seconds Sleep, 2000 Send, {BS 21} Goto, Start2 ;Rightclicks and cages lobbies, then moves mouse a little to compensate ;the window shift that jagex uses to stop macros ;After a set amount of times it will stop, as the window shift will ;be too great to continue safely. Increase times if you want but be ;careful as to what might happen by itself. this automatically logs ;you out. Logout: Sleep, 250 MouseMove, 583, 269 Sleep, 250 LeftClick, 612, 532 IfGreaterOrEqual, logcount, 9, Exit Goto, Login2 Login2: Sleep, 5000 LeftClick, 559, 540 Sleep, 1000 LeftClick, 441, 509 Sleep, 250 Send, USERNAME Sleep, 250 Send, {ENTER} Sleep, 250 Send, PASSWORD Sleep, 500 Send, {ENTER} Sleep, 8000 LeftClick, 580, 483 Sleep, 1000 SetEnv, end, 0 Send, {BS 10} Send, %logcount%................ EnvAdd, logcount, 1 SetEnv, error1, 0 SetEnv, xpos1, %xpos2% SetEnv, ypos1, %ypos2% SetEnv, xpos, %xpos3% SetEnv, xpos, %xpos3% Goto, Start2 Start2: IfGreater, end, 25, Goto, Logout Send, {BS 2} Send, %end% Goto, Start Start: MouseMove, %xpos1%, %ypos1% PixelGetColor, color, 276, 261 IfEqual, color, 16776960, Goto, Clicking IfGreater, error1, 50, GoSub, Restart IfGreater, xpos1, %xpos%, GoSub, Xfix IfLess, ypos1, %ypos%, GoSub, Yfix EnvAdd, xpos1, 2 EnvSub, ypos1, 2 Goto, Start Start1: MouseMove, %xpos1%, %ypos1% PixelGetColor, color, 276, 261 IfEqual, color, 16776960, Goto, Clicking IfGreater, error1, 50, GoSub, Restart IfLess, ypos1, %ypos%, GoSub, Yfix1 EnvSub, ypos1, 2 Goto, Start1 Start3: MouseMove, %xpos1%, %ypos1% PixelGetColor, color, 276, 261 IfEqual, color, 16776960, Goto, Clicking IfGreater, error1, 50, GoSub, Restart IfGreater, xpos1, %xpos%, GoSub, Xfix1 EnvAdd, xpos1, 2 Goto, Start3 Start4: MouseMove, %xpos1%, %ypos1% PixelGetColor, color, 276, 261 IfEqual, color, 16776960, Goto, Clicking IfGreater, error1, 50, GoSub, Restart IfGreater, xpos1, %xpos%, GoSub, Xfix2 IfGreater, ypos1, %ypos2%, GoSub, Yfix2 EnvAdd, xpos1, 2 EnvAdd, ypos1, 2 Goto, Start4 Clicking: RightClick, %xpos1%, %ypos1% EnvAdd, ypos1, 45 EnvSub, xpos1, 10 Random, output, 100, 200 Sleep, %output% LeftClick, %xpos1%, %ypos1% Random, output, 4000, 5500 Sleep, %output% EnvSub, ypos1, 45 EnvAdd, xpos1, 10 EnvAdd, end, 1 Random, output, 1,4 IfLessOrEqual, output, 2, EnvAdd, xpos1, 1 Goto, Start2 Xfix: SetEnv, xpos1, %xmid% SetEnv, ypos1, %ypos2% EnvAdd, error1, 1 Goto, Start1 Yfix: SetEnv, ypos1, %ypos2% SetEnv, xpos1, %xmid% EnvAdd, error1, 1 Goto, Start1 Yfix1: SetEnv, ypos1, %ymid% SetEnv, xpos1, %xpos2% EnvAdd, error1, 1 Goto, Start3 Xfix1: SetEnv, ypos1, %ypos% SetEnv, xpos1, %xpos2% EnvAdd, error1, 1 Goto, Start4 Xfix2: SetEnv, xpos1, %xpos2% SetEnv, ypos1, %ypos2% EnvAdd, error1, 1 Goto, Start Yfix2: SetEnv, ypos1, %ypos2% SetEnv, xpos1, %xpos2% EnvAdd, error1, 1 Goto, Start Restart: SetEnv, error1, 0 SetEnv, end, 26 SetEnv, xpos1, %xpos2% Send, {BS 25} Goto, Start2