Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Зануда

Pages: [1] 2 3 ... 7
1
Общие вопросы / Re: масив
« on: July 13, 2017, 09:34:51 AM »
вот через простый поиск картинки все работает как нужно только беда в том что это не очень то и красиво много строк и редактировать не удобно чтоб добавить или убрать картинку нужно добавлять еще одни поиск  :-\  а что вот точно вот так работало но через масив не могу понять как сделать  :'(
Code: (clickermann) [Select]
SUB(лвл)
   
   go:
   
   GETSCREEN  ($xx-34,$yy+372,$xx+132,$yy+546)                         //первая область поиска картинки
   COLORMODE(7, $xx-34,$yy+372,$xx+132,$yy+546)
   IF_PICTURE_IN ($xx-34,$yy+372,$xx+132,$yy+546, "св1.bmp", -1, 90)
      LOGWRITE ("моб подошел")
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
      $tim1234 = $_time_t + 10
      WHILE($tim1234 > $_time_t)
         GETSCREEN ($xx+331,$yy+260, $xx+464,$yy+391) //(750,360, 883,491)
         IF_PICTURE_IN ($xx+331,$yy+260, $xx+464,$yy+391, "напасть.bmp", -1, 70)
            $tim1234 = 0
            INC($_zlo,1)
           
            m_move($_return1+RND(-10,10), $_return2+RND(-2,2))
            LCLICK($_xmouse,$_ymouse)
            WAITMS(rnd(3000,5000))
            $hod_1=1
           
            goto(hod)
         ELSE
            WAITMS(500)
         END_IF
      END_CYC
   ELSE  //если не нашло св1
     
      IF_PICTURE_IN ($xx-34,$yy+372,$xx+132,$yy+546, "ог.bmp", -1, 90)
         LOGWRITE ("моб подошел")
         m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
         LCLICK($_xmouse,$_ymouse)
         $tim1234 = $_time_t + 10
         WHILE($tim1234 > $_time_t)
            GETSCREEN ($xx+331,$yy+260, $xx+464,$yy+391) //(750,360, 883,491)
            IF_PICTURE_IN ($xx+331,$yy+260, $xx+464,$yy+391, "напасть.bmp", -1, 70)
               $tim1234 = 0
               INC($_zlo,1)
               
               m_move($_return1+RND(-10,10), $_return2+RND(-2,2))
               LCLICK($_xmouse,$_ymouse)
               WAITMS(rnd(3000,5000))
               $hod_1=1
               
               goto(hod)
            ELSE
               WAITMS(500)
            END_IF
         END_CYC
      ELSE  //если не нашло ни св1 ни ог
         
         
         IF_PICTURE_IN ($xx-34,$yy+372,$xx+132,$yy+546, "св.bmp", -1, 90)
            LOGWRITE ("моб подошел")
            m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
            LCLICK($_xmouse,$_ymouse)
            $tim1234 = $_time_t + 10
            WHILE($tim1234 > $_time_t)
               GETSCREEN ($xx+331,$yy+260, $xx+464,$yy+391) //(750,360, 883,491)
               IF_PICTURE_IN ($xx+331,$yy+260, $xx+464,$yy+391, "напасть.bmp", -1, 70)
                  $tim1234 = 0
                  INC($_zlo,1)
                 
                  m_move($_return1+RND(-10,10), $_return2+RND(-2,2))
                  LCLICK($_xmouse,$_ymouse)
                  WAITMS(rnd(3000,5000))
                  $hod_1=1
                 
                  goto(hod)
               ELSE
                  WAITMS(500)
               END_IF
            END_CYC
         ELSE  //если не нашло ни св ни ог ни св
           
            IF_PICTURE_IN ($xx-34,$yy+372,$xx+132,$yy+546, "огв.bmp", -1, 90)
               LOGWRITE ("моб подошел")
               m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
               LCLICK($_xmouse,$_ymouse)
               $tim1234 = $_time_t + 10
               WHILE($tim1234 > $_time_t)
                  GETSCREEN ($xx+331,$yy+260, $xx+464,$yy+391) //(750,360, 883,491)
                  IF_PICTURE_IN ($xx+331,$yy+260, $xx+464,$yy+391, "напасть.bmp", -1, 70)
                     $tim1234 = 0
                     INC($_zlo,1)
                     
                     m_move($_return1+RND(-10,10), $_return2+RND(-2,2))
                     LCLICK($_xmouse,$_ymouse)
                     WAITMS(rnd(3000,5000))
                     $hod_1=1
                     
                     goto(hod)
                  ELSE
                     WAITMS(500)
                  END_IF
               END_CYC
            ELSE  //если не нашло св ни ог ни св  ни огв        тогда ищем во второй области поиска другое
               
               GETSCREEN ($xx-13,$yy+50, $xx+6,$yy+74)//другая область поиска
               IF_PICTURE_IN ($xx-13,$yy+50, $xx+6,$yy+74, "19лвл.bmp", -1, 90)
                  LOGWRITE ("есть нужный")
                 
                  GETSCREEN ($xx-18,$yy+531, $xx+106,$yy+563)
                  IF_PICTURE_IN ($xx-18,$yy+531, $xx+106,$yy+563, "таймер.bmp", -1, 80)
                     LOGWRITE ("таймер")
                     
                     m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
                     LCLICK($_xmouse,$_ymouse)
                     WAITMS(rnd(1700,1900))
                     WAITMS(10)
                  ELSE
                     
                     
                     прогон()
                     
                  END_IF
               ELSE  //если нет 19лвл
                 
                  IF_PICTURE_IN ($xx-13,$yy+50, $xx+6,$yy+74, "18лвл.bmp", -1, 90)
                     LOGWRITE ("есть нужный")
                     
                     GETSCREEN ($xx-18,$yy+531, $xx+106,$yy+563)
                     IF_PICTURE_IN ($xx-18,$yy+531, $xx+106,$yy+563, "таймер.bmp", -1, 80)
                        LOGWRITE ("таймер")
                       
                        m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
                        LCLICK($_xmouse,$_ymouse)
                        WAITMS(rnd(1700,1900))
                        WAITMS(10)
                     ELSE
                       
                       
                        прогон()
                       
                     END_IF
                  ELSE  //если нет ни 19лвл ни 18лвл
                     
                     IF_PICTURE_IN ($xx-13,$yy+50, $xx+6,$yy+74, "17лвл.bmp", -1, 90)
                        LOGWRITE ("есть нужный")
                       
                        GETSCREEN ($xx-18,$yy+531, $xx+106,$yy+563)
                        IF_PICTURE_IN ($xx-18,$yy+531, $xx+106,$yy+563, "таймер.bmp", -1, 80)
                           LOGWRITE ("таймер")
                           
                           m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
                           LCLICK($_xmouse,$_ymouse)
                           WAITMS(rnd(1700,1900))
                           WAITMS(10)
                        ELSE
                           
                           
                           прогон()
                           
                        END_IF
                     ELSE  //если нет ни 19лвл ни 18лвл ни 17лвл
                       
                        IF_PICTURE_IN ($xx-13,$yy+50, $xx+6,$yy+74, "16лвл.bmp", -1, 90)
                           LOGWRITE ("есть нужный")
                           
                           GETSCREEN ($xx-18,$yy+531, $xx+106,$yy+563)
                           IF_PICTURE_IN ($xx-18,$yy+531, $xx+106,$yy+563, "таймер.bmp", -1, 80)
                              LOGWRITE ("таймер")
                             
                              m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
                              LCLICK($_xmouse,$_ymouse)
                              WAITMS(rnd(1700,1900))
                              WAITMS(10)
                           ELSE
                             
                             
                              прогон()
                             
                           END_IF
                        ELSE  //если нет ни 19лвл ни 18лвл ни 17лвл ни 16 лвл значит лвл нам не подходит и монстра нужного нет значит нада передвинуться дальше
                           LOGWRITE ("лвл не подошел")
                           
                           m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
                           LCLICK($_xmouse,$_ymouse)                                 //передвигаемся
                           WAITMS(rnd(1700,1900))
                           goto(go)                  //возвращаемся искать по новому
                        END_IF
                     END_IF
                  END_IF
               END_IF
               
            END_IF
           
           
         END_IF
         
      END_IF
     
     
   END_IF
   
   
