SCAR Code:
program FirstScript;
{.include SRL\SRL.scar}
var
HatchetDTM: Array of Integer;
i, x, y: integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Pin := '';
end;
procedure HatDTMs;
begin
SetArrayLength(HatchetDTM, 7);//[ 0]:= Bronze, [6]:= Rune
HatchetDTM[0]:= DTMFromString('78DA630C646260D8C4C8800C7CAC9519F8813' +
'44C94D113A86617AA1A982C5C8D1B50CD36026ABC816AD6125013' +
'0C54B38E809A504C3763A80921EC1E00949107EF');
HatchetDTM[1]:= DTMFromString('78DA630C626260D8C4C8800C02BDBD19F8813' +
'448F43F1030BA03D5EC47550391859140DA0DA8662B01355E4035' +
'6B09A80906AA5947404D2850CD06026A42806AB6E157030033F30' +
'C28');
HatchetDTM[2]:= DTMFromString('78DA630C626260D8C8C8800CCAF3F318F8813' +
'448F43F10307A02D5EC40550391859140DA0DA8660B01355E4035' +
'6B09A80904AA5947404D28A69BB1AAD98A5F0D0090050C8D');
HatchetDTM[3]:= DTMFromString('78DA63F4676260D8C0C8800C44454418F8813' +
'448F43F1030BA03D5EC43550391859140DA05A8661701351E4035' +
'EB09A80900AA5947404D28A69BB1AAD98A5F0D0095870B78');
HatchetDTM[4]:= DTMFromString('78DA630C646260D8C8C8800C1C1CE319F8813' +
'44C94D10DA8E600AA1A982C5C8D2B50CD0E026A3C806A36105013' +
'0054B38E809A504C3763A80901AAD9865F0D00C5940824');
HatchetDTM[5]:= DTMFromString('78DA63EC64626038C0C8800C9C829D18F8813' +
'44C94B101A8E614AA1A982C8A9A7D04D4F402D5EC2742CD21026A' +
'6A816AAEE05703006FA208C7');
HatchetDTM[6]:= DTMFromString('78DA630C606260D8C8C8800C5CA25319F8813' +
'44C94D11DA8662FAA1A982C5C8D1B50CD56026ABC806AD6125013' +
'0C54B38E809A504C3763A80901AAD9865F0D00E2D50845');
end;
procedure FindHatchet;
var
b: Boolean;
begin
for i:= 0 to 6 do
if(FindDTM(HatchetDTM[i], x, y, MIX1, MIY1, MIX2, MIY2))then
begin
b:= True;// assign b:= True, now you know it's found.
Break;// break the loop - once found, no need to keep going through.
end;
begin
if(b = True)then// since it's only a check, = is needed, rather than :=
Writeln('Found hatchet, walking to trees.')
else
Writeln('Didn''t find hatchet, logging out.');
end;
end;
function ChopTrees: Boolean;
var
TPA: TPointArray;
t: Boolean;
fx, fy, TheColor: Integer;
begin
Result:= False
if not LoggedIn then Exit;
SetArrayLength(TPA, 1);
TPA[0]:= Point(x, y);
begin
repeat
begin
x:= MSCX;
y:= MSCY;
if(FindColorSpiralTolerance(x, y, 8497045, MSX1, MSY1, MSX2, MSY2, 5))then
begin
MMouse(x,y,4,4);
Wait(100 + Random(50));
if((Pos('illow', RS_GetUpText) <> 0) and (Pos('hop', RS_GetUpText) <> 0))then
begin
TheColor:= GetColor(x, y);
Mouse(x, y, 3, 3, True);
repeat
Wait(50);
until(not FindColor(fx, fy, TheColor, x - 10, y - 10, x + 10, y - 10));
end;
t:= True
end;
end;
until(InvFull or not LoggedIn);
begin
if(t = True)then
Writeln('Found trees, starting to chop.')
else
Writeln('Didn''t find trees, logging out.');
end;
end;
end;
begin
SetupSRL;
ActivateClient;
DeclarePlayers;
LoginPlayer;
SetAngle(True);
HatDTMs;
FindHatchet;
ChopTrees;
end.