SCAR Code:
program New;
//{.include SRL/SRL/MISC/SMART.SCAR}
{.Include Srl/Srl.scar}
Procedure SetupSmart;
begin
SmartSetup('world113', True, True, False);
wait(1000);
SetTargetDC(SmartGetDC);
end;
function ClimbRope : Boolean;
var
i, h, hightpa : Integer;
TPA, TPA2 : TPointArray;
ATPA, ATPA2 : T2DPointArray;
Side1, Side2 : Boolean;
MiddleTPA1 : TPoint;
begin
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2900815, MSX1, MSY1, MSX2, MSY2, 30);
FindColorsSpiralTolerance(MSCX, MSCY, TPA2, 922905, MSX1, MSY1, MSX2, MSY2, 30);
ATPA := TPAToATPA(TPA, 30);
SortATPASize(ATPA, true);
ATPA2 := TPAToATPA(TPA2, 10);
for i := 0 to High(ATPA) do
begin
MiddleTPA1 := MiddleTPA(ATPA[i]);
wait(500);
MMouse(MiddleTPA1.x, MiddleTPA1.y, 0, 0);
hightpa := high(ATPA2);
writeln(inttostr(High(ATPA2)))
for h := 0 to hightpa do
begin
if PointInBox(MiddleTPA(ATPA2[h]), IntToBox(MiddleTPA1.x-40, MiddleTPA1.y-100, MiddleTPA1.X, MiddleTPA1.y+100)) then //this line
begin
Side1 := true;
end;
if PointInBox(MiddleTPA(ATPA2[h]), IntToBox(MiddleTPA1.x, MiddleTPA1.y-100, MiddleTPA1.X + 40, MiddleTPA1.y+100)) then
begin
Side2 := true;
end;
writeln(inttostr(MiddleTPA(ATPA2[h]).x));
writeln(inttostr(MiddleTPA(ATPA2[h]).y));
end;
if Side1 and Side2 then
begin
TPA[0] := MiddleTPA(ATPA[i]);
MMouse(tpa[0].x, tpa[0].y, 0, 0);
wait(50);
if isuptext('limb') then
begin
Mouse(tpa[0].x, tpa[0].y, 0, 0, false);
if ChooseOption('limb') then
begin
fflag(0);
result := true;
exit;
end;
end;
end;
Side1 := false;
Side2 := false;
end;
end;
Begin
//SetupSmart;
SetupSRL;
ClimbRope;
end.