Устранение пропущенных моментов.
Версия 2.4
[spoiler]
#name "FIFA ver.2.4"
// Author: Vint
// Version: 2.4 (14.12.2012)
// под версию Clickermann 4.7 SE
//--------------------------------
$speed=20		// количество страниц пропускаемых, от начала, быстро без проверки
//--------------------------------
//--------------------------------
$forward=1		// o-нет перемотки, 1-перемотка вперёд
//--------------------------------
WAIT(1)
//====  Находим Fifa
MOVE($_xmax, $_ymax)  //паркуемся
GETSCREEN
COLORMODE(5)
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "textures\home.bmp")
   LCLICK($_return1,$_return2+70)
   WAITMS(100)
   $vX=$_return1-16
   $vY=$_return2+51
   LOGWRITE("Fifa found")
   LOGWRITE("vX = ", $vX, "  vY = ", $vY)
   WAITMS(200)
ELSE
   LOGWRITE("Fifa not found")
   HINTPOPUP("Fifa not found")
   HALT
END_IF
//====  Инициализация
$first=1							// 1-перый проход, 0- не первый
$napr=2								// куда идём 1-влево, 2-вправо
$sdelano=0						// счётчик купленных карточек
$park_x=$vX+640				// парковка
$park_y=$vY+220
$page_Lx=$vX+405			// стрелка по страницам  влево
$page_Ly=$vY+220
$page_Rx=$vX+558			// стрелка по страницам  вправо
$page_Ry=$vY+220
$stavka_1x=$vX+540		//  поле stavka
$stavka_1y=$vY+122
$stavka_2x=$vX+600
$stavka_2y=$vY+140
$nostavka_1x=$vX+440		//  поле no_stavka
$nostavka_1y=$vY+90
$nostavka_2x=$vX+470
$nostavka_2y=$vY+102
$gebot_1x=$vX+390			//  поле gebot
$gebot_1y=$vY+120
$gebot_2x=$vX+435
$gebot_2y=$vY+142
$startmany_1x=$vX+460	//  поле startmany
$startmany_1y=$vY+50
$startmany_2x=$vX+480
$startmany_2y=$vY+70
$basik_1x=$vX+13				//  поле карточек
$basik_1y=$vY+246
$basik_2x=$vX+840
$basik_2y=$vY+262
$lx=$vX+40						//  левая карточка
$ly=$vY+275
$l_1x=$vX+140					//  поле левой карточки
$l_1y=$vY+140
$l_2x=$vX+222					//250 старое значение
$l_2y=$vY+158
$rx=$vX+820						//  правая карточка
$ry=$vY+275
$r_1x=$vX+850						//  поле правой карточки
$r_1y=$vY+140
$r_2x=$vX+920
$r_2y=$vY+158
//====
IF($forward=0)
   //GOTO(poisk)    //для отладки
   GOTO(start)
END_IF
GETSCREEN        // если 1-я стр. мотаем на ~30 страниц без проверки
IF_PICTURE_IN ($vX+420,$vY+210,$vX+510,$vY+228, "textures\seite1von.bmp")
   LOGWRITE("1 page, forward ~30")
   $i=0
   FOR($i, $i < $speed)     // мотаем вправо на N страниц
      LCLICK($page_Rx,$page_Ry)
      WAITMS(100)
      GOSUB(zagruzka)
   END_CYC
END_IF
$pic = 1          // перелистывание вправо по 5 страниц
WHILE($pic = 1)
   MOVE($lx, $ly)  //  левая карточка
   WAITMS(150)
   $many_time=$_time_t+30
   
   $fon = 1
   WHILE($fon = 1)
      
      IF($_time_t>$many_time)
         LCLICK($lx+128, $ly)
         WAITMS(100)
         MOVE($lx, $ly)
         WAITMS(400)
         $many_time=$_time_t+30
      END_IF
      
      GETSCREEN
      IF (PXL($lx+60, $ly-137)=6643283)
         $fon = 0
      END_IF
      WAITMS(100)
   END_CYC
   
   GETSCREEN
   IF_PICTURE_IN ($l_1x,$l_1y,$l_2x,$l_2y, "textures\stunden.bmp")
      $pic = 0
      LCLICK($page_Lx,$page_Ly)   // на 1 страницу назад
      WAITMS(100)
      GOSUB(zagruzka)
   ELSE
      $i=0
      FOR($i, $i < 5)    // 5 раз вправо
         LCLICK($page_Rx,$page_Ry)
         WAITMS(100)
         GOSUB(zagruzka)
      END_CYC
      $pic = 1
   END_IF
   //LOGWRITE("$pic ",$pic)
