"program LobsterFisher;
{$DEFINE SMART8}
//Using Smart 8.3
{$I SRL-OSR/SRL.Simba}
//{$I SPS/sps-osr.simba}
{$I SRL-OSR/SRL/Reflection/Reflection.simba}
{$i SRL-OSR\SRL\misc\debug.simba}
{$i SRL-OSR/SRL/misc/al_functions.simba}
{$i SRL-OSR\SRL\misc\SmartGraphics.simba}
{$I SRL-OSR/SRL/skill/fighting.Simba}
var
X,Y,TriedTimes,FishSpot,V,AtBank,Lobsters,LobsterF ish,LobFound,DepositIt,DepositItt,BankFound,FishCa ge: Integer;
//Defining X,Y and others
Function isFishing: Boolean;
var
PBox: TBox;
begin
PBox := IntToBox(238, 169, 279, 217);
Result := (AveragePixelShift (Pbox, 250, 350) > 40);
end;
Procedure Antiban;
begin
case random(25) of
0: SmallRandomMouse;
1: RandomTab(True);
2: RandomRClick;
3,4,5,6: CompassMovement(25, 150, true);
7: RandomAngle(1);
8: RandomFKeys(True);
9: HoverMovingObject;
end;
end;
procedure DefineLetters;
begin
FishSpot := 1;
LobsterFish := BitmapFromString(8, 7, 'meJyTc60U0vKWcykFIkXPBuWALuXA' +
'XtXw6UJCYmKmcSBx10qIOFAQiGTs82Rss4CCyOJacYuBgoo+z XBxI' +
'Q13oDgjAwOQC1ITOkXOoxYkLiQGQUDFQEGNqLlaCcuAysSMIy UtEy' +
'EmYxF0KQUAS68s5g==');
DepositIt := BitmapFromString(70, 6, 'meJytVNsNwCAIZDsW8Nf9x6CJpIb' +
'gQaj04gcirwOVx5QFIuIx+d0qVNPX2yNaSBzPJQg2iJWhUpPa XB39' +
'hk162sDKoeUdo6YcjSCxtxOEfXCRPzHagDGLjHZ5sNsRo+TWd Ri5F' +
'l0zqvv+yMjNInrR0eyiOJE9rE1qP0OR0QNsyr9G');
DepositItt := BitmapFromString(68, 5, 'meJxjYGBwD4n9DwYMYDacCwEQEcr' +
'FkaUYwACPRqzakR2JlY1fCtkWSsThAC6OVQ1Wv8BlKfELhWxc wY5H' +
'PS6/4NdI0C9wQLZ/kZMT1rigm1/QEgbZfiFeL+V+AQAZWCi+');
FishCage := BitmapFromString(15, 12, 'meJyNkMEKgkAURVu68UtaBC2CQD' +
'CMUVRSTDGEEEHMrBBauezXu887SW1CuIsz887MvHnGOjCYTay zzXS' +
'sQscudeY4Tq0zU1OtLOdoqjW9e5KcZP+vRnMYXlGUVdUVMO1L fjWa' +
'iO/HdX0D5Pl5sdyRzaD/DkqUXe/Qtj1A+lm5TfMAp2mBSZblhQ5KB' +
'Mdxu+7JfiDwoPBGv8glwbb3lNEPBHIYHjEfvsKSfGr8OwX0M8 ly0C' +
'r4Cksij/OhgH5wG1mpADJZlz7zeQNxb54D');
end;
procedure FreeBitmaps;
begin
Freebitmap(LobsterFish);
Freebitmap(DepositIt);
Freebitmap(DepositItt);
Freebitmap(FishCage);
end;
procedure FindFish;
begin
if (AtBank = 1) then
begin
ClearDebug();
WriteLn('You have fished : ' + toStr(Lobsters) + ' Lobsters!');
WriteLn('You have made : ' + toStr(Lobsters*210) + ' GP roughly!');
WriteLn('Walking to the Fishing spot!');
R_BlindWalk(Point(2838, 3431));
Wait(1000);
ClearDebug;
AtBank := 2;
FishSpot := 1;
TriedTimes := 0;
end;
if (TriedTimes = 1) AND (FishSpot = 1) then
begin
TriedTimes := 0;
FishSpot := 2;
wait(200);
R_BlindWalk(Point(2845, 3428));//Spot2
wait(1000);
end;
if (TriedTimes = 1) AND (FishSpot = 2) then
begin
TriedTimes := 0;
FishSpot := 3;
wait(200);
R_BlindWalk(Point(2854, 3422));//Spot3
Wait(1500);
end;
if (TriedTimes = 3) AND (FishSpot = 3) then
begin
TriedTimes := 0;
FishSpot := 4;
wait(200);
R_BlindWalk(Point(2860, 3426));//Spot 4
Wait(1500);
end;
if (TriedTimes = 1) AND (FishSpot = 4) then
begin
TriedTimes := 0;
FishSpot := 1;
wait(200);
R_BlindWalk(Point(2837, 3430));//Spot1
Wait(1500);
end;
wait(500);
MakeCompass('N');
SetAngle(SRL_ANGLE_HIGH);
wait(1000);
if (FindObjCustom(x,y,['cage','cag','ca','ag','age'],[4597535, 14597268, 15123625, 14398100, 15058085],15)) then
begin
Wait(1000);
ClickMouse(X,Y,Mouse_Left)
clearDebug();
WriteLn('You have fished : ' + toStr(Lobsters) + ' Lobsters!');
WriteLn('You have made : ' + toStr(Lobsters*210) + ' GP roughly!');
WriteLn('Starting check for full inventory');
V := 1;
TriedTimes := 0;
repeat
if (isFishing) then
begin
Sleep(1500);
V := 1;
Antiban;
end else
begin
if FindBitmapToleranceIn(LobsterFish, X, Y, 680, 430, 730, 480, 20) OR
InvFull then
begin
r_BlindWalk(point(2808, 3439));
Wait(1000);
R_WalkPath([point(2808, 3439)]);
Wait(1500);
BankFound := 1;
MakeCompass('N');
SetAngle(SRL_ANGLE_HIGH);
wait(1000);
repeat
if (FindObjCustom(x,y,['de','po','sit','depo','epos','posit','epos','dep' ,'eposit','bank','ank','ban','an'],[607323, 606550,1514271,1580837],20)) then
begin
wait(1000);
if
IsUpText('eposit') OR
IsUpText('ank') OR
IsUpText('bank') OR
IsUpText('ban') then
begin
Wait(1000);
ClickMouse(X,Y,Mouse_Left)
clearDebug();
wait(3000);
LobFound := 0;
BankFound := 2;
repeat
if FindBitmapToleranceIn(LobsterFish, X, Y, 300, 100, 700, 350, 20)then
begin
wait(1000);
ClickMouse(X,Y,Mouse_Right)
wait(500);
if FindBitmapToleranceIn(DepositIt, X, Y, 0, 0, 730, 480, 20)or
FindBitmapToleranceIn(DepositItt, X, Y, 0, 0, 730, 480, 20)
then
begin
wait(500);
ClickMouse(X,Y,Mouse_Left)
Wait(1500);
ClearDebug;
LobFound := 1;
AtBank := 1;
Lobsters := Lobsters + 27;
WriteLn('You have fished : ' + toStr(Lobsters) + ' Lobsters!');
WriteLn('You have made : ' + toStr(Lobsters*210) + ' GP roughly!');
FindFish;
end;
end;
until (LobFound = 1);
end;
end;
until (BankFound = 2);
end else
begin
V := 2;
FishSpot := 4;
FindFish;
end;
end;
until (V = 2);
end else
begin
ClearDebug();
TriedTimes := TriedTimes + 1;
WriteLn('You have fished : ' + toStr(Lobsters) + ' Lobsters!');
WriteLn('You have made : ' + toStr(Lobsters*210) + ' GP roughly!');
WriteLn('Times tried to retry ' + IntToStr(TriedTimes) + '/1');
FindFish;
end;
end;
procedure StartBotting;
begin
DefineLetters;
if FindBitmapToleranceIn(FishCage, X, Y, 0, 0, 730, 480, 20)then
begin
AtBank := 1;
Wait(1500);
FindFish;
end else
WriteLn('No fishing cage
');
LogOut;
end;
begin
SetupSrl;
SetupReflection;
ClearDebug();
AddOnTerminate('FreeBitmaps');
StartBotting;
end. "