SCAR Code:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// ******************* ********* ************** ****** ** ********* //
// * * * * * * * * * * * * //
// ******** ******** * * * * * * * * * * //
// * * * * * *********** * * * * //
// * * * * * * * * ****** * //
// * * * * * *********** * * * * //
// * * * * * * * * * * //
// ************** * * * * *********** * ************* * * //
// * * * * * * * * ******** * //
// ****************** * * ************** ****************** *********** Scripts (C) TradeMark Icon: Omaallys :D //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
program Guild_fisher_and_banker;
{.include SRL/SRL.Scar}
{.include SRL/SRL/skill/Fishing.scar}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
// Setup SRL stats + fishing colors here \\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
const
YourID = '6198'; //Your SRL id
YourPW = 'Luka'; //Your Stats PW here
FishingSpotColor = 2525 ; //Example Color will fix later
WhirlPoolColor = 2352 ; //Example COlor will fix later
BankSymbol = 2522 ; //Example COlor will fix later
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
//Dont touch below here apart from Setup players\\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
var x,y,HarpoonCount,Ran,EquipmentLost,FishSymbolDTM,FishSpotDTM,BankDTM,FishBubblesDTM,TotalCount,Shark1DTM,Shark2DTM,LoadCOunt,HarpoonDTM: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers:= 1; //Change to your liking :)
NumberOfPlayers(HowManyPlayers);
Players[0].Name:=''; //username
Players[0].Pass:=''; //Password
Players[0].Nick:=''; //Nickname here 3-4 letters no nums
Players[0].Active:= True ; //Are you using this player?
Players[0].Worked:= 10 ; //How many fishing trips do you want to do?
{ Players[1].User:='Username'; //username
Players[1].Pass:='Password'; //Password
Players[1].Nick:='Nickname'; //Nickname here 3-4 letters no nums!
Players[1].Active:='True' ; //Are you using this player?
Players[1].Worked:= 100 ; //How many Loads you wanna do }
end;
procedure DTMS;
begin
HarpoonDTM:= DTMFromString('78DA632C646060F06340038C4824030300194' +
'300C3');
FishSpotDTM:= DTMFromString('78DA63F4666060B06040013A17FF836946281' +
'F002E4A0282');
FishSymbolDTM:= DTMFromString('78DA632C67606088644001C2EBDE836946281' +
'F0033D00283');
FishBubblesDTM:=DTMFromString('78DA63FCC9C0C0D0C58002A6CD5E0CA619A17' +
'C004E70035A');
BankDTM:= DTMFromString('78DA634C666060F0614001D571AE609A11CA0' +
'700280501D0');
Shark1DTM:= DTMFromString('78DA639CC2C0C010C780061891480606001FF' +
'C00F6');
Shark2DTM:= DTMFromString('78DA639CC2C0C010C780061891480606001FF' +
'C00F6');
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
// Dont touch below here it is end of Setup! \\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
// Anti Ban here \\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
procedure AntiBan;
begin
if not LoggedIn then Exit;
case (Random(30)) of
1: RandomRClick;
5: HoverSkill('Woodcutting',False);
11: RandomMovement;
15: BoredHuman;
21: DoEmote(400 +Random(90));
24: PickUpMouse;
27: begin
GameTab(1 + Random(12));
Wait(3200 + Random(2415));
GameTab(4);
end;
30: SleepAndMoveMouse(3600);
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
//Anti Randoms located here make sure you have set nick!\\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
procedure AntiRandoms;
begin
FindNormalRandoms;
if FindFight then
begin
RunAway('W',True,1,5000+Random(1000));
end;
end;
procedure Walk;
begin
if (FindDTM(FishSpotDTM,x,y,166,164,608,457)) then
if not LoggedIn then exit;
if (InvFull = True) then exit;
MMouse(609,129,4,4);
wait(100+random(50));
Mouse(609,129,1,1,true);
AntiBan;
wait(6000+random(2000));
wait(1500+random(500))
if(FindDTM(FishSpotDTM,x,y,166,164,608,457))then
begin
SetRun(True)
writeln('Walking to fishing spot.');
AntiRandoms;
MMouse(x, y, 5, 5);
wait(100+random(50));
Mouse(x, y, 1, 1, true);
wait(3000+random(1000))
Antiban;
AntiRandoms;
wait(2000+random(500))
end;
end;
Procedure CatchingZeFish;
begin
if (InvFull = true) or (LoggedIn = false) then exit;
repeat
AntiRandoms;
AntiBan;
repeat
wait(500+random(500));
GameTab(4);
if(FindSymbol(x,y, 'water source')) then logout;
Exit;
begin
if not(FindDTM(HarpoonDTM,x,y,550,205,735,255))then
begin
EquipmentLost:= 1;
writeln('Cant find Harpoon ')
if not FindObjCustom(x, y, ['Harp', 'arp oo', 'poo'], [1053978, 1185564, 1844268], 3) then exit;
wait(1500+random(500));
Mouse(x, y, 1, 1, true);
writeln('Found Harpoon on ground.')
if not(FindDTM(HarpoonDTM,x,y,550,205,735,255))then exit;
writeln('Harpoon sucsesfully picked up.')
inc(HarpoonCount);
end;
end;
begin
if FindObjCustom(x, y, ['Har','poo','oon'], [12828090, 11182231], 3) then
wait(100+random(50));
Mouse(x,y,1,1,False);
wait(500+random(500))
end;
wait(5000+random(2500));
if FindFight=true then
begin
RunAway('W',true,1,5000+random(2500));
Ran := Ran + 1;
end;
AntiRandoms;
AntiBan;
if FindFight=true then
begin
RunAway('W',true,1,5000+random(2500));
Ran := Ran + 1;
end;
GameTab(4);
wait(3000+random(2500));
if FindFight=true then
begin
RunAway('W',true,1,5000+random(2500));
Ran := Ran + 1;
end;
until(InvFull = true);
until(InvFull = true);
MMouse(648,57,4,4);
wait(100+random(50));
Mouse(648,57,1,1,true);
wait(2000+random(1000))
end;
procedure WalkingToBank;
begin
if not LoggedIn then exit;
if not (InvFull = true) then exit;
wait(1000+random(500))
if(FindSymbol(x,y,'bank'))then
begin
Writeln('Bank found.');
MMouse(x, y, 5, 5);
wait(100+random(50));
Mouse(x, y, 1, 1, true);
wait(5000+random(1000));
AntiBan;
AntiRandoms;
wait(4500+random(1000));
end;
end;
begin
if not (FindSymbol(x,y,'bank'))then
Exit;
begin
if FindDTM(BankDTM,x,y,677,202,730,274))then
MMouse(x, y, 5, 5);
wait(100+random(50));
Mouse(x, y, 1, 1, true);
wait(5000+random(1000));
AntiBan;
AntiRandoms;
wait(4500+random(1000));
end;
procedure Bank;
begin
if not LoggedIn then exit;
if not (InvFull = true) then exit;
repeat
if FindObjCustom(x, y, ['se Ba', 'ank b', 'oth'], [605264, 3685438, 2313826, 6192526], 3) then
begin
MMouse(x,y,5,5);
wait(100+random(50));
Mouse(x,y,1,1,False);
wait(1000+random(500))
if ChooseOption('se-q') then
begin
TotalCount:= TotalCount + CountItemsIn('inv', 'dtm', SharkDTM, []);
TotalCount:= TotalCount + CountItemsIn('inv', 'dtm', Shark2DTM, []);
wait(3500+random(500));
deposit(3,28,true);
wait(1500+random(500));
MMouse(489,33,4,4);
wait(100+random(50));
Mouse(489,33,1,1,true);
wait(1500+random(500));
end;
end;
until(InvFull = false)
inc(LoadCount);
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
//This will find Whirlpools Credits go to Wizzup? for his fisher \\
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\
Function FindWhirlPool(x, y: integer): Boolean;
Var
FishPoints: TPointArray;
cts: Integer;
Begin
Result := False;
If Not LoggedIn Then Exit;
cts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
setcolorspeed2modifiers(20.0, 2.0);
FindColorsTolerance(FishPoints, 13947343, x - 20, y - 20, x + 20, y + 20, 5);
setcolorspeed2modifiers(0.2, 0.2);
If Length(FishPoints) < 2000 Then
Exit;
WriteLn('WhirlPool pixels: ' + IntToStr(Length(FishPoints)));
If Length(FishPoints) > Round(230 * WhirlPoolAcc) Then
Begin
WhirlPools := Whirlpools + 1;
WriteLn(FloatToStr(Length(FishPoints) / 1600.0)+ '% is whirlpool');
Result := True;
End;
ColorToleranceSpeed(cts);
End;
procedure WithDrawHarpoons;
begin
if not LoggedIn then exit;
MMouse(648,57,4,4);
wait(100+random(50));
Mouse(648,57,1,1,true);
wait(2000+random(1000))
if not(FindSymbol(x,y,'bank'))then exit;
Writeln('Bank found.');
MMouse(x, y, 5, 5);
wait(100+random(50));
Mouse(x, y, 1, 1, true);
wait(5000+random(1000));
AntiBan;
AntiRandoms;
wait(4500+random(1000));
if FindObjCustom(x, y, ['se Ba', 'ank b', 'oth'], [605264, 3685438, 2313826, 6192526], 3) then
begin
MMouse(x,y,5,5);
wait(100+random(50));
Mouse(x,y,1,1,False);
wait(1000+random(500))
if ChooseOption('se-q') then
begin
TotalCount:= TotalCount + CountItemsIn('inv', 'dtm', Shark1DTM, []);
TotalCount:= TotalCount + CountItemsIn('inv', 'dtm', Shark2DTM, []);
wait(3500+random(500));
deposit(1,28,true);
wait(1500+random(500));
if (EquipmentLost=1) then
if not FindDTM(HarpoonDTM,x,y,550,205,735,255) then
begin
if FindDTM(HarpoonDTM,x,y,25,85,500,300) then
begin
MMouse(x,y,5,5);
wait(100+random(50));
Mouse(x,y,1,1,False);
wait(400+random(100))
ChooseOption('draw-1');
EquipmentLost:= 0;
end;
end;
if not EquipmentLost=0 then writeln('Could not find the needed equipment on bank.');
if not EquipmentLost=0 then logout;
MMouse(609,129,4,4);
wait(100+random(50));
Mouse(609,129,1,1,true);
AntiBan;
wait(6000+random(2000));
inc(HarpoonCount);
end;
procedure ProgressReport;
begin
writeLn('!~!~~!~!~!~!~!~!~!~!~!~!~!~!~!!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!');
writeLn('Shark_Drowner V1 ');
writeLn('Ran for: ' + TimeRunning);
writeLn('Fights evaded: ' + IntToStr(Ran));
writeLn('Harpoons: ' + IntToStr(HarpoonCount));
writeLn('$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%');
Writeln('Total Sharks caught: ' + IntToStr(TotalCount) + ' out of ' + IntToStr(Players[CurrentPlayer].Integers[0]) + ' fish.');
writeLn('Loads banked: ' + IntToStr(LoadCount));
writeLn('$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%');
end;
begin
cleardebug;
init;
setupsrl;
lampskill:='fishing'; //Change into any skill... make sure its written corretly!
declareplayers;
currentplayer:=0;
logout;
closefile(rewritefile('C:\WINDOWS\.jagex_cache_32\uid.dat',true));
loginplayer;
Angle;
Repeat
if not loggedin then exit;
Walk;
CatchingZeFish;
WalkToBank;
Bank;
if EquipmentLost> 0 then
begin
WithdrawEquipment;
end;
if (InvFull = True) then break;
Cleardebug;
ProgressReport;
Until(TotalCount>= Players[CurrentPlayer].Integers[0]);then
end;
logout;
end.