Hey, I made a simple little function based off my "Amazing Idea" to wait for trees to be cut down. It needs a little work still, and I am going away for a bit today, so I was wondering if anyone might be able to help me.

SCAR Code:
procedure Waitforit;
var Colors: TPointArray;
  Cx, Cy, Noc, CutTime: Integer;
begin
  FFlag(0);
  Flag;
  Wait(1000 + Random(250));
  GetMousePos(x, y);
  if findcolorspiraltolerance(Tx, Ty, 332560, x - 40, y - 50, x + 40, y + 50, 5) then
  begin
    FindColorsSpiralTolerance(Cx, Cy, Colors, 332560, Tx - 20, Ty - 20, Tx + 20, Ty + 20, 10);
    Noc := GetArrayLength(Colors);
    If (Noc = 0) then Exit;
    else
    Writeln(IntToStr(Noc) + ' Colors Found');
    MarkTime(CutTime);
    repeat
      Wait(111 + Random(111));
      Randoms;
      Wait(111 + Random(111));
      FindColorsSpiralTolerance(Cx, Cy, Colors, 332560, Tx - 15, Ty - 15, Tx + 15, Ty + 15, 10);
      Noc := GetArrayLength(Colors);
      if (Noc = 0) then
      begin
        Writeln('Waited ' + Inttostr(TimeFromMark(CutTime)) + ' Seconds');
        Break;
      end;
    until (TimeFromMark(CutTime) > (30 * 1000));
  end;
end;

It isnt too complicated right now. The beggining part is just trying to find the closest tree to the mouse, because in the function before this one, it clicked the tree. All the flags are there, with the wait, because FFlag(0) didnt wait until he was completely stopped, so the colors that I was getting before the repeat didnt get the same as the colors after. It probably doesnt have great standards yet, I will work on that later.

Basically all I'm asking is for something to help update my tree coords better. If there is something wrong with the rest, feel free to tell me, and show me why of course.