Заменяю SWITCH на KEYSTRING получается какая та фигня...
SWITCH это работает нор. Тоесть если есть капча разгадывает ее, если нет проходит мимо.
[spoiler]sub(cap4a)
   GETSCREEN(450,430, 490,470)
   COLORMODE(6, 450,430, 490,470)
   IF_PICTURE_IN (450,430, 490,470, "texture\K.bmp", -1, 70) // Капча нашлась
      $cap4a = 1
      WHILE($cap4a = 1) // цикл распознавания капчи
         // Область снимка капчи
         $x1 = 285
         $y1 = 160
         $x2 = 675
         $y2 = 280
 
         WAIT(1)
         $hwnd = wndFind("AGClient v1.5") // находим окно
         LOGWRITE ("AGClient hwnd: ", $hwnd)
 
         TFCLEAR("out.txt")
         WAITMS(50)
         TFWRITE("out.txt", "0")
         waitms(200)
 
         // последовательное задание координат
         PostMessage($hwnd, 0x555, 1, $x1)
         PostMessage($hwnd, 0x555, 2, $y1)
         PostMessage($hwnd, 0x555, 3, $x2)
         PostMessage($hwnd, 0x555, 4, $y2)
         PostMessage($hwnd, 0x555, 5, 0) // распознать
         waitms(200)
         $response = 0
 
         WHILE($response = 0)
            $response = TFREAD("out.txt", 1)
            WAITMS(500)
         END_CYC
 
         IF ($response = 1)
            $str = TFREAD("out.txt", 2)
            LOGWRITE ("Распознано. Ответ: ", $str)
            FOR($step=1,$step<4)
               $click=STRCUT($str,$step,1)
               WAITMS(100)
               SWITCH($click)
               CASE(1)
                  LCLICK(350,330)
               CASE(2)
                  LCLICK(475,330)
               CASE(3)
                  LCLICK(600,330)
               CASE(4)
                  LCLICK(350,390)
               CASE(5)
                  LCLICK(475,390)
               CASE(6)
                  LCLICK(600,390)
               CASE(7)
                  LCLICK(350,455)
               CASE(8)
                  LCLICK(475,455)
               CASE(9)
                  LCLICK(600,455)
               END_SWITCH
            END_CYC
            WAITMS(100)
            LCLICK(480,520) // отправить
            WAITMS(300)
            $cap4a = 0 // после ввода выходим из цикла
         END_IF
         IF ($response = 2)
            LOGWRITE ("НЕ распознано. Ошибка!")
            WAITMS(300)
         END_IF
      END_CYC
   END_IF
end_sub[/spoiler]
KEYSTRING Тут заменяю свич на кейстринг, идет постояная отправка капчи на сервер, даже когда нет капчи, почему так?
[spoiler]sub(cap4a)
   GETSCREEN(450,430, 490,470)
   COLORMODE(6, 450,430, 490,470)
   IF_PICTURE_IN (450,430, 490,470, "texture\K.bmp", -1, 70) // Капча нашлась
      $cap4a = 1
      WHILE($cap4a = 1) // цикл распознавания капчи
         // Область снимка капчи
         $x1 = 285
         $y1 = 160
         $x2 = 675
         $y2 = 280
 
         WAIT(1)
         $hwnd = wndFind("AGClient v1.5") // находим окно
         LOGWRITE ("AGClient hwnd: ", $hwnd)
 
         TFCLEAR("out.txt")
         WAITMS(50)
         TFWRITE("out.txt", "0")
         waitms(200)
 
         // последовательное задание координат
         PostMessage($hwnd, 0x555, 1, $x1)
         PostMessage($hwnd, 0x555, 2, $y1)
         PostMessage($hwnd, 0x555, 3, $x2)
         PostMessage($hwnd, 0x555, 4, $y2)
         PostMessage($hwnd, 0x555, 5, 0) // распознать
         waitms(200)
         $response = 0
 
         WHILE($response = 0)
            $response = TFREAD("out.txt", 1)
            WAITMS(500)
         END_CYC
 
         IF ($response = 1)
            $str = TFREAD("out.txt", 2)
            LOGWRITE ("Распознано. Ответ: ", $str)
            KEYSTRING($str, 60)
            WAITMS(200)
            LCLICK(480,520) // отправить
            WAITMS(500)
            $cap4a = 0 // после ввода выходим из цикла
         END_IF
         IF ($response = 2)
            LOGWRITE ("НЕ распознано. Ошибка!")
            WAITMS(300)
         END_IF
      END_CYC
   END_IF
end_sub[/spoiler]