SCAR Code:
program rustysautofisher;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Fishing.scar}
{.include SRL/SRL/Extended/xMapWalk.scar}
{
Rusty's auto fisher!
-Features-
Options to fish in draynor, lumbridge, guild, catherby, and barbarian village.
Good banking procedure, never fails
Full anti randoms
Full anti ban
Can run all night
Easy to do setup-anyone can do it!
-Instructions-
Full out the setup
Specify the window
Start near the fishing spot
Have fishing utensil in first inventory slot, bait or feathers in second iventory slot if they are needed.
Run!
Note: If you're doing lumbridge, there is no banking.
The bank is way too far off.
It's only power fishing.
}
//Setup
Const
thefishis = 'lobster'; //what fish, options are shrimp (does both shrimp and anchovies), trout (trout and salmon), pike, lobster, tuna (tuna and swordfish), or shark
theplaceis = 'catherby'; //where, options are catherby, guild, draynor, lumbridge, and barbvill.
loadstodo = 1000; //loads to do
//End of setup
//Don't touch below
var
loads, fish, startlevel, endlevel, levelsgained, startxp, endxp, xpgained:Integer;
FishText:String;
run3:Boolean;
Shrimp, Trout, Pike, Lobsters, Tuna, Sharks:Integer;
i:Integer;
procedure progressreport;
begin
AddToReport('Rustys autofisher has done...');
AddToReport('Loads: '+inttostr(loads));
AddToReport('Fish: '+inttostr(fish));
AddToReport('Levels gained: '+inttostr(levelsgained));
AddToReport('XP Gained: '+inttostr(xpgained));
AddToReport('I hope you had as much fun autoing as I did making the script!');
end;
procedure mehantirandoms;
begin
FindNormalRandoms;
FindFishingEquipmentColor;
FindPlant;
if (FindFight = true) then
begin
RunAwayDirection('S');
Wait(10000);
RunBack;
end;
if (FindMSColor(x, y, FishingEquipmentColor)) then
begin
Mouse(x, y, 1, 1, true);
end;
HandleWhirlPool;
end;
procedure mehantiban;
begin
RotateEvery(1);
AntiBan;
RandomChat;
EnglishWords;
end;
procedure tothefish2;
begin
SetRun(true);
GameTab(4);
if theplaceis = 'catherby' then
begin
if (FindSymbol(x, y, 'archery shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
if (FindSymbol(x, y, 'fishing shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
end;
end;
end;
if theplaceis = 'guild' then
begin
Mouse(675, 115, 1, 1, true);
GetSymbolColor(x, y, 'fishing spot');
Mouse(x, y, 1, 1, true);
end;
if theplaceis = 'barbvill' then
begin
Mouse(945, 269, 0, 0, true);
Wait(5000);
Mouse(937, 250, 0, 0, true);
Wait(5000);
Mouse(944, 395, 0, 0, true);
Wait(5000);
Mouse(943, 302, 0, 0, true);
Wait(5000);
Mouse(935, 316, 0, 0, true);
Wait(5000);
end;
repeat
if (FindColorSpiralTolerance(x,y,15515792,5,5,514,337,20)) then
begin
Mouse(x, y, 1, 1, false);
end;
until(ChooseOption(x, y, FishText))
If(ChooseOption(x, y, FishText)) then
begin
ClickMSColor(15515792, false);
if thefishis = 'shrimp' then
begin
if (ChooseOption(x, y, 'Net')) then
begin
end;
end;
if thefishis = 'trout' then
begin
if (ChooseOption(x, y, 'Lure')) then
begin
end;
end;
if thefishis = 'pike' then
begin
if (ChooseOption(x, y, 'Bait')) then
begin
end;
end;
if thefishis = 'lobster' then
begin
if (ChooseOption(x, y, 'Cage')) then
begin
end;
end;
if thefishis = 'tuna' then
begin
if (ChooseOption(x, y, 'Harpoon')) then
begin
end;
end;
if thefishis = 'shark' then
begin
if (ChooseOption(x, y, 'Harpoon')) then
begin
end;
end;
end;
if (InvFull = true) then
SetRun(true);
run3:=true;
end;
procedure todabank2;
begin
SetRun(true);
GameTab(4);
if theplaceis = 'catherby' then
begin
if (FindSymbol(x, y, 'fishing shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
if (FindSymbol(x, y, 'archery shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
OpenBank3;
Deposit(2, 28, 2);
Closebank;
tothefish2;
end;
end;
end;
end;
if theplaceis = 'guild' then
begin
Mouse(607, 96, 1, 1, true);
Wait(8000);
GetSymbolColor(x, y, 'bank');
Mouse(x, y, 1, 1, true);
KeyDown(40);
Wait(2000);
KeyUp(40);
MakeCompass('W');
Wait(5000);
OpenBank3;
Deposit(2, 28, 2);
Closebank;
KeyDown(38);
Wait(2000);
KeyUp(40);
MakeCompass('N');
tothefish2;
end;
if theplaceis = 'barbvill' then
begin
Mouse(935, 316, 0, 0, true);
Wait(5000);
Mouse(943, 302, 0, 0, true);
Wait(5000);
Mouse(944, 395, 0, 0, true);
Wait(5000);
Mouse(937, 250, 0, 0, true);
Wait(5000);
Mouse(945, 269, 0, 0, true);
Wait(5000);
OpenBank3;
Deposit(3, 28, 2);
Closebank;
tothefish2;
end;
if theplaceis = 'draynor' then
begin
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 1, 1, true);
SendArrowSilentWait(2, 500 + Random(500));
SendArrowSilentWait(4, 500 + Random(500));
OpenBank3;
Deposit(2, 28, 2);
Closebank;
tothefish2;
end;
end;
if theplaceis = 'lumbridge' then
begin
DropToPosition(3, 28);
end;
loads:=loads + 1;
tothefish2;
end;
procedure tothefish;
begin
SetRun(true);
GameTab(4);
if theplaceis = 'catherby' then
begin
if (FindSymbol(x, y, 'archery shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
if (FindSymbol(x, y, 'fishing shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
end;
end;
end;
if theplaceis = 'guild' then
begin
Mouse(706,81, 1, 1, true);
Wait(5000);
GetSymbolColor(x, y, 'fishing spot');
Mouse(x, y, 1, 1, true);
end;
if theplaceis = 'barbvill' then
begin
Mouse(945, 269, 0, 0, true);
Wait(5000);
Mouse(937, 250, 0, 0, true);
Wait(5000);
Mouse(944, 395, 0, 0, true);
Wait(5000);
Mouse(943, 302, 0, 0, true);
Wait(5000);
Mouse(935, 316, 0, 0, true);
Wait(5000);
end;
repeat
repeat
if (FindColorSpiralTolerance(x,y,15515792,5,5,514,337,20)) then
begin
Mouse(x, y, 1, 1, false);
end;
until(ChooseOption(x, y, FishText))
If(ChooseOption(x, y, FishText)) then
begin
ClickMSColor(15515792, false);
if thefishis = 'shrimp' then
begin
if (ChooseOption(x, y, 'Net')) then
begin
GameTab(4);
for i := 1 to 28 do
if (ExistsItem(i)) then
Shrimp := Shrimp + 1;
if Shrimp = 28 then
SetRun(true);
todabank2;
end;
end;
if thefishis = 'trout' then
begin
if (ChooseOption(x, y, 'Lure')) then
begin
GameTab(4);
for i := 1 to 28 do
if (ExistsItem(i)) then
Trout := Trout + 1;
if Trout = 28 then
SetRun(true);
todabank2;
end;
end;
if thefishis = 'pike' then
begin
if (ChooseOption(x, y, 'Bait')) then
begin
GameTab(4);
for i := 1 to 28 do
if (ExistsItem(i)) then
Pike := Pike + 1;
if Pike = 28 then
SetRun(true);
todabank2;
end;
end;
if thefishis = 'lobster' then
begin
if (ChooseOption(x, y, 'Cage')) then
begin
GameTab(4);
for i := 1 to 28 do
if (ExistsItem(i)) then
Lobsters := Lobsters + 1;
if Lobsters = 28 then
SetRun(true);
todabank2;
end;
end;
if thefishis = 'tuna' then
begin
if (ChooseOption(x, y, 'Harpoon')) then
begin
GameTab(4);
for i := 1 to 28 do
if (ExistsItem(i)) then
Tuna := Tuna + 1;
if Tuna = 28 then
SetRun(true);
todabank2;
end;
end;
if thefishis = 'shark' then
begin
if (ChooseOption(x, y, 'Harpoon')) then
begin
GameTab(4);
for i := 1 to 28 do
if (ExistsItem(i)) then
Sharks :=Sharks + 1;
if Sharks = 28 then
SetRun(true);
todabank2;
end;
end;
end;
Wait(15000);
until(InvFull)
end;
procedure todabank;
begin
SetRun(true);
GameTab(4);
if theplaceis = 'catherby' then
begin
if (FindSymbol(x, y, 'fishing shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
if (FindSymbol(x, y, 'archery shop')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 1, 1, true);
Wait(5000);
OpenBank3;
Deposit(2, 28, 2);
Closebank;
tothefish;
end;
end;
end;
end;
if theplaceis = 'guild' then
begin
Mouse(607, 96, 1, 1, true);
Wait(8000);
GetSymbolColor(x, y, 'bank');
Mouse(x, y, 1, 1, true);
KeyDown(40);
Wait(2000);
KeyUp(40);
MakeCompass('W');
Wait(5000);
OpenBank3;
Deposit(2, 28, 2);
Closebank;
KeyDown(38);
Wait(2000);
KeyUp(40);
MakeCompass('N');
tothefish;
end;
if theplaceis = 'barbvill' then
begin
Mouse(935, 316, 0, 0, true);
Wait(5000);
Mouse(943, 302, 0, 0, true);
Wait(5000);
Mouse(944, 395, 0, 0, true);
Wait(5000);
Mouse(937, 250, 0, 0, true);
Wait(5000);
Mouse(945, 269, 0, 0, true);
Wait(5000);
OpenBank3;
Deposit(3, 28, 2);
Closebank;
tothefish;
end;
if theplaceis = 'draynor' then
begin
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 1, 1, true);
OpenBank3;
Deposit(2, 28, 2);
Closebank;
tothefish;
end;
end;
if theplaceis = 'lumbridge' then
begin
DropToPosition(3, 28);
end;
loads:=loads + 1;
tothefish;
end;
procedure findthefish2;
begin
repeat
if (FindColorSpiralTolerance(x,y,15515792,5,5,514,337,20)) then
begin
Mouse(x, y, 1, 1, false);
end;
until(ChooseOption(x, y, FishText))
If(ChooseOption(x, y, FishText)) then
begin
ClickMSColor(15515792, false);
if thefishis = 'shrimp' then
begin
if (ChooseOption(x, y, 'Net')) then
begin
end;
end;
if thefishis = 'trout' then
begin
if (ChooseOption(x, y, 'Lure')) then
begin
end;
end;
if thefishis = 'pike' then
begin
if (ChooseOption(x, y, 'Bait')) then
begin
end;
end;
if thefishis = 'lobster' then
begin
if (ChooseOption(x, y, 'Cage')) then
begin
end;
end;
if thefishis = 'tuna' then
begin
if (ChooseOption(x, y, 'Harpoon')) then
begin
end;
end;
if thefishis = 'shark' then
begin
if (ChooseOption(x, y, 'Harpoon')) then
begin
end;
end;
end;
if (InvFull = true) then
SetRun(true);
todabank;
end;
procedure fishthefish;
begin
mehantiban;
mehantirandoms;
Wait(10000);
findthefish2;
if (InvFull = true) then
SetRun(true);
todabank;
end;
procedure findthefish;
begin
if thefishis = 'shrimp' then
begin
FishText:='Net';
end;
if thefishis = 'trout' then
begin
FishText:='Lure';
end;
if thefishis = 'pike' then
begin
FishText:='Lure';
end;
if thefishis = 'lobster' then
begin
FishText:='Cage';
end;
if thefishis = 'tuna' then
begin
FishText:='Cage';
end;
if thefishis = 'shark' then
begin
FishText:='Net';
end;
SetRun(true);
GameTab(4);
if (FindSymbol(x, y, 'fishing spot')) then
Mouse(x, y, 1, 1, true);
findthefish2;
end;
begin
SetupSRL;
startxp:=CurrentSkillXP('Fishing');
startlevel:=GetSkillLevel('Fishing');
if run3 = true then
begin
repeat
findthefish;
fishthefish;
mehantirandoms;
mehantiban;
until(loads = loadstodo)
end;
repeat
findthefish;
fishthefish;
mehantirandoms;
mehantiban;
until(loads = loadstodo)
if loads = loadstodo then
endxp:=GetSkillAmount('Fishing');
endlevel:=GetSkillLevel('Fishing');
levelsgained:=endlevel-startlevel;
xpgained:=endxp-startxp;
if theplaceis = 'catherby' then
begin
fish:=loads*27;
end;
if theplaceis = 'draynor' then
begin
fish:=loads*27;
end;
if theplaceis = 'guild' then
begin
fish:=loads*27;
end;
if theplaceis = 'barvill' then
begin
fish:=loads*26;
end;
if theplaceis = 'lumbridge' then
begin
fish:=loads*26;
end;
progressreport;
end.