SCAR Code:
procedure FindGrandExchange;
var
GrandExchangeDTM, x, y, i : integer;
begin
MakeCompass('N');
SetAngle(True);
GrandExchangeDTM := DTMFromString('78DA6314606060906140014545590CFF81342' +
'310FF0702467E20431C22C70C55F3E70F13033F540D0880D50811' +
'500392E727A0460C48F01150234D845DD244B819242F45408D306' +
'135004BDA1831');
i := 0;
repeat
i := i + 1;
if (DTMRotated(GrandExchangeDTM, x, y, MMX1, MMY1, MMX2, MMY2)) then
begin
Wait(500+random(150));
Mouse(x, y, 3, 3, True);
WriteLn('Found Grand Exchange');
Flag;
Break;
end else
begin
MMouse(645, 330, 20, 20);
if (i >= 5) then
begin
Writeln('Cannot Find Grand Exchange');
Reason := 'Cannot Find Grand Exchange';
EndScript;
end;
end;
until( i>=5 );
FreeDTM(GrandExchangeDTM);
end;
procedure OpenGrandExchange;
var
GrandExchangeBMP, x, y, i : integer;
begin
GEClerkColor := 4597812;
MakeCompass('N');
SetAngle(True);
i := 0;
repeat
i := i + 1;
if (FindColorTolerance(x, y, GEClerkColor, MSx1, MSy1, MSx2, MSy2, 5)) then
begin
MMouse(x, y, 2, 2);
if (IsUpTextMultiCustom(['alk', 'rand', 'xcha', 'lerk'])) then
begin
Wait(300+random(100));
Mouse(x, y, 2, 2, False);
Wait(300+random(100));
ChooseOption('xcha');
Writeln('Opening Grand Exchange...');
i := 0;
Flag;
Wait(1000+random(250));
Break;
end;
end else
begin
MMouse(645, 330, 20, 20);
if (i >= 5) then
begin
Writeln('Cannot Open Grand Exchange');
end;
end;
until(i >= 5);
GrandExchangeBMP := BitmapFromString(22, 10, 'beNqzNfKwM8aFP' +
'B1MiEFka8SlHWLC1mKG52sZnu9l+P//PZBBhgMsDSVaLKEoyFITv3' +
'Y4G1mKGDfg9zWaG4BcLyfD4uQgIImm3c3WCKsJaG4Am6AJMQHZy0D' +
'tuEzAdIOLJboJEO2UuAG/CUAt1U4cEDdEWTJgugGu3Q0AAui2kg==' +
'');
i := 0;
repeat
i := i + 1;
if (FindBitmap(GrandExchangeBMP, x, y)) then
begin
Writeln('Opened Grand Exchange');
Break;
end else
begin
MMouse(645, 330, 20, 20);
if (i >= 5) then
begin
Writeln('Cannot Open Grand Exchange' +inttostr(1));
Reason := 'Cannot Open Grand Exchange';
EndScript;
end;
end;
until(i >= 5);
FreeBitmap(GrandExchangeBMP);
end;