You could try something like this...
Simba Code:
function FindObjR(Colors:TIntegerArray; tol:Integer; Hue, Sat:Extended; x1, y1, x2, y2:Integer; Sort:Boolean; Point:TPoint; minCount:Integer; Text:TStringArray):Boolean;
var
tCTS, I: Integer;
TPA: TPointArray;
ATPA, rATPA: T2DPointArray;
myPoint: TPoint;
begin
Result := False;
if not LoggedIn then
Exit;
tCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(Hue, Sat);
SetLength(rATPA, Length(Colors));
for I := 0 to High(Colors) do
begin
FindColorsSpiralTolerance(MSCX, MSCY, rATPA[i], Colors[i], x1, y1, x2, y2, tol);
end;
TPA := MergeATPA(rATPA);
if Length(TPA) = 0 then
begin
ColorToleranceSpeed(tCTS);
Exit;
end;
ATPA := TPAtoATPAEx(TPA, 6, 6);
if Sort then
SortATPAFrom(ATPA, Point);
SetLength(TPA, 0);
For I := 0 to High(ATPA) do
begin
if Length(ATPA) < minCount then
Continue;
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if IsUpTextMultiCustom(Text) then
begin
Result := True;
ColorToleranceSpeed(tCTS);
Writeln('FindObjR was successfull');
Exit;
end;
end;
ColorToleranceSpeed(tCTS);
end;
I made this (before I knew there was FindObjTPAMulti
). They're similar but this uses CTS2 instead.
My code can use improvement. But for what I use it for it works fine.
I'd highly suggest reading TPA tutorials. TPAs are wonderful 
(euphemism/any SRL members, not to steal this thread but can you critique the above code
to help the OP and myself by suggesting improvements
).