END_SUB

2
Общие вопросы / Re: масив
« on: July 12, 2017, 10:57:01 PM »
А вопрос какой? Провести работу над ошибками?
Самый страшный и непростительный косяк в строке 26. Прыжок из цикла находящегося в цикле находящегося в подпрограмме. Расстрел 8)
а как по другому если мне именно так нужно да и не доходит дело до этого он тупо пишет что не найдено картинки ни из первого списка не из второго хотя если отдельно взять эти же картинки и через обычный поиск картинки проверить оно их находит
а вопрос в том как правильно сделать что было типа ищем картинки из первого списка (пзло) если не нашли ни одной из этого списка тогда ищем из списка (лвл) если и тут не нашлось ни одной из списка  тогда делаем клик

3
Общие вопросы / масив
« on: July 12, 2017, 10:29:43 PM »
не могу понять с этими циклами массивами :'( а через условия много писать и редактировать не удобно :-\
Code: (clickermann) [Select]
STRSEPARATE("св1,ОГ,СВ,ОГВ",",",$pzlo)
STRSEPARATE("19лвл,18лвл,17лвл,16лвл",",",$lvl)
//....
SUB(лвл)
   go:
   FOR($zlo=0,$zlo<ARRSIZE($pzlo))
      GETSCREEN  ($xx-34,$yy+372,$xx+132,$yy+546)
      COLORMODE(7, $xx-34,$yy+372,$xx+132,$yy+546)
      IF_PICTURE_IN($xx-34,$yy+372,$xx+132,$yy+546,STRCONCAT($pzlo[$zlo],".bmp"),-1,90)   //проверяем не нашлась ли любая картинка из всего списка  (pzlo)    если нашлась любая из списка нападаем выходим из цикла
         ///
         LOGWRITE ("моб подошел")
         m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
         LCLICK($_xmouse,$_ymouse)
         $tim1234 = $_time_t + 10
         WHILE($tim1234 > $_time_t)
            GETSCREEN ($xx+331,$yy+260, $xx+464,$yy+391) //(750,360, 883,491)
            IF_PICTURE_IN ($xx+331,$yy+260, $xx+464,$yy+391, "напасть.bmp", -1, 70)
               $tim1234 = 0
               INC($_zlo,1)
               
               m_move($_return1+RND(-10,10), $_return2+RND(-2,2))
               LCLICK($_xmouse,$_ymouse)
               WAITMS(rnd(3000,5000))
               $hod_1=1
               
               goto(hod)
            ELSE
               WAITMS(500)
            END_IF
         END_CYC
         ///
         $zlo=99
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   
   IF($zlo<99)  //    если не нашлась ни одна из списка (pzlo)   проверяем другой список (lvl)
      //
      //SCREENSHOTEX($xx-34,$yy+372,$xx+132,$yy+546, "Image_", 0)
      FOR($l_vl=0,$l_vl<ARRSIZE($lvl))
         GETSCREEN ($xx-13,$yy+50, $xx+6,$yy+74)
         IF_PICTURE_IN($xx-13,$yy+50, $xx+6,$yy+74,STRCONCAT($lvl[$l_vl],".bmp"),-1,90) //проверяем другой список  если есть любая из этого списка выполняем и выходим из цыкла
            //
            LOGWRITE ("есть нужная")
           
            GETSCREEN ($xx-18,$yy+531, $xx+106,$yy+563)
            IF_PICTURE_IN ($xx-18,$yy+531, $xx+106,$yy+563, "таймер.bmp", -1, 80)
               LOGWRITE ("таймер")
               
               m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
               LCLICK($_xmouse,$_ymouse)
               WAITMS(rnd(1700,1900))
               WAITMS(10)
            ELSE
           
               
               прогон()
               
            END_IF
            //
            $l_vl=999
         ELSE
            WAITMS(50)
         END_IF
         
      END_CYC
     
      IF($l_vl<999)        //если не нашлось и из этого списка (lvl) картинки делаем клик и возвращаемся в начало  к проверке картинок из списка(pzlo)
         
         LOGWRITE ("лвл не подошел")
         
         m_move($xx+632+RND(-10,10), $yy+245+RND(-10,10))
         LCLICK($_xmouse,$_ymouse)
         WAITMS(rnd(1700,1900))
         goto(go)
         
      END_IF
   END_IF