END_CYC
//====
start:
// проверка stunden слева
MOVE($lx, $ly)  //  левая карточка
WAITMS(150)
$many_time=$_time_t+30
$fon = 1
WHILE($fon = 1)
   
   IF($_time_t>$many_time)
      LCLICK($lx+128, $ly)
      WAITMS(100)
      MOVE($lx, $ly)
      WAITMS(400)
      $many_time=$_time_t+30
   END_IF
   
   GETSCREEN
   IF (PXL($lx+60, $ly-137)=6643283)
      $fon = 0
   END_IF
   WAITMS(100)
END_CYC
GETSCREEN
IF_PICTURE_IN ($l_1x,$l_1y,$l_2x,$l_2y, "textures\stunden.bmp")
   LCLICK($page_Lx,$page_Ly)
   WAITMS(200)
   GOSUB(zagruzka)
   $napr=1
   GOTO(start)
END_IF
// проверка меньше 58-59 справа
MOVE($rx, $ry)  //  правая карточка
WAITMS(150)
$many_time=$_time_t+30
$fon = 1
WHILE($fon = 1)
   
   IF($_time_t>$many_time)
      LCLICK($rx-128, $ry)
      WAITMS(100)
      MOVE($rx, $ry)
      WAITMS(400)
      $many_time=$_time_t+30
   END_IF
   
   GETSCREEN
   IF (PXL($rx+60, $ry-137)=6643283)
      $fon = 0
   END_IF
   WAITMS(100)
END_CYC
WAITMS(100)
$nichego=0
$poisk=0
GETSCREEN
IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\stunden.bmp")
   $poisk=1
   $napr=1
   INC($nichego)
END_IF
IF($first=1)
   IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\58_1sm.bmp")
      $poisk=1
      $napr=2
      INC($nichego)
   END_IF
   
   IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\58_2sm.bmp")
      $poisk=1
      INC($nichego)
   END_IF
END_IF
IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\59_1sm.bmp")
   $poisk=1
   INC($nichego)
END_IF
IF_PICTURE_IN ($r_1x,$r_1y,$r_2x,$r_2y, "textures\59_2sm.bmp")
   $poisk=1
   INC($nichego)
END_IF
IF(($nichego=0) & ($first=1))			// проверка первого прохода, оптимизация
   $first=0
END_IF
IF($poisk=0)
   LCLICK($page_Rx,$page_Ry)
   WAITMS(200)
   GOSUB(zagruzka)
   $napr=2
   GOTO(start)
END_IF
poisk:
$basik_temp=$basik_1x
$kart2=0
WHILE($basik_temp<$basik_2x)
   
   IF($kart2=1)
      $kart2=0
      MOVE($lx, $ly)
      WAITMS(300)
   ELSE
      MOVE($lx, $ly)
      WAITMS(100)
      $many_time=$_time_t+30
      
      $fon = 1
      WHILE($fon = 1)
         
         IF($_time_t>$many_time)
            LCLICK($lx+128, $ly)
            WAITMS(100)
            MOVE($lx, $ly)
            WAITMS(400)
            $many_time=$_time_t+30
         END_IF
         
         GETSCREEN
         IF (PXL($lx+60, $ly-137)=6643283)
            $fon = 0
         END_IF
         WAITMS(100)
      END_CYC
   END_IF
   
   MOVE($park_x, $park_y)  //паркуемся
   WAITMS(500)
   
   $img1=5000
   $img2=5000
   $img3=5000
   $img4=5000
   
   GETSCREEN
   COLORMODE(7,$basik_temp,$basik_1y,$basik_2x,$basik_2y)
   //LOGWRITE("ищу 75")
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_01.bmp")
      $img1=$_return1
   END_IF
   
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_02.bmp")
      $img2=$_return1
   END_IF
   
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_03.bmp")
      $img3=$_return1
   END_IF
   
   IF_PICTURE_IN($basik_temp,$basik_1y,$basik_2x,$basik_2y, "textures\75cm7_04.bmp")
      $img4=$_return1
   END_IF
   
   IF(($img1=5000) & ($img2=5000) & ($img3=5000) & ($img4=5000))
      $basik_temp=$basik_2x+1
      //LOGWRITE("нет 75")
      //HINTPOPUP("нет 75")
   ELSE
      GOSUB(nashli_75)
   END_IF
   
END_CYC
//HALT
GETSCREEN
IF_PICTURE_IN ($vX+420,$vY+210,$vX+510,$vY+228, "textures\seite1von.bmp")
   $napr=2
END_IF
IF($napr=1)
   LCLICK($page_Lx,$page_Ly)
   WAITMS(300)
ELSE
   LCLICK($page_Rx,$page_Ry)
   WAITMS(300)
