this is like findcolorskipbox but it returns the color in the box with highest count (useful)
SCAR Code:
VAR
 bitmap:tbitmap;
 form:Tform;
 canvas: TCanvas;
 v: TVariantArray;
 bool:boolean;
 B:TBOX;
 TPA:tpointarray;
 A1,A2:tintegerarray;
 BMP,X,Y,X1,Y1,X2,Y2,A,I:INTEGER;
 _0,_1,_2,_3,_4,_5,_6,_7,s,c,e,w,h:integer;
FUNCTION REMOVEDUPLICATEARRAY(ARR:TINTEGERARRAY):TINTEGERARRAY;
VAR
 TEMP:TINTEGERARRAY;
BEGIN
 FOR _0:=0 TO LENGTH(ARR)-1 DO
 BEGIN
  BOOL:=FALSE
  FOR _1:=0 TO LENGTH(TEMP)-1 DO
  BEGIN
   IF TEMP[_1]=ARR[_0] THEN
    BOOL:=TRUE;
  END;
  IF BOOL=FALSE THEN
  BEGIN
   SETLENGTH(TEMP,LENGTH(TEMP)+1)
   TEMP[LENGTH(TEMP)-1]:=ARR[_0]
  END;
 END;
 RESULT:=TEMP
END;
FUNCTION BOXTOTPA(Arr:TPOINTARRAY;bx:tbox):Boolean;
BEGIN
 _0:=0
 _1:=0
 _2:=0
 _3:=0
 setlength(TPA,((bx.x2-bx.x1)+1)*((bx.y2-bx.y1)+1))
 _0:=BX.X1
 WHILE _0<=BX.X2 DO
 BEGIN
  _1:=BX.Y1
  WHILE _1<=BX.Y2 DO
  BEGIN
   TPA[_2].x:=_0
   TPA[_2].y:=_1
   _2:=_2+1
   _1:=_1+1
  END;
  _0:=_0+1
 END;
END;
FUNCTION DRAWCOLORSQUARE:BOOLEAN;
BEGIN
 SetTargetBitmap(bmp)
 GetMousePos(X,Y)
 C:=GetColor(X,Y)
 Y:=0
 REPEAT
  X:=-1+(W-40)
  REPEAT
   FastSetPixel(BMP,X,Y,C)
   X:=X+1
  UNTIL X=W
  Y:=Y+1
 UNTIL Y=40
 SAFEDRAWBITMAP(BMP,FORM.CANVAS,0,0)
END;
FUNCTION init:boolean;
BEGIN
 form.Show
 FORM.CANVAS.Pen.Color:=16777215;
END;
BEGIN    ClearDebug
 SetDesktopAsClient
 GetClientDimensions(w,h)
 bmp:=BitmapFromString(w,h,'');
 CopyClientToBitmap(bmp,0,0,w-1,h-1)
 form:=CreateForm
 form.BorderStyle:=bsNone
 form.Width:=w
 form.Height:=h
 ThreadSafeCall('init',v)
 SafeDrawBitmap(bmp,form.Canvas,0,0)
 WHILE IsMouseButtonDown(TRUE)=FALSE DO
  DRAWCOLORSQUARE;
 GetMousePos(X1,Y1)
 WHILE IsMouseButtonDown(TRUE)DO
 BEGIN
  DRAWCOLORSQUARE
  GetMousePos(X,Y)
  form.Canvas.MoveTo(X1,Y1)
  form.Canvas.LineTo(X,Y1)
  Form.Canvas.LineTo(X,Y)
  form.Canvas.LineTo(X1,Y)
  form.Canvas.LineTo(X1,Y1)
 END;
 GetMousePos(X2,Y2)
 IF(X1>X2)AND(Y2>Y1)THEN b:=inttobox(X2,Y1,X1,Y2);
 IF(X2>X1)AND(Y1>Y2)THEN b:=inttobox(X1,Y2,X2,Y1);
 IF(X1>X2)AND(Y1>Y2)THEN b:=inttobox(X2,Y2,X1,Y1);
 IF(X2>X1)AND(Y2>Y1)THEN b:=inttobox(X1,Y1,X2,Y2);
 BOXTOTPA(TPA,B)
 A1:=GetColors(TPA)
 A2:=REMOVEDUPLICATEARRAY(A1)
 FOR _0:=0 TO LENGTH(A2)-1 DO
 BEGIN
  IF FindColorSkipBox(X,Y,A2[_0],0,0,W,H,B)=FALSE THEN
  BEGIN
   IF COUNTCOLOR(A2[_0],B.X1,B.Y1,B.X2,B.Y2)>A THEN
   BEGIN
    A:=COUNTCOLOR(A2[_0],B.X1,B.Y1,B.X2,B.Y2)
    I:=A2[_0]
   END;
  END;
 END;
  WRITELN(INTTOSTR(A))
  WRITELN(INTTOSTR(I))
END.
its written in scar but should work in simba
unless the functions are not same