SCAR Code:
program walktobank;
{.include SRL/SRL.scar}
var
x,y,z,a:integer;
procedure clearvar;
begin
MakeCompass('N');
a:=0;
end;
Procedure startbank;
begin
z:=0;
z:=z+1;
Withdraw(1,1,5);
wait(1000)
withdraw(2,1,20);
wait(1500+random(400));
end;
Procedure Checkbank;
begin
if (FindColorSpiralTolerance(x,y,65536,688,393,721,425,50)) then
begin
closebank;
writeln('all ore is there...');
end else
begin
writeln('need to get ore again')
wait(1000+random(1000));
deposit(1,1,true);
startbank
end
end;
Procedure walksmelter;
begin
If (FindColorSpiralTolerance(x,y,18711,582,23,600,45,50))then
begin
writeln('found 1st step');
Mouse(x-21,y+12,2,2,true);
wait(6000+random(1000));
fflag(10);
end
end;
procedure walksmelter2;
begin
if (FindColorSpiralTolerance(x, y, 15658734, 594, 23, 623, 38, 50)) then
begin
writeln('found 2ed step');
Mouse(x-20, y+13, 5, 5, True);
wait(6000+random(1000));
fflag(10);
end else
begin
if (FindColorSpiralTolerance(x, y, 5990515, 574, 35, 585, 64, 30)) then
begin
writeln('2ed step plan B');
Mouse(x-4, y+13, 5, 5, True);
wait(6000+random(1000));
fflag(10);
end else
writeln('alls gone to hell!!!');
end
end;
procedure findfurnace;
begin
SymbolAccuracy := 0.3;
if (FindSymbol(x, y, 'furnace')) then
begin
SymbolAccuracy := 0.8;
Mouse(x-5, y, 5, 5, True);
Writeln('Found the furnace symbol');
fflag(3);
end else
begin
Writeln('Could not find furnace symbol');
SymbolAccuracy := 0.8;
if (FindColorSpiralTolerance(x, y, 3900, 553, 67, 595, 121, 30)) then
Mouse(x+6, y+11, 2, 2, True);
fflag(8);
end;
if (FindColorSpiralTolerance(x, y, 3099836, 36, 28, 471, 328, 50)) then
begin
writeln('found furnace')
Mouse(x, y, 1, 1, True);
fflag(1);
wait(1500+random(500));
end else
begin
writeln('could not find furnace try again')
findfurnace
end
end;
procedure smelt;
begin
if (FindColorSpiralTolerance(x, y, 4144964, 286, 141, 342, 165, 50)) then
begin
Mouse(x, y, 5, 5, True);
wait(270+random(300));
mouse(361,405,10,10,true);
wait(3000+random(400));
z:=1+z
end else
if (FindColorSpiralTolerance(x, y, 65536, 36, 28, 471, 328, 50)) then
begin
writeln('trying to smelt remander of ore');
Mouse(x, y, 1, 1, True);
fflag(1);
wait(1000+random(500));
findfurnace
end
end;
Procedure barcheck;
begin
if (FindColorSpiralTolerance(x, y, 4810880, 558, 430, 598, 461, 30)) then
begin
Smelt
end
end;
Procedure walkbank;
begin
if (FindColorSpiralTolerance(x, y, 15658734, 686, 50, 700, 73, 30)) then
begin
writeln('found 3ed step');
Mouse(x+5, y+24, 5, 5, True);
wait(5000+random(1000));
fflag(10);
end else
begin
writeln('3ed step plan B');
if (FindColorSpiralTolerance(x, y, 5991027, 683, 78, 692, 107, 30)) then
begin
Mouse(x+11, y+9, 5, 5, True);
wait(5000+random(1000));
fflag(10);
end
end
end;
Procedure walkbank2;
begin
if (FindColorSpiralTolerance(x, y, 6254199, 684, 107,688, 125, 50)) then
begin
writeln('found 4th step');
Mouse(x, y, 5, 5, True);
wait(4000+random(1000));
fflag(10);
end else
begin
if (FindColorSpiralTolerance(x, y, 15791859, 669, 70,695, 85, 50)) then
begin
writeln('found 4th step');
Mouse(x+14, y+25, 5, 5, True);
wait(4000+random(1000));
fflag(10);
end
end
end;
Procedure searchbank;
begin
SymbolAccuracy := 0.3;
if (FindSymbol(x, y, 'bank')) then
begin
SymbolAccuracy := 0.8;
Mouse(x-10, y, 5, 5, True);
Writeln('Found the bank symbol');
fflag(8);
if (FindColorSpiralTolerance(x, y, 7519179, 9, 65, 238, 321, 20)) then
Mouse(x+60, y+20, 5, 5, True);
end else Writeln('Could not find bank symbol');
SymbolAccuracy := 0.8;
wait(1000+random(1000));
end;
Procedure enterbank;
begin
wait(1500);
OpenBankQuiet('feb');
if (FindColorSpiralTolerance(x, y, 1908609, 283, 300, 337, 325, 30)) then
begin
wait(1000);
deposit(1,1,true);
end else Writeln('Could not open bank');
mouse(195,236,2,2,true)
OpenBankQuiet('feb');
wait(1000);
deposit(1,1,true);
end;
begin
SetupSRL;
clearvar;
repeat;
startbank;
checkbank
walksmelter;
walksmelter2;
findfurnace;
repeat;
smelt;
until(z=6)
barcheck;
walkbank;
walkbank2;
searchbank;
enterbank;
until(a=20)
end.