Probably a awful method, attempt to flights challenge? works alright but seems sluggish due to large check inside loop - better way ? *scratches head* need to find a way to sort two ATPA's with each other, hints ?
FindCustomObj(0.15,
0.46,
12,
3810347,
6,
9,
'Bank B',
'ank B');
Procedure FindCustomObj(HM, SM, TOL, COL, XV, YV, S1, S2: Variant);
Var
tmpCTS, i, l, r, counter:integer;
CustomObjTPA:TPointArray;
CustomObjATPA:T2DPointArray;
CustomObjTPACheck:TPointArray;
CustomObjATPACheck:T2DPointArray;
x,y,xcheck,ycheck:integer;
Begin
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(HM, SM);
FindColorsTolerance(CustomObjTPA, COL, MSX1, MSY1, MSX2, MSY2, TOL);
CustomObjATPA := SplitTPAEx(CustomObjTPA, XV, YV);
SetToleranceSpeed2Modifiers(0.05, 1.47);
FindColorsTolerance(CustomObjTPACheck, 2319012, MSX1, MSY1, MSX2, MSY2, 8);
//banker hair changes like crazy on login/out, alternate values
//SetToleranceSpeed2Modifiers(0.02, 0.08);
//FindColorsTolerance(CustomObjTPACheck, 3306662, MSX1, MSY1, MSX2, MSY2, 6);
CustomObjATPACheck := TPAToATPAEx(CustomObjTPACheck, 2, 2);
SortATPASize(CustomObjATPA,True);
If Debug Then
DebugATPABounds(CustomObjATPACheck);
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
L := High(CustomObjATPA)
marktime(counter);
for i := 0 to L do
begin
MiddleTPAEx(CustomObjATPA[i], x, y);
MiddleTPAEx(CustomObjATPACheck[i], xcheck, ycheck);
r := random(L);
If NearbyPointInArrayEx(Point(xcheck,ycheck), 5, 10, CustomObjTPA) Then
Begin
HumanMMouse(xcheck, ycheck, 3, 13);
if(Debug)then begin Writeln('We Saw The Object'); end;
End;
ClickCurrent(False);
If (ChooseOptionMulti([S1,S2])) then
Break;
wait(randomrange(30, 160));
if (TimeFromMark(counter) > 1300) then
begin
if(Debug)then begin Writeln('We Failed to See The Object'); end;
Break;
end;
end;
End;
didn't touch the turtle at all, went straight for banker :)
was trying to check purple near hair, but ended up this way round somehow lol :)
Result:

Original Method Code Snip
FindCustomObj(0.15,
0.46,
12,
3810347,
6,
9,
'Bank B',
'ank B');
Procedure FindCustomObj(HM, SM, TOL, COL, XV, YV, S1, S2: Variant);
Var
tmpCTS, i, l, r, counter:integer;
CustomObjTPA:TPointArray;
CustomObjATPA:T2DPointArray;
x,y:integer;
Begin
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(HM, SM);
FindColorsTolerance(CustomObjTPA, COL, MSX1, MSY1, MSX2, MSY2, TOL);
CustomObjATPA := SplitTPAEx(CustomObjTPA, XV, YV);
SortATPASize(CustomObjATPA,True);
If Debug Then
DebugATPABounds(CustomObjATPA);
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
L := High(CustomObjATPA)
marktime(counter);
for i := 0 to L do
begin
MiddleTPAEx(CustomObjATPA[i], x, y);
r := random(L);
HumanMMouse(x, y, 3, 5);
if(Debug)then begin Writeln('We Saw The Object'); end;
ClickCurrent(False);
If (ChooseOptionMulti([S1,S2])) then
Break;
wait(50+Random(100));
if (TimeFromMark(counter) > 1300) then
begin
if(Debug)then begin Writeln('We Failed to See The Object'); end;
Break;
end;
end;
End;
Result: