Спасибо
[spoiler]WAIT(5) 
GetScreen 
IF_PICTURE_IN (0, 0, 1280, 1024, "1.bmp", -1, 100) 
move($_return1+RND(10,20), $_return2+RND(10,20)) 
WAIT(RND(2,5)) 
LCLICK ($_return1+RND(10,20), $_return2+RND(10,20)) 
WAIT(RND(2,5)) 
END_IF
GetScreen 
IF_PICTURE_IN (0, 0, 1280, 1024, "2.bmp", -1, 100) 
move($_return1+RND(10,20), $_return2+RND(10,20)) 
WAIT(RND(2,5)) 
LCLICK ($_return1+RND(10,20), $_return2+RND(10,20)) 
WAIT(RND(2,5))
END_IF
WAIT(RND(2,5))
GetScreen 
IF_PICTURE_IN (0, 0, 1280, 1024, "3.bmp", -1, 75) 
move($_return1+RND(10,15), $_return2+RND(10,15)) 
WAIT(RND(2,5))
LDOWN($_return1+RND(10,15), $_return2+RND(10,15))
WAIT(RND(2,5))
LUP (100, 670) 
END_IF
A:
$time = $_time_t + 50
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, 1280,1024, "4.bmp", -1, 100)
      $time = -1
      move($_return1+RND(20,28), $_return2+RND(20,28))
      WAIT(RND(1,4))
      lclick($_return1+RND(20,28), $_return2+RND(20,28))
      WAITMS(100)
      ELSE
         GOTO(B)
      END_IF
END_CYC
GOTO(A)
B:
$time = $_time_t + 50
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (100,670, 1280,1024, "5.bmp", -1, 100)
      $time = -1
      lclick($_return1+RND(20,28), $_return2+RND(20,28))
      WAIT(1)
         ELSE
         GOTO(D)
      END_IF
END_CYC
GOTO(B)
D:
GetScreen 
IF_PICTURE_IN (100, 650, 1280, 1024, "6.bmp", -1, 50) 
      move($_return1+RND(2,8), $_return2+RND(2,8)) 
      WAIT(RND(2,8))
      LCLICK($_return1+RND(2,8), $_return2+RND(2,8)) 
   WAIT(RND(5,10))
   KEYDOWN(#CTRL)
   KEYDOWN (87)
   KEYUP (#CTRL)
   KEYUP (#87)
WAIT(RND(2,8))
END_IF
GetScreen 
IF_PICTURE_IN (100, 650, 1280, 1024, "7.bmp", -1, 50) 
move($_return1+RND(2,8), $_return2+RND(2,8)) 
WAIT(RND(2,8))
LCLICK($_return1+RND(2,8), $_return2+RND(2,8)) 
   WAIT(RND(5,10))
   KEYDOWN(#CTRL)
   KEYDOWN (87)
   KEYUP (#CTRL)
   KEYUP (#87)
WAIT(RND(2,8))
END_IF
HALT
[/spoiler]
Может кто подсказать почему в данном скрипте GOTO не срабатывает?
После "3.bmp" сразу перескакивает на действия с "6.bmp"