[INTERFACE]
DIALOG, "Количество пикселей указанного цвета", 700, 282;
STATIC, "Поиск в", 4, 4, 44, 20;
COMBO, "Активный по Экрану""Активный по Указателю""Фоновый по Указателю""Активный по Скриншоту""Фоновый по Скриншоту", 52, 4, 160, 100, int EW;
STATIC, "Указатель на окно", 220, 4, 100, 20;
EDIT, 324, 4, 140, 20, win W;
STATIC, "Указатель на скрин", 480, 4, 104, 20;
EDIT, 588, 4, 100, 20, int Screen;
STATIC, "Пауза до:", 4, 28, 52, 20;
EDIT, 60, 28, 100, 20, int P1;
STATIC, "Время ожидания", 4, 52, 92, 20;
EDIT, 100, 52, 100, 20, int T;
STATIC, "Зона Старт X", 4, 76, 76, 20;
EDIT, 84, 76, 72, 20, int sX;
STATIC, "Старт Y", 168, 76, 48, 20;
EDIT, 220, 76, 72, 20, int sY;
STATIC, "Финиш X", 308, 76, 48, 20;
EDIT, 360, 76, 72, 20, int fX;
STATIC, "Финиш Y", 440, 76, 48, 20;
EDIT, 492, 76, 72, 20, int fY;
STATIC, "Цвет", 580, 76, 32, 20;
EDIT, 616, 76, 72, 20, int Color;
STATIC, "Разбежность оттенков", 4, 100, 120, 20;
EDIT, 128, 100, 100, 20, int R;
STATIC, "Сколько искать (или -1 если искать все)", 4, 124, 212, 20;
EDIT, 220, 124, 100, 20, int Kol;
STATIC, "Указатель на переменную в которую запишется количество найденных пикселей", 4, 148, 424, 20;
EDIT, 436, 148, 100, 20, int SUM_COLOR;
STATIC, "Пауза после (если нашли хоть один)", 4, 172, 188, 20;
EDIT, 200, 172, 100, 20, int P2;
STATIC, "Комментарий", 4, 196, 76, 20;
EDIT, 84, 196, 604, 20, unknown Comment;
BUTTON_OK, "Принять", 480, 228, 100, 20;
BUTTON_CANCEL, "Закрыть", 588, 228, 100, 20;
[END]

[APPEARANCE]
COLOR = 0, 165, 120;
SIZE_X = 12;
SIZE_Y =6;
[END]

[INFO]
[ENDL]>>Color>>[ENDL]>>sX>>"  ">>sY>>"-">>fX>>"  ">>fY>>[ENDL]>>Comment
[END]

[ASSOC_VAR]
EW=0;
W=W_Kib;
Screen=Screen;
P1=0;
T=0;
R=0;
sX=100;
sY=200;
fX=300;
fY=201;
Color=16777215;
Kol=-1;
SUM_COLOR=SUM_Color;
P2=0;
W_V = #~W~;
V_X=~W~.leftclient;
V_Y=~W~.topclient;
V_Screen=#~Screen~;
SUM_COLOR_V= #~SUM_COLOR~;
Comment=;
[END]

[GLOBAL_VAR]
win ~W~;
int ~Screen~[3000][3000];  
int ~SUM_COLOR~;
[END]

[EVENT]
IF (I_MODE_BIND_WINDOW!=0)SENDBUTTON(GETID(EW), S_MODE_BIND_WINDOW);
IF (I_MODE_BIND_WINDOW!=0)SENDEDIT(GETID(W), W_Kib);
IF (I_MODE_BIND_WINDOW!=0)ENABLE(GETID(EW), 0);
IF (I_MODE_BIND_WINDOW!=0)ENABLE(GETID(W), 0);
IF (I_MODE_BIND_WINDOW!=0)ENABLE(GETID(Screen), 0);
IF (EW==0)ENABLE(GETID(W), 0);
IF (EW==0)ENABLE(GETID(Screen), 0);
IF (EW==1)ENABLE(GETID(W), 1);
IF (EW==1)ENABLE(GETID(Screen), 0);
IF (EW==2)ENABLE(GETID(W), 1);
IF (EW==2)ENABLE(GETID(Screen), 0);
IF (EW==3)ENABLE(GETID(W), 0);
IF (EW==3)ENABLE(GETID(Screen), 1);
IF (EW==4)ENABLE(GETID(W), 0);
IF (EW==4)ENABLE(GETID(Screen), 1);
[END]

[FUNCTION_BODY]
function(int kol, int ew, int #Scr, win #w, int v_x, int v_y, int p1, int t, int #sum_color, int sx, int sy, int fx, int fy, int col, int r)
{
pause (p1);
if (t==0)goto d1r;
  looptime(t)
  {
  d1r:;
  if (ew==0) sum_color=sumcolor(kol, sx, sy, fx, fy, col, r, r, r, r, r, r, -1);
  if (ew==1) sum_color=sumcolor(kol, v_x+sx, v_y+sy, v_x+fx, v_y+fy, col, r, r, r, r, r, r, -1);
  if (ew==2) sum_color=sumcolor(kol, sx, sy, fx, fy, col, r, r, r, r, r, r, w);
  if (ew==3 || ew==4) sum_color=sumcolor(kol, sx, sy, fx, fy, col, r, r, r, r, r, r, #Scr[0][0]);
  if (sum_color>0) return sum_color;
  if (t==0) break;
  sleep(5);
  }
return 0;
}
[END]

[CALL]
(Kol, EW, V_Screen[0][0], W_V, V_X, V_Y, P1, T, SUM_COLOR_V, sX, sY, fX, fY, Color, R)
[END]

[FUNCTION_LOGIC]  
>0
[END]