SCAR Code:
program KarajamaFisherAndBanker;
{.include SRL/SRL/misc/SMART.scar}
{.include SRL/SRL.scar}
{.include SRL/SRL/Reflection/Reflection.Scar}
{.include SRL/SRL/Skill/Fishing.scar}
var Path: TPointArray;
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
end;
function BankToBoat: TPointArray;
begin
SetLength(Result, 12);
Result[0] := Point(3085, 3248);
Result[1] := Point(3077, 3254);
Result[2] := Point(3070, 3263);
Result[3] := Point(3070, 3270);
Result[4] := Point(3067, 3277);
Result[5] := Point(3060, 3268);
Result[6] := Point(3054, 3257);
Result[7] := Point(3053, 3247);
Result[8] := Point(3041, 3248);
Result[9] := Point(3040, 3236);
Result[10] := Point(3028, 3236);
Result[11] := Point(3026, 3222);
end;
function BoatToLobbies: TPointArray;
begin
SetLength(Result, 9);
Result[0] := Point(2954, 3147);
Result[1] := Point(2946, 3147);
Result[2] := Point(2936, 3147);
Result[3] := Point(2930, 3150);
Result[4] := Point(2915, 3153);
Result[5] := Point(2916, 3159);
Result[6] := Point(2922, 3168);
Result[7] := Point(2924, 3173);
Result[8] := Point(2923, 3179);
end;
function LobbiesToBoat: TPointArray;
begin
SetLength(Result, 10);
Result[0] := Point(2924, 3178);
Result[1] := Point(2922, 3170);
Result[2] := Point(2920, 3166);
Result[3] := Point(2916, 3162);
Result[4] := Point(2914, 3155);
Result[5] := Point(2921, 3152);
Result[6] := Point(2931, 3149);
Result[7] := Point(2938, 3148);
Result[8] := Point(2949, 3148);
Result[9] := Point(2954, 3147);
end;
function BoatToBank: TPointArray;
begin
SetLength(Result, 13);
Result[0] := Point(3027, 3220);
Result[1] := Point(3027, 3233);
Result[2] := Point(3040, 3237);
Result[3] := Point(3043, 3248);
Result[4] := Point(3057, 3254);
Result[5] := Point(3061, 3262);
Result[6] := Point(3064, 3274);
Result[7] := Point(3069, 3276);
Result[8] := Point(3075, 3265);
Result[9] := Point(3078, 3253);
Result[10] := Point(3082, 3247);
Result[11] := Point(3091, 3248);
Result[12] := Point(3093, 3243);
end;
procedure WalkToBoat;
var i: integer;
begin
Path := BankToBoat;
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 3, 0);
end;
Wait(500+Random(300));
end;
procedure WalkToLobbies;
var i: integer;
begin
Path := BoatToLobbies;
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 3, 0);
end;
Wait(500+Random(300));
end;
procedure ReturnToBoat;
var i: integer;
begin
Path := LobbiesToBoat;
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 3, 0);
end;
Wait(500+Random(300));
end;
procedure ReturnToBank;
var i: integer;
begin
Path := BankToBoat;
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 3, 0);
end;
Wait(500+Random(300));
end;
procedure SetupSmart;
begin
SmartSetupEx(105, False, True, False);
WriteLn('Setting up Smart... Please Hold...');
Wait(3000);
SetTargetDC(SmartGetDC);
end;
begin
SetupSRL;
DeclarePlayers;
SetupSmart;
LoginPlayer;
WalkToBoat;
WalkToLobbies;
Logout;
end.