END_SUB
//....

6
 :o ну предполагаю так ?
Code: (clickermann) [Select]
$time = $_time_t + 10
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "картинка.bmp", -1, 80)
      $ob=1
      WAITMS(500)
   ELSE
$ob=0
      $time = 0
     
   END_IF
END_CYC

IF($time ! 0)
 IF($ob=1)
  $ob=0
   //клик по  кнопке обновить
 END_IF 
END_IF

7
есть такое дело может выскакивать картинка и пропадать, если она пропала сама раньше 10 сек то все норм, а если не пропала то нужно перезагружать страницу как это сделать  ???

8
все проверил работает как и нужно да еще и код теперь правильный без косяков спасибо огромное  ;) :) кстати кто шарит и у кого есть время  рожуйте как для самого чайника  ;D по поводу цыкла с  масивом хоть там и есть комментарии но я все равно что то не вехал  :-\
Code: (clickermann) [Select]
UNDEFINE($ARR_SCAN) // перед поиском обнуляем массив
         GETSCREEN ($xx+491,$yy-57,$xx+713,$yy+622)
         SCANPICTURE($ARR_SCAN, $xx+491,$yy-57,$xx+713,$yy+622, "на остров.bmp", -1, 70)
         LOGWRITE ("нашли на остров")
         $ARR_NUM = 0
         $check_ostrov = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
            $X = $ARR_SCAN [$ARR_NUM]
            INC($ARR_NUM,1)
            $Y = $ARR_SCAN [$ARR_NUM]
            INC($ARR_NUM,1)
            WAITMS(100)
            GETSCREEN ($x-549,$y-27, $x-501,$y+20)
            IF_PICTURE_IN ($x-549,$y-27, $x-501,$y+20, "то на стр.bmp", -1, 70)
               LOGWRITE ("это то жмякаем на остров")
               m_move($x+RND(-5,5),$y+RND(-5,5))
               LCLICK($_xmouse,$_ymouse)
               m_move($x+500+RND(-5,5),$y+RND(-5,5))
 
               $time1 = $_time_t + 10
               WHILE($time1 > $_time_t)
                  GETSCREEN ($xx+501,$yy+449,$xx+722,$yy+588) //(918,556, 1139,695)
                  COLORMODE(6, $xx+501,$yy+449,$xx+722,$yy+588)
                  IF_PICTURE_IN ($xx+501,$yy-449,$xx+722,$yy+588, "то.bmp", -1, 70)
                     $time1 = 0
                     LOGWRITE ("нашли тыкаем")
                     m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
                     LCLICK($_xmouse,$_ymouse)
 
 
                     $time2 = $_time_t + 10
                     WHILE($time2 > $_time_t)
                        GETSCREEN ($xx-25,$yy+328,$xx+280,$yy+537)//(399,465, 679,644)
                        IF_PICTURE_IN ($xx-25,$yy+328,$xx+280,$yy+537, "напасть.bmp", -1, 70)
                           LOGWRITE ("нашли напасть")
                           $time2 = 0
                           m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
                           LCLICK($_xmouse,$_ymouse)
                           WAITMS(rnd(1500,1700))
                        ELSE
                           LOGWRITE ("не нашли напасть")
                           WAITMS(50)
                        END_IF
                     END_CYC
                  ELSE
 
                     LOGWRITE ("не нашли. выход")
                     WAITMS(50)
                  END_IF
               END_CYC
              $check_ostrov = 1 // помечаем что хотя бы 1 картинка подходит под условия
            ELSE 
               LOGWRITE ("это не то след стр")                 
            END_IF
         END_CYC
 
         IF($check_ostrov = 0) // если флаг = 0, значит не нашли "то на стр.bmp"
            LOGWRITE ("не нашли на остров")
            GETSCREEN($xx+245,$yy+478,$xx+682,$yy+618) //(662,585, 1099,725)
            IF_PICTURE_IN ($xx+245,$yy+478,$xx+682,$yy+618, "след стр.bmp", -1, 70)
               LOGWRITE ("след сттр")
               m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
               LCLICK($_xmouse,$_ymouse)
 
               m_move($_xmouse+100,$_ymouse)
               WAITMS(rnd(300,500))
 
               $time = $_time_t + 10 // продлеваем цикл WHILE($time > $_time_t)
            ELSE
               $time = 0 // выход из цикла WHILE($time > $_time_t)
            END_IF
         END_IF

9
извеняйте у меня не было училки по русском  :-X  спасибо надеюс теперь будет как нужно работать :) и код красивый будет  :D

10
и все же нет не то  :'(  код то поправили но смысл теперь не тот он делает не так как нада (((((((((((((((((( :-[
разница в моем кривом варианте после того как он найдет на остров он провиряет то ли это если не то он возвращаеться и уже проверяет следующую картинку из масива если и это не то тогда возвращаеться назад проверять картинку из масива следующую если ее нет то выходит что картинки на остров больше нет значит след стр удаляем преждий масив и по новому если картинка есть проверяем то или не то если не то следующую  проверяем а в вашем примере выходит тоже самое что бы просто через условия сдела он ток первую найденую проверяет то ли это если не то то все аминь завис  :'(
Казнить нельзя помиловать.
меня? :-[ или код? ???

11
Code: (clickermann) [Select]
$_xm1= 85
$_ym2= 49

SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $MOVE_Start_X = $_xmouse
   $MOVE_Start_Y = $_ymouse
   $MOVE_X = $MOVE_Start_X
   $MOVE_Y = $MOVE_Start_Y
   
   $dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
   $MOVE_step = ($dist-1)/INT(SQRT($dist))
   $MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
   $MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
   
   FOR($MOVE_i=0, $MOVE_i < INT($MOVE_step))
      $MOVE_X = $MOVE_X + $MOVE_X_step
      $MOVE_Y = $MOVE_Y + $MOVE_Y_step
      MOVE(INT($MOVE_X) + RND(-2,2), INT($MOVE_Y) + RND(-2,2))
      WAITMS($rnwait) // задержка при движении по точкам
   END_CYC
END_SUB

SUB(m_move,$M_X,$M_Y)
   $rnwait = RND(6,15) // случайная скорость
   $MOVE_MID_X = INT(($_xmouse+$M_X)/2)
   $MOVE_MID_Y = INT(($_ymouse+$M_Y)/2)
   $otx = INT(ABS($_xmouse - $M_X) * 0.12)
   $oty = INT(ABS($_ymouse - $M_Y) * 0.12)
   mouse_move($MOVE_MID_X+RND(-$otx,$otx), $MOVE_MID_Y+RND(-$oty,$oty))
   mouse_move($M_X,$M_Y)
   MOVE($M_X,$M_Y) //Передвинуть окончательно в заданную точку
END_SUB

IF($xx1212=0 )
   
   GETSCREEN
   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "в.bmp")
      $xx = $_return1
      $yy = $_return2
      LOGSHOW (1, 49,102)
      LOGWRITE ("привязались")
      $xx1212=1
      $tim23 = $_time_t + 300
   ELSE
      LOGWRITE ("не привязались")
      HALT
      $xx1212=1
   END_IF
   
END_IF

IF($tim23 < $_time_t)
   m_move($_xm1+RND(-2,2), $_ym2+RND(-2,2))
   LCLICK($_xmouse,$_ymouse)
   $tim23 = $_time_t + 300
   $t87=1
END_IF



GETSCREEN  ($xx+547,$yy+519,$xx+598,$yy+610)  // (964,626,1015,717)
IF_PICTURE_IN ($xx+547,$yy+519,$xx+598,$yy+610, "череп.bmp", -1, 80)
   LOGWRITE ("нашли череп")
   IF($t87=1 )
      WAITMS(500)
      $t87=0
   END_IF
   $tim23 = 0
   $tim23 = $_time_t + 300
   m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
   LCLICK($_xmouse,$_ymouse)
   $ti=1
   
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN ($xx+98,$yy+514,$xx+162,$yy+591) //(515,621,579 ,698)
      IF_PICTURE_IN ($xx+98,$yy+514,$xx+162,$yy+591, "мне.bmp", -1, 70)
         $time = 0
         LOGWRITE ("нашли мне")
         IF($ti = 1)
            WAITMS(800)
            $ti=0
         END_IF
         
         UNDEFINE($ARR_SCAN) // перед поиском обнуляем массив
         GETSCREEN ($xx+491,$yy-57,$xx+713,$yy+622)
         SCANPICTURE($ARR_SCAN, $xx+491,$yy-57,$xx+713,$yy+622, "на остров.bmp", -1, 70)
         LOGWRITE ("нашли на остров")
         $ARR_NUM = 0
         WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
            $X = $ARR_SCAN [$ARR_NUM]
            INC($ARR_NUM,1)
            $Y = $ARR_SCAN [$ARR_NUM]
            INC($ARR_NUM,1)
            WAITMS(100)
            GETSCREEN ($x-549,$y-27, $x-501,$y+20)
            IF_PICTURE_IN ($x-549,$y-27, $x-501,$y+20, "то на стр.bmp", -1, 70)
               LOGWRITE ("это то жмякаем на остров")
               m_move($x+RND(-5,5),$y+RND(-5,5))
               LCLICK($_xmouse,$_ymouse)
               m_move($x+500+RND(-5,5),$y+RND(-5,5))
               
               $time1 = $_time_t + 10
               WHILE($time1 > $_time_t)
                  GETSCREEN ($xx+501,$yy+449,$xx+722,$yy+588) //(918,556, 1139,695)
                  COLORMODE(6, $xx+501,$yy+449,$xx+722,$yy+588)
                  IF_PICTURE_IN ($xx+501,$yy-449,$xx+722,$yy+588, "то.bmp", -1, 70)
                     $time1 = 0
                     LOGWRITE ("нашли тыкаем")
                     m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
                     LCLICK($_xmouse,$_ymouse)
                     
                     
                     $time2 = $_time_t + 10
                     WHILE($time2 > $_time_t)
                        GETSCREEN ($xx-25,$yy+328,$xx+280,$yy+537)//(399,465, 679,644)
                        IF_PICTURE_IN ($xx-25,$yy+328,$xx+280,$yy+537, "напасть.bmp", -1, 70)
                           LOGWRITE ("нашли напасть")
                           $time2 = 0
                           m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
                           LCLICK($_xmouse,$_ymouse)
                           WAITMS(rnd(1500,1700))
                        ELSE
                           LOGWRITE ("не нашли напасть")
                           WAITMS(50)
                        END_IF
                     END_CYC
                  ELSE
                 
                     LOGWRITE ("не нашли. выход")
                     WAITMS(50)
                  END_IF
               END_CYC
               
            ELSE
// вот тут как сделать чтоб если картинка на остров есть но это на нужный нам остров потому что картинка острова "то" нам не подходит и нужно вернуться проверки следующей картинки на остров на тей же страницы но пропуская эту что только что проверели и если не провереных картинок на остров уже нет то тогда след страница и удаления масива потому что там о5 нада искать эти картинки
               LOGWRITE ("это не то след стр")
               
            END_IF
         END_CYC
         
         IF(ARRSIZE($ARR_SCAN) = 0) // если массив пуст, значит не нашли на остров.bmp
            LOGWRITE ("не нашли на остров")
            GETSCREEN($xx+245,$yy+478,$xx+682,$yy+618) //(662,585, 1099,725)
            IF_PICTURE_IN ($xx+245,$yy+478,$xx+682,$yy+618, "след стр.bmp", -1, 70)
               LOGWRITE ("след сттр")
               m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
               LCLICK($_xmouse,$_ymouse)
               
               m_move($_xmouse+100,$_ymouse)
               WAITMS(rnd(300,500))
               
               $time = $_time_t + 10 // продлеваем цикл WHILE($time > $_time_t)
            ELSE
               $time = 0 // выход из цикла WHILE($time > $_time_t)
            END_IF
         END_IF
         
      ELSE
         
         WAITMS(50)
      END_IF
   END_CYC
   
END_IF

SUB(элики,$dname1)
   GETSCREEN  ($xx+37,$yy+436, $xx+657,$yy+561)
   IF_PICTURE_IN ($xx+37,$yy+436, $xx+657,$yy+561, $dname1, -1, 80)
      LOGWRITE ("юзаем:" ,$dname1)
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
      WAITMS(rnd(400,600))
   END_IF
END_SUB

GETSCREEN($xx+282,$yy+41, $xx+378,$yy+73)
IF_PICTURE_IN ($xx+282,$yy+41, $xx+378,$yy+73, "ход.bmp", -1, 80)
   элики("молния.bmp")
   элики("плевок.bmp")
   WAITMS(rnd(200,250))
END_IF

GETSCREEN ($xx+635,$yy-34,$xx+716,$yy+48)//(1052,73, 1133,155)
IF_PICTURE_IN (1052,73, 1133,155, "крестик.bmp", -1, 90)
   LOGWRITE ("нашли крестик")
   m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
   LCLICK($_xmouse,$_ymouse)
   WAITMS(rnd(2000,4000))
   LOGCLEAR
   m_move($_return1+100+RND(-2,2), $_return2+RND(-20,20))
END_IF

WAITMS(rnd(50,90))


12
и все же нет не то  :'(  код то поправили но смысл теперь не тот он делает не так как нада (((((((((((((((((( :-[
разница в моем кривом варианте после того как он найдет на остров он провиряет то ли это если не то он возвращаеться и уже проверяет следующую картинку из масива если и это не то тогда возвращаеться назад проверять картинку из масива следующую если ее нет то выходит что картинки на остров больше нет значит след стр удаляем преждий масив и по новому если картинка есть проверяем то или не то если не то следующую  проверяем а в вашем примере выходит тоже самое что бы просто через условия сдела он ток первую найденую проверяет то ли это если не то то все аминь завис  :'(

