Ok well first..
in this line you have a small mistake 
SCAR Code:
FindColorsTolerance(ChickenPoints, 36936862, RedPoints[a].x - 15, RedPoints[a].y - 15, RedPoints[a].x + 15, RedPoints[a].x + 15, 8);
I think the last point 'RedPoints[a].x + 15,' was supposed to be 'RedPoints[a].y + 15,'?
=]
Lol but anyways I think it's because of the 'for loop' that it is in.
It is in:
for a := 0 to h do
then you have:
MMouse(ChickenPoints[a].x, ChickenPoints[a].y, 5, 5);
so if the array 'ChickenPoints' doesn't go as high as 'RedPoints' did then it would be out of range.
I would either do another for loop.. Like this:
SCAR Code:
for a := 0 to h do
begin
FindColorsTolerance(ChickenPoints, 36936862, RedPoints[a].x - 15, RedPoints[a].y - 15, RedPoints[a].x + 15, RedPoints[a].x + 15, 8);
SplitTPA(ChickenPoints, 10);
for o := 0 to High(ChickenPoints) do
begin
MMouse(ChickenPoints[o].x, ChickenPoints[o].y, 5, 5);// here!!
GetMousePos(ChickenPoints[o].x, ChickenPoints[o].y);
wait(10 + random(5));
if(IsUpTextMulti('tack', 'hicken', 'cken'))then
begin
break;
Mouse(ChickenPoints[o].x, ChickenPoints[o].y, 0, 0, true);
FFlag(0);
FTWait(2);
FindNormalRandoms;
if(FindBlackChatMessage('can''t reach that'))then CheckGate;
if(i = 9)then Callibrate;
if(Random(30) = 2)then
begin
if(dbug)then writeln('Random Skill Check');
HoverSkill(Players[CurrentPlayer].Skill, false);
wait(700 + random(500));
end;
end;
end;
end;
or just only go to ONE point:
SCAR Code:
for a := 0 to h do
begin
FindColorsTolerance(ChickenPoints, 36936862, RedPoints[a].x - 15, RedPoints[a].y - 15, RedPoints[a].x + 15, RedPoints[a].x + 15, 8);
SplitTPA(ChickenPoints, 10);
MMouse(ChickenPoints[0].x, ChickenPoints[0].y, 5, 5);// here!!
GetMousePos(ChickenPoints[0].x, ChickenPoints[0].y);
wait(10 + random(5));
if(IsUpTextMulti('tack', 'hicken', 'cken'))then
begin
break;
Mouse(ChickenPoints[0].x, ChickenPoints[0].y, 0, 0, true);
FFlag(0);
FTWait(2);
FindNormalRandoms;
if(FindBlackChatMessage('can''t reach that'))then CheckGate;
if(i = 9)then Callibrate;
if(Random(30) = 2)then
begin
if(dbug)then writeln('Random Skill Check');
HoverSkill(Players[CurrentPlayer].Skill, false);
wait(700 + random(500));
end;
end;
end;