END_IF
GOSUB(zagruzka)
//LOGWRITE("На старт")
GOTO(start)
HALT
//==============================================================================
SUB(nashli_75) //======== nashli_75  ===========================================
   
   $pos=0
   $min=0
   IF($img2 < $img1)
      $pos=2
      $min=$img2
   ELSE
      $pos=1
      $min=$img1
   END_IF
   
   IF($img3 < $min)
      $pos=3
      $min=$img3
   END_IF
   
   IF($img4 < $min)
      $pos=4
      $min=$img4
   END_IF
   
   LOGWRITE("nashli 75 image:  ",$pos)
   $basik_temp=$min+60
   IF($min<$vX+60)
      $kart2=1
      //LOGWRITE ("kart2  ",$kart2)
   END_IF
   
   MOVE($min,$_return2)
   WAITMS(100)
   LDOWN($min,$_return2)
   WAITMS(100)
   LUP($min,$_return2)
   WAITMS(300)
   $kart2=0
   //LCLICK($_return1,$_return2)
   //WAITMS(300)
   
   $picgdem= "textures\start_many.bmp"
   $picgd_1x=$startmany_1x
   $picgd_1y=$startmany_1y
   $picgd_2x=$startmany_2x
   $picgd_2y=$startmany_2y
   GOSUB(gdem_kartinku)
   
   GETSCREEN
   IF_PICTURE_IN ($vX+350,$vY+19,$vX+380,$vY+35, "textures\stunden_kart.bmp")
      $napr=1
      LOGWRITE("проверку stunden не прошла, время stunden")
      GOTO(end_nashli)
   END_IF
   WAITMS(500)
   IF_PICTURE_IN ($nostavka_1x,$nostavka_1y,$nostavka_2x,$nostavka_2y, "textures\no_stavka.bmp")
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_150.bmp")
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         GOSUB(stavka)
         GOTO(end_nashli)
      END_IF
      
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_200.bmp")
         LCLICK($vX+468,$vY+132)
         WAITMS(200)
         GOSUB(stavka)
         GOTO(end_nashli)
      END_IF
      
      IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_250.bmp")
         WAITMS(200)
         GOSUB(stavka)
      END_IF
   ELSE
      LOGWRITE("уже есть ставка")
   END_IF
end_nashli:
GOSUB(zagruzka)
END_SUB
//==============================================================================
SUB(stavka) //=========== stavka  ==============================================
WAITMS(200)
GETSCREEN
IF_PICTURE_IN ($gebot_1x,$gebot_1y,$gebot_2x,$gebot_2y, "textures\gebot_250.bmp")
   IF_PICTURE_IN ($stavka_1x,$stavka_1y,$stavka_2x,$stavka_2y, "textures\stavka.bmp")
      LOGWRITE("НАШЁЛ!!! СТАВЛЮ!!!")
      //HINTPOPUP("НАШЁЛ!!! СТАВЛЮ!!!") //заглушка для отладки
      //HALT                          //заглушка для отладки
      LCLICK($_return1,$_return2)
      WAITMS(1500)									// задержка на проверку успел-нет
      GOSUB(oblom)
   END_IF
   WAITMS(300)
   GOSUB(zagruzka)
END_IF
END_SUB
//==============================================================================
SUB(oblom) //=========== опоздал, хе-хе  =======================================
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "textures\ok.bmp")
   LCLICK($_return1,$_return2)
   LOGWRITE("Опоздали. Hi-hi.")
ELSE
   INC($sdelano)
   LOGWRITE("Подтвердил ставку")
   LOGWRITE("Куплено карточек всего: ", $sdelano)
   WAITMS(200)
END_IF
END_SUB
//==============================================================================
SUB(zagruzka) //=========== zagruzka  ==========================================
MOVE($park_x, $park_y)  //паркуемся
WAITMS(150)
$gknb_sch=0
$pic = 1
WHILE($pic = 1)
   INC ($gknb_sch)
   IF($gknb_sch = 30)
      LOGWRITE("Не дождался загрузки")
   END_IF
   
   GETSCREEN
   IF ((PXL($vX+182,$vY+11)=15658217) & (PXL($vX+170,$vY+20)=15657960))
      $pic = 0
   END_IF
   WAITMS(150)
END_CYC
END_SUB
//==============================================================================
SUB(gdem_kartinku) //======== gdem_kartinku  ===================================
MOVE($park_x, $park_y)  //паркуемся
WAITMS(300)
$gknb_sch=0
$pic = 1
WHILE($pic = 1)
   INC ($gknb_sch)
   IF($gknb_sch = 30)
      LOGWRITE("Не дождался картинки")
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN ($picgd_1x,$picgd_1y, $picgd_2x, $picgd_2y, $picgdem)
      $pic = 0
   END_IF
   WAITMS(100)
END_CYC
END_SUB
//==============================================================================
[/spoiler]