13
ой спасибо огромное :) просто я вчера сидел это все вобше угадывал методом тыка :-\

14
98 строку убрал и в 183 поправил а насчет  ELSE  Строка 147 я не понял куда его нужно пристроить это дложно делаться если не нашло   SCANPICTURE($ARR_SCAN, $xx+491,$yy-57,$xx+713,$yy+622, "на остров.bmp", -1, 70) а удаления масива понапихивал везде  :Dот того что если оно только после выхода и цыкла что то не то наврное из за того что в цыкле это если но ян з как исправить а работать и так работает как нада но все равно хотелось бы чтоб все было как нада а не через *опу ;D можете показать где оно должно быть  ???

15
Code: (clickermann) [Select]
$_xm1= 85
$_ym2= 49

SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $MOVE_Start_X = $_xmouse
   $MOVE_Start_Y = $_ymouse
   $MOVE_X = $MOVE_Start_X
   $MOVE_Y = $MOVE_Start_Y
   
   $dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
   $MOVE_step = ($dist-1)/INT(SQRT($dist))
   $MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
   $MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
   
   FOR($MOVE_i=0, $MOVE_i < INT($MOVE_step))
      $MOVE_X = $MOVE_X + $MOVE_X_step
      $MOVE_Y = $MOVE_Y + $MOVE_Y_step
      MOVE(INT($MOVE_X) + RND(-2,2), INT($MOVE_Y) + RND(-2,2))
      WAITMS($rnwait) // задержка при движении по точкам
   END_CYC
END_SUB

SUB(m_move,$M_X,$M_Y)
   $rnwait = RND(6,15) // случайная скорость
   $MOVE_MID_X = INT(($_xmouse+$M_X)/2)
   $MOVE_MID_Y = INT(($_ymouse+$M_Y)/2)
   $otx = INT(ABS($_xmouse - $M_X) * 0.12)
   $oty = INT(ABS($_ymouse - $M_Y) * 0.12)
   mouse_move($MOVE_MID_X+RND(-$otx,$otx), $MOVE_MID_Y+RND(-$oty,$oty))
   mouse_move($M_X,$M_Y)
   MOVE($M_X,$M_Y) //Передвинуть окончательно в заданную точку
END_SUB

IF($xx1212=0 )

   GETSCREEN
   IF_PICTURE_IN(0,0, $_xmax,$_ymax, "в.bmp")
      $xx = $_return1
      $yy = $_return2
      LOGSHOW (1, 49,102)
      LOGWRITE ("привязались")
      $xx1212=1
      $tim23 = $_time_t + 300
   ELSE
     
      LOGWRITE ("не привязались")
      HALT
      $xx1212=1
   END_IF
   
END_IF
IF($tim23 < $_time_t)
   m_move($_xm1+RND(-2,2), $_ym2+RND(-2,2))
   LCLICK($_xmouse,$_ymouse)
   $tim23 = $_time_t + 300
   $t87=1
   //
END_IF



GETSCREEN  ($xx+547,$yy+519,$xx+598,$yy+610)  // (964,626,1015,717)
IF_PICTURE_IN ($xx+547,$yy+519,$xx+598,$yy+610, "череп.bmp", -1, 80)
   LOGWRITE ("нашли череп")
   IF($t87=1 )
      WAITMS(500)   
     
      $t87=0
   END_IF
   $tim23 = 0
   $tim23 = $_time_t + 300
   m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
   LCLICK($_xmouse,$_ymouse)
   $ti=1
 
   skip1:
   
   $time = $_time_t + 10
   WHILE($time > $_time_t)
      GETSCREEN ($xx+98,$yy+514,$xx+162,$yy+591) //(515,621,579 ,698)
      IF_PICTURE_IN ($xx+98,$yy+514,$xx+162,$yy+591, "мне.bmp", -1, 70)
         $time = 0
         LOGWRITE ("нашли мне")
         IF($ti = 1)
            WAITMS(800) 
            $ti=0
         END_IF
         GETSCREEN ($xx+491,$yy-57,$xx+713,$yy+622)
         
         SCANPICTURE($ARR_SCAN, $xx+491,$yy-57,$xx+713,$yy+622, "на остров.bmp", -1, 70)
         LOGWRITE ("нашли на остров")
         $ARR_NUM = 0
         WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
            $X = $ARR_SCAN [$ARR_NUM]
            INC($ARR_NUM,1)
            $Y = $ARR_SCAN [$ARR_NUM]
            INC($ARR_NUM,1)
           ($X, $Y)   // перемещаем курсор
            LOGWRITE ("X: ", $X, " Y: ", $Y)
            WAITMS(100)
            GETSCREEN ($x-549,$y-27, $x-501,$y+20)
            IF_PICTURE_IN ($x-549,$y-27, $x-501,$y+20, "то на стр.bmp", -1, 70)
               LOGWRITE ("это то жмякаем на остров")
               m_move($x+RND(-5,5),$y+RND(-5,5))
               LCLICK($_xmouse,$_ymouse)
               m_move($x+500+RND(-5,5),$y+RND(-5,5))
             
               $time1 = $_time_t + 10
               WHILE($time1 > $_time_t)
                  GETSCREEN ($xx+501,$yy+449,$xx+722,$yy+588) //(918,556, 1139,695)
                  COLORMODE(6, $xx+501,$yy+449,$xx+722,$yy+588)
                  IF_PICTURE_IN ($xx+501,$yy-449,$xx+722,$yy+588, "то.bmp", -1, 70)
                     $time1 = 0
                     LOGWRITE ("нашли тыкаем")
                     m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
                     LCLICK($_xmouse,$_ymouse)
                   
                     
                     $time2 = $_time_t + 10
                     WHILE($time2 > $_time_t)
                        GETSCREEN ($xx-25,$yy+328,$xx+280,$yy+537)//(399,465, 679,644)
                        IF_PICTURE_IN ($xx-25,$yy+328,$xx+280,$yy+537, "напасть.bmp", -1, 70)
                           LOGWRITE ("нашли напасть")
                           $time2 = 0
                           m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
                           LCLICK($_xmouse,$_ymouse)
                           WAITMS(rnd(1500,1700))
                        ELSE
                           LOGWRITE ("не нашли напасть")
                           WAITMS(50)
                        END_IF
                     END_CYC
                  ELSE
                     LOGWRITE ("не нашли ")
                     WAITMS(50)
                  END_IF
               END_CYC
               
            ELSE
               
               LOGWRITE ("это не то след стр")
               
            END_IF
           
           
           
         ELSE
            LOGWRITE ("не нашли на остров")
            GETSCREEN($xx+245,$yy+478,$xx+682,$yy+618) //(662,585, 1099,725)
            IF_PICTURE_IN ($xx+245,$yy+478,$xx+682,$yy+618, "след стр.bmp", -1, 70)
               LOGWRITE ("след сттр")
               m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
               LCLICK($_xmouse,$_ymouse)
               
               
               m_move($_xmouse+100,$_ymouse)
               WAITMS(rnd(300,500))

UNDEFINE($ARR_SCAN)

               
               GOTO(skip1)
               ELSE
GOTO(ski)
            END_IF
         END_CYC
         
         
   
      ELSE
         
         WAITMS(50)
      END_IF
   END_CYC
   
   
END_IF
ski:
SUB(элики,$dname1)
   GETSCREEN  ($xx+37,$yy+436, $xx+657,$yy+561)
   IF_PICTURE_IN ($xx+37,$yy+436, $xx+657,$yy+561, $dname1, -1, 80)
   
         LOGWRITE ("юзаем:" ,$dname1,")
     
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
      WAITMS(rnd(400,600))   
     
   END_IF
END_SUB
GETSCREEN($xx+282,$yy+41, $xx+378,$yy+73)
IF_PICTURE_IN ($xx+282,$yy+41, $xx+378,$yy+73, "ход.bmp", -1, 80)
 
   элики("молния.bmp")
   элики("плевок.bmp")
 
   
   WAITMS(rnd(200,250))   
   
END_IF
 UNDEFINE($ARR_SCAN)
GETSCREEN ($xx+635,$yy-34,$xx+716,$yy+48)//(1052,73, 1133,155)
IF_PICTURE_IN (1052,73, 1133,155, "крестик.bmp", -1, 90)
   LOGWRITE ("нашли крестик")
   m_move($_return1+RND(-2,2), $_return2+RND(-2,2))
   LCLICK($_xmouse,$_ymouse)
   WAITMS(rnd(2000,4000)) 
   LOGCLEAR
   
   m_move($_return1+100+RND(-2,2), $_return2+RND(-20,20))
END_IF


WAITMS(rnd(50,90))
   вот так все работает как нужно но писали что с цыкла нельзя гото а я по другому не могу понять как сделать подправте чтоб было все правильно но работал  так же как вот сейчас

Pages: [1] 2 3 ... 7