I wrote this up. It works but the pros might have a better way.
This finds two colors, and puts each into its own TPA. It then splits one of the TPAs into an ATPA (30 by 30 box, you can change) and sorts it from the player. Then it sees if the second TPA is near the midpoint of each TPA in the ATPA (currently within a distance of 5 pixels, you can change). If so, it moves the mouse there and clicks if the overText matches.
Simba Code:
function find2Colors: boolean;
var
x, y, x1, y1, i: integer;
TPA1, TPA2: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn then
exit;
findColorsSpiralTolerance(x, y, TPA1, 424876, mainScreen.getBounds(), 6, colorSetting(2, 0.16, 0.93));
findColorsSpiralTolerance(x1, y1, TPA2, 79474, mainScreen.getBounds(), 3, colorSetting(2, 0.31, 0.58));
if (Length(TPA1) < 1) then
exit;
ATPA := TPA1.toATPA(30, 30);
ATPA.sortFromMidPoint(mainscreen.playerPoint);
for i := 0 to high(ATPA) do
begin
if TPA2.isPointNear(middleTPA(ATPA[i]), 5) then
begin
mouse(middleTPA(ATPA[i]), MOUSE_MOVE);
if isMouseOverText(['Attack', 'ttack'], 500) then
begin
fastClick(MOUSE_LEFT);
exit(true);
end;
end;
end;
end;