Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: LLlteйn on November 20, 2017, 09:16:55 PM

Title: помогите пожалуйста
Post by: LLlteйn on November 20, 2017, 09:16:55 PM
народ помогите ни как не в дуплю как сделать так чтобы при поиске картинки "продать 1" если в течении 2х секунд искомая картинка не появится кликер должен снова перейти к метке GO5
вот сам скрипт:
Code: (clickermann) [Select]
SUB(ожидание картинки, $par1,$par2,$par3,$par4,$par5,$par6) // подпрограмма с параметрами
   GO4:
   $check = 0
   WHILE($check = 0)
      GETSCREEN ($par1,$par2,$par3,$par4)
      IF_PICTURE_IN ($par1,$par2,$par3,$par4,STRCONCAT("screens\",$par5,".bmp"), 75)  //  поиск
         $check = 1
         IF($par6= 1) // если  указан  $par6= 1 то делать клик по найденной картинке  0- нет клика
            LCLICK($_return1, $_return2)
            WAITMS(100)
         END_IF
      ELSE
         WAITMS(100)
      END_IF
   END_CYC
END_SUB



SUB(объединить)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (1033,528, 1379,693, "screens\рабочие\объединить.bmp", 75)
         $check = 1
         LCLICK($_return1+5, $_return2+5)
         WAITMS(100)
         MOVE(951,549)  // 12642047
         WAITMS(3000)
      END_IF
   END_CYC
END_SUB







SUB(продать)
   GO8:
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (688,189, 1381,523, "screens\рабочие\продать 1.bmp", 75)
         $check = 1
         LCLICK($_return1+5, $_return2+5)
         WAITMS(100)
         MOVE(951,549)  // 12642047
         WAITMS(100)
         $time = $_time_t + 1 // таймер на 1 секунд
         WHILE($time > $_time_t)
            GETSCREEN
            IF_PICTURE_IN (949,460, 1081,482, "screens\рабочие\продать 2.bmp", 75)
               $time = 0
               LCLICK($_return1, $_return2)
               WAITMS(500)
               MOVE(951,549)  // 12642047
               WAITMS(500)
            END_IF
         END_CYC
         IF($time ! 0)
            GOTO(GO8)
         END_IF
      END_IF
   END_CYC
END_SUB



SUB(продажа рабов в сундуке)
     
   GO5:
   
   $time = $_time_t + 2 // таймер на 2 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб девы.bmp", 75)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
         продать()
         GOTO(GO5)
      ELSE
         IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб защитника.bmp", 75)
            $time = 0
            LCLICK($_return1, $_return2)
            WAITMS(100)
            продать()
            GOTO(GO5)
         ELSE
            IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб праздника.bmp", 75)
               $time = 0
               LCLICK($_return1, $_return2)
               WAITMS(100)
               продать()
               GOTO(GO5)
            ELSE
               IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб разрушителя.bmp", 75)
                  $time = 0
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  продать()
                  GOTO(GO5)
               ELSE
                  IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб скорби.bmp", 75)
                     $time = 0
                     LCLICK($_return1, $_return2)
                     WAITMS(100)
                     продать()
                     GOTO(GO5)
                  ELSE
                     IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб ужасающего.bmp", 75)
                        $time = 0
                        LCLICK($_return1, $_return2)
                        WAITMS(100)
                        продать()
                        GOTO(GO5)
                     ELSE
                        IF_PICTURE_IN (687,190, 1213,449, "screens\рабочие\некупленный слот.bmp", 75)
                           $time = 0
                           WAITMS(100)
                           LCLICK(878,490)  // 2904698          1ая страница сундука
                           WAITMS(100)
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_CYC
   IF($time ! 0)
      LCLICK(1052,491)  // 2169104  следующая страница сундука
      WAITMS(1000)
      GOTO(GO5)
   END_IF
   
   
END_SUB





SUB(объединение в рюкзаке)
   ожидание картинки (980,549, 1020,584, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание картинки (1032,549, 1074,588, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание картинки (1088,550, 1126,586, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание картинки (1140,550, 1180,588, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание картинки (1194,549, 1233,585, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание картинки (980,603, 1021,638, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание картинки (1034,601, 1072,639, "дроп\клетка с пригодным рабом", 1)
   WAITMS(500)
   объединить()
   
END_SUB










FOR($a=0,$a<99)
   
   
   GO1:
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодными рабами.bmp", 75)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(500)
      ELSE
         IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодным рабом.bmp", 75)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(500)
         END_IF
      END_IF
   END_CYC
   
   
   $time = $_time_t + 1 // таймер на 1 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (1034,527, 1185,666, "screens\рабочие\вскрыть.bmp", 75)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
   END_CYC
   IF($time ! 0)
      GOTO(GO1)
   END_IF
   
   
   
   
   $time = $_time_t + 5 // таймер на 5 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(950,345, 952,347, 8242155)  //  ожидание вскрытия
         $time = 0
         WAITMS(100)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            IF_PIXEL_IN(950,345, 952,347, 8633312)
               $check = 1
               WAITMS(100)
            END_IF
         END_CYC
      ELSE
         IF_PIXEL_IN(943,344, 945,346, 12642047)  //   нет свободных слотов
            $time = 0
            WAITMS(100)
            LCLICK(929,403)  // 7165237     ок
            WAITMS(100)
            MOVE(951,549)  // 12642047
            WAITMS(3000)
            продажа рабов в сундуке()
            WAITMS(100)
         END_IF
      END_IF
   END_CYC
   IF($time ! 0)
      GOTO(GO1)
   END_IF
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
END_CYC


объединение в рюкзаке()




GO3:
LCLICK(76,49)  // 987432      обновить страницу
WAITMS(500)

GO2:
$time = $_time_t + 60 // таймер на 60 секунд
WHILE($time > $_time_t)
   
   MOVE(967,503)
   WAITMS(500)
   GETSCREEN
   IF_PIXEL_IN(962,498, 972,508, 81118, 81614, 81111, 13084830, 16184304)     // арена
      $time = 0
      WAITMS(500)
      LCLICK(553,158)  // 262402  персонаж
      WAITMS(500)
      $check = 0
      WHILE($check = 0)
         GETSCREEN
         IF_PIXEL_IN(865,93, 875,103, 70185)  //  сундук
            $check = 1
            WAITMS(500)
            LCLICK($_return1, $_return2)
            WAITMS(1000)
         END_IF
      END_CYC
     
   ELSE
      MOVE(632,594)
      WAITMS(500)
      GETSCREEN
      IF_PIXEL_IN(632,594, 632,594, 9192960)      // не зашёл в игру
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
         GOTO(GO2)
      ELSE
         MOVE(794,156)  // 10743039
         WAITMS(500)
         GETSCREEN
         IF_PIXEL_IN(791,149, 931,170, 2401224, 3595007, 6024447, 9568255, 8383743)    // забор ежедневного подарка
            $time = 0
            WAITMS(500)
            LCLICK(912,607)  // 3684408   забрать ежедневный подарок
            WAITMS(500)
            GOTO(GO3)
         END_IF
      END_IF
   END_IF
END_CYC
IF($time ! 0)
   GOTO(GO3)
END_IF


Заранее благодарю
Title: Re: помогите пожалуйста
Post by: LLlteйn on November 21, 2017, 06:02:33 AM
живу как могу
Title: Re: помогите пожалуйста
Post by: Oraven on November 21, 2017, 08:12:24 AM
Нельзя выпрыгивать из циклов и подпрограмм через гото, или впрыгивать куда тебе заблагорассудится.

Избавил код от ненужных гото и добавил таймер который и ты просил.
Code: (clickermann) [Select]
SUB(ожидание_картинки, $par1,$par2,$par3,$par4,$par5,$par6) // подпрограмма с параметрами
   $check = 0
   WHILE($check = 0)
      GETSCREEN ($par1,$par2,$par3,$par4)
      IF_PICTURE_IN ($par1,$par2,$par3,$par4,STRCONCAT("screens\",$par5,".bmp"), 75)  // "  поиск
         $check = 1
         IF($par6= 1) // если  указан  $par6= 1 то делать клик по найденной картинке  0- нет клика
            LCLICK($_return1, $_return2)
            WAITMS(100)
         END_IF
      ELSE
         WAITMS(100)
      END_IF
   END_CYC
END_SUB

SUB(объединить)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (1033,528, 1379,693, "screens\рабочие\объединить.bmp", 75)
         $check = 1
         LCLICK($_return1+5, $_return2+5)
         WAITMS(100)
         MOVE(951,549)  // 12642047
         WAITMS(3000)
      END_IF
   END_CYC
END_SUB

SUB(продать)
   $time4 = $_time_t + 2 // таймер на 2 секунды
   WHILE($time4 > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (688,189, 1381,523, "screens\рабочие\продать 1.bmp", 75)
         $time4 = 0
         LCLICK($_return1+5, $_return2+5)
         WAITMS(100)
         MOVE(951,549)  // 12642047
         WAITMS(100)
         $time1 = $_time_t + 1 // таймер на 1 секунд
         WHILE($time1 > $_time_t)
            GETSCREEN
            IF_PICTURE_IN (949,460, 1081,482, "screens\рабочие\продать 2.bmp", 75)
               $time1 = 0
               LCLICK($_return1, $_return2)
               WAITMS(500)
               MOVE(951,549)  // 12642047
               WAITMS(500)
            END_IF
         END_CYC
         IF($time1 ! 0)
            $time4 = $_time_t + 2 // таймер на 2 секунды
         END_IF
      END_IF
   END_CYC
END_SUB

SUB(продажа_рабов_в_сундуке)
   $check2 = 0
   WHILE($check2 = 0)
      $time2 = $_time_t + 2 // таймер на 2 секунд
      WHILE($time2 > $_time_t)
         GETSCREEN
         IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб девы.bmp", 75)
            $time2 = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            продать()
         ELSE
            IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб защитника.bmp", 75)
               $time2 = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               продать()
            ELSE
               IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб праздника.bmp", 75)
                  $time2 = 1
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  продать()
               ELSE
                  IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб разрушителя.bmp", 75)
                     $time2 = 1
                     LCLICK($_return1, $_return2)
                     WAITMS(100)
                     продать()
                  ELSE
                     IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб скорби.bmp", 75)
                        $time2 = 1
                        LCLICK($_return1, $_return2)
                        WAITMS(100)
                        продать()
                     ELSE
                        IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб ужасающего.bmp", 75)
                           $time2 = 1
                           LCLICK($_return1, $_return2)
                           WAITMS(100)
                           продать()
                        ELSE
                           IF_PICTURE_IN (687,190, 1213,449, "screens\рабочие\некупленный слот.bmp", 75)
                              $time2 = 0
                              $check2 = 1
                              WAITMS(100)
                              LCLICK(878,490)  // 2904698          1ая страница сундука
                              WAITMS(100)
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_CYC
      IF($time2 ! 0)
         LCLICK(1052,491)  // 2169104  следующая страница сундука
         WAITMS(1000)
      END_IF
   END_CYC
END_SUB

SUB(объединение_в_рюкзаке)
   ожидание_картинки (980,549, 1020,584, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание_картинки (1032,549, 1074,588, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание_картинки (1088,550, 1126,586, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание_картинки (1140,550, 1180,588, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание_картинки (1194,549, 1233,585, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание_картинки (980,603, 1021,638, "дроп\клетка с пригодными рабами", 1)
   WAITMS(500)
   объединить()
   
   ожидание_картинки (1034,601, 1072,639, "дроп\клетка с пригодным рабом", 1)
   WAITMS(500)
   объединить()
   
END_SUB

FOR($a=0,$a<99)
   
   GO1:
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодными рабами.bmp", 75)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(500)
      ELSE
         IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодным рабом.bmp", 75)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(500)
         END_IF
      END_IF
   END_CYC
   
   $time = $_time_t + 1 // таймер на 1 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (1034,527, 1185,666, "screens\рабочие\вскрыть.bmp", 75)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
   END_CYC
   IF($time ! 0)
      GOTO(GO1)
   END_IF
   
   $time3 = $_time_t + 5 // таймер на 5 секунд
   WHILE($time3 > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(950,345, 952,347, 8242155)  //  ожидание вскрытия
         $time3 = 0
         WAITMS(100)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            IF_PIXEL_IN(950,345, 952,347, 8633312)
               $check = 1
               WAITMS(100)
            END_IF
         END_CYC
      ELSE
         IF_PIXEL_IN(943,344, 945,346, 12642047)  //   нет свободных слотов
            $time3 = 0
            WAITMS(100)
            LCLICK(929,403)  // 7165237     ок
            WAITMS(100)
            MOVE(951,549)  // 12642047
            WAITMS(3000)
            продажа_рабов_в_сундуке()
            WAITMS(100)
         END_IF
      END_IF
   END_CYC
   IF($time ! 0)
      GOTO(GO1)
   END_IF
   
END_CYC

объединение_в_рюкзаке()

$check3 = 0
WHILE($check3 = 0)
   
   LCLICK(76,49)  // 987432      обновить страницу
   WAITMS(500)
   
   $time = $_time_t + 60 // таймер на 60 секунд
   WHILE($time > $_time_t)
     
      MOVE(967,503)
      WAITMS(500)
      GETSCREEN
      IF_PIXEL_IN(962,498, 972,508, 81118, 81614, 81111, 13084830, 16184304)     // арена
         $time = 0
         WAITMS(500)
         LCLICK(553,158)  // 262402  персонаж
         WAITMS(500)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            IF_PIXEL_IN(865,93, 875,103, 70185)  //  сундук
               $check = 1
               WAITMS(500)
               LCLICK($_return1, $_return2)
               WAITMS(1000)
            END_IF
         END_CYC
         
      ELSE
         MOVE(632,594)
         WAITMS(500)
         GETSCREEN
         IF_PIXEL_IN(632,594, 632,594, 9192960)      // не зашёл в игру
            LCLICK($_return1, $_return2)
            WAITMS(100)
            $time = $_time_t + 60
         ELSE
            MOVE(794,156)  // 10743039
            WAITMS(500)
            GETSCREEN
            IF_PIXEL_IN(791,149, 931,170, 2401224, 3595007, 6024447, 9568255, 8383743)    // забор ежедневного подарка
               $time = 1
               WAITMS(500)
               LCLICK(912,607)  // 3684408   забрать ежедневный подарок
               WAITMS(500)
            END_IF
         END_IF
      END_IF
   END_CYC
   IF($time = 0)
      $check3 = 1
   END_IF
END_CYC
Title: Re: помогите пожалуйста
Post by: LLlteйn on November 21, 2017, 06:53:57 PM
благодарю
Title: Re: помогите пожалуйста
Post by: LLlteйn on November 22, 2017, 06:03:26 PM
ребята помогите, как исправить мой срипт написанный выше, нужно чтобы он искал картинку "продать 1" в течении 2х секунд, если не находит то он должен перейти к метке GO5, так же нужно с поиском картинки "объединить", но только переход к метке GO4, тот скрипт который исправил Oraven работает не корректно (он находит всего одного из 50ти возможных и переходит к следующей странице сундука и на каждой странице находит по одному и продаёт и так далее до конца сундука)
заранее благодарю
Title: Re: помогите пожалуйста
Post by: LLlteйn on November 22, 2017, 06:06:14 PM
желательно сильно не затронув остальную часть скрипта
Title: Re: помогите пожалуйста
Post by: Oraven on November 23, 2017, 07:55:24 AM
Действительно в моем случаи если "продать 1" за 2 сек не найдено происходит нажатие "LCLICK(1052,491)  // 2169104  следующая страница сундука"
Но это легко исправить.

Зачем тебе куча не нужных подпрограмм? Например "SUB(объединение_в_рюкзаке)" вызов всего один.
Подпрограмма "объединить" идет сразу же за "ожидание_картинки". Почему бы не объединить это в одну подпрограмму, и тут уже можно написать цикл возврата.

Code: (clickermann) [Select]
SUB(ожидание_картинки, $par1,$par2,$par3,$par4,$par5,$par6) // подпрограмма с параметрами
   $check1 = 0
   WHILE($check1 = 0)
      $check2 = 0
      WHILE($check2 = 0)
         GETSCREEN ($par1,$par2,$par3,$par4)
         IF_PICTURE_IN ($par1,$par2,$par3,$par4,STRCONCAT("screens\",$par5,".bmp"), 75)  //" поиск
            $check2 = 1
            IF($par6= 1) // если  указан  $par6= 1 то делать клик по найденной картинке  0- нет клика
               LCLICK($_return1, $_return2)
               WAITMS(100)
            END_IF
         ELSE
            WAITMS(100)
         END_IF
      END_CYC
      WAITMS(500)
     
      $time = $_time_t + 2 // таймер на 2 секунды
      WHILE($time > $_time_t)
         GETSCREEN
         IF_PICTURE_IN (1033,528, 1379,693, "screens\рабочие\объединить.bmp", 75)
            $time = 0
            $check1 = 1
            LCLICK($_return1+5, $_return2+5)
            WAITMS(100)
            MOVE(951,549)  // 12642047
            WAITMS(3000)
         ELSE
            WAITMS(50)
         END_IF
      END_CYC
   END_CYC
END_SUB

SUB(продать)
   $time4 = $_time_t + 2 // таймер на 2 секунды
   WHILE($time4 > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (688,189, 1381,523, "screens\рабочие\продать 1.bmp", 75)
         $time4 = 0
         LCLICK($_return1+5, $_return2+5)
         WAITMS(100)
         MOVE(951,549)  // 12642047
         WAITMS(100)
         $time1 = $_time_t + 1 // таймер на 1 секунд
         WHILE($time1 > $_time_t)
            GETSCREEN
            IF_PICTURE_IN (949,460, 1081,482, "screens\рабочие\продать 2.bmp", 75)
               $time1 = 0
               LCLICK($_return1, $_return2)
               WAITMS(500)
               MOVE(951,549)  // 12642047
               WAITMS(500)
            END_IF
         END_CYC
         IF($time1 ! 0)
            $time4 = $_time_t + 2 // таймер на 2 секунды
         END_IF
      END_IF
   END_CYC
   IF($time4 ! 0)
      $time2 = 0
   END_IF
END_SUB

SUB(продажа_рабов_в_сундуке)
   $check2 = 0
   WHILE($check2 = 0)
      $time2 = $_time_t + 2 // таймер на 2 секунд
      WHILE($time2 > $_time_t)
         GETSCREEN
         IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб девы.bmp", 75)
            $time2 = 1
            LCLICK($_return1, $_return2)
            WAITMS(100)
            продать()
         ELSE
            IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб защитника.bmp", 75)
               $time2 = 1
               LCLICK($_return1, $_return2)
               WAITMS(100)
               продать()
            ELSE
               IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб праздника.bmp", 75)
                  $time2 = 1
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  продать()
               ELSE
                  IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб разрушителя.bmp", 75)
                     $time2 = 1
                     LCLICK($_return1, $_return2)
                     WAITMS(100)
                     продать()
                  ELSE
                     IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб скорби.bmp", 75)
                        $time2 = 1
                        LCLICK($_return1, $_return2)
                        WAITMS(100)
                        продать()
                     ELSE
                        IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб ужасающего.bmp", 75)
                           $time2 = 1
                           LCLICK($_return1, $_return2)
                           WAITMS(100)
                           продать()
                        ELSE
                           IF_PICTURE_IN (687,190, 1213,449, "screens\рабочие\некупленный слот.bmp", 75)
                              $time2 = 0
                              $check2 = 1
                              WAITMS(100)
                              LCLICK(878,490)  // 2904698          1ая страница сундука
                              WAITMS(100)
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_CYC
      IF($time2 ! 0)
         LCLICK(1052,491)  // 2169104  следующая страница сундука
         WAITMS(1000)
      END_IF
   END_CYC
END_SUB

FOR($a=0,$a<99)
   
   GO1:
   
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодными рабами.bmp", 75)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(500)
      ELSE
         IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодным рабом.bmp", 75)
            $check = 1
            LCLICK($_return1, $_return2)
            WAITMS(500)
         END_IF
      END_IF
   END_CYC
   
   $time = $_time_t + 1 // таймер на 1 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PICTURE_IN (1034,527, 1185,666, "screens\рабочие\вскрыть.bmp", 75)
         $time = 0
         LCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
   END_CYC
   IF($time ! 0)
      GOTO(GO1)
   END_IF
   
   $time3 = $_time_t + 5 // таймер на 5 секунд
   WHILE($time3 > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(950,345, 952,347, 8242155)  //  ожидание вскрытия
         $time3 = 0
         WAITMS(100)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            IF_PIXEL_IN(950,345, 952,347, 8633312)
               $check = 1
               WAITMS(100)
            END_IF
         END_CYC
      ELSE
         IF_PIXEL_IN(943,344, 945,346, 12642047)  //   нет свободных слотов
            $time3 = 0
            WAITMS(100)
            LCLICK(929,403)  // 7165237     ок
            WAITMS(100)
            MOVE(951,549)  // 12642047
            WAITMS(3000)
            продажа_рабов_в_сундуке()
            WAITMS(100)
         END_IF
      END_IF
   END_CYC
   IF($time ! 0)
      GOTO(GO1)
   END_IF
   
END_CYC

ожидание_картинки (980,549, 1020,584, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1032,549, 1074,588, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1088,550, 1126,586, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1140,550, 1180,588, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1194,549, 1233,585, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (980,603, 1021,638, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1034,601, 1072,639, "дроп\клетка с пригодным рабом", 1)

$check3 = 0
WHILE($check3 = 0)
   
   LCLICK(76,49)  // 987432      обновить страницу
   WAITMS(500)
   
   $time = $_time_t + 60 // таймер на 60 секунд
   WHILE($time > $_time_t)
     
      MOVE(967,503)
      WAITMS(500)
      GETSCREEN
      IF_PIXEL_IN(962,498, 972,508, 81118, 81614, 81111, 13084830, 16184304)     // арена
         $time = 0
         WAITMS(500)
         LCLICK(553,158)  // 262402  персонаж
         WAITMS(500)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            IF_PIXEL_IN(865,93, 875,103, 70185)  //  сундук
               $check = 1
               WAITMS(500)
               LCLICK($_return1, $_return2)
               WAITMS(1000)
            END_IF
         END_CYC
         
      ELSE
         MOVE(632,594)
         WAITMS(500)
         GETSCREEN
         IF_PIXEL_IN(632,594, 632,594, 9192960)      // не зашёл в игру
            LCLICK($_return1, $_return2)
            WAITMS(100)
            $time = $_time_t + 60
         ELSE
            MOVE(794,156)  // 10743039
            WAITMS(500)
            GETSCREEN
            IF_PIXEL_IN(791,149, 931,170, 2401224, 3595007, 6024447, 9568255, 8383743)    // забор ежедневного подарка
               $time = 1
               WAITMS(500)
               LCLICK(912,607)  // 3684408   забрать ежедневный подарок
               WAITMS(500)
            END_IF
         END_IF
      END_IF
   END_CYC
   IF($time = 0)
      $check3 = 1
   END_IF
END_CYC
Title: Re: помогите пожалуйста
Post by: LLlteйn on November 23, 2017, 04:09:33 PM
благодарю за помощь, просто я не очень разбираюсь и мне так проще и спасибо за идеи
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 04, 2017, 06:35:29 PM
Здравствуйте скажите а как нужно или можно сделать правильно?
Дело в том что нужно что бы в подпрограмме отсутствовали метки GO, но нужно что бы в 3х из 4х случаев подпрограмма зацикливалась на самой себе. Вот пример:

Code: (clickermann) [Select]

SUB(проверка победы или поражения)
GO1:
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (1056,133, 1141,164, "screens\рабочие\арена.bmp", 75)
         $check = 1
         WAITMS(100)
         LCLICK(1142,528)  // 4106455  в бой
         WAITMS(1000)
         GOTO(GO1)
      ELSE
         IF_PICTURE_IN (1056,133, 1141,164, "screens\рабочие\победа.bmp", 75)
            $check = 1
            WAITMS(100)
            LCLICK(1156,482)  // 2097234
            WAITMS(1000)
            GOTO(GO1)
         ELSE
            IF_PICTURE_IN (1056,133, 1141,164, "screens\рабочие\поражение.bmp", 75)
               $check = 1
               WAITMS(100)
               LCLICK(1156,482)  // 2097234
               WAITMS(1000)
               GOTO(GO1)
            ELSE
               IF_PICTURE_IN (1056,133, 1141,164, "screens\рабочие\поиск оппонента.bmp", 75)
                  $check = 1
                  WAITMS(100)
               END_IF
            END_IF
         END_IF
      END_IF
   END_CYC
END_SUB
Title: Re: помогите пожалуйста
Post by: Vint on December 04, 2017, 06:42:47 PM
Всё просто. В твоём коде уже всё есть.
Осталось убрать лишнее.
Убрать метку GO1:, и все GOTO(GO1)
Убрать $check = 1 там, где нужно зацикливание.
Здесь у тебя создан цикл, если $check станет равна не 0, цикл завершится.
Управляй своим кодом сам, а не плыви по волнам. Нужно прервать цикл в последнем условии, значит там и делаешь выход стр. 29
$check = 1
А не везде, где попало.
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 04, 2017, 07:03:51 PM
благодарю, скажите а есть способ проверки всех картинок находящихся в определённой папке и как это можно реализовать?
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 04, 2017, 08:08:03 PM
Народ, я знаю что из подпрограмм нельзя выпрыгивать и мне показывали как выйти из неё  и перейти к нужной метке, но как быть когда в подпрограмме 2 метки к которым нужно перейти в двух разных случаях?
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (906,143, 946,161, "screens\рабочие\ваш ход.bmp", 75)
      $check = 1
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (768,126, 893,158, "screens\рабочие\победа.bmp", 75)
         $check = 1
         WAITMS(500)
         GOTO(GO3)
      ELSE
         IF_PICTURE_IN (768,126, 893,158, "screens\рабочие\поражение.bmp", 75)
            $check = 1
            WAITMS(100)
            LCLICK(1156,482)  // 2097234  новый соперник
            WAITMS(500)
            GOTO(GO1)
         END_IF
      END_IF
   END_IF
END_CYC
Заранее благодарю
Title: Re: помогите пожалуйста
Post by: Oraven on December 05, 2017, 07:38:46 AM
благодарю, скажите а есть способ проверки всех картинок находящихся в определённой папке и как это можно реализовать?

Будет нормально работать только в последней бета версии кликера. v4.13 и выше
http://crapware.aidf.org/forum/index.php?topic=356.msg24549#msg24549 (http://crapware.aidf.org/forum/index.php?topic=356.msg24549#msg24549)

Папка "Images" должна находиться в папке скрипта.
Code: (clickermann) [Select]
UNDEFINE($arr_Images)
GETFILELIST($arr_Images, "Images\*.bmp") // Получаем массив имен файлов в указанной папке
GETSCREEN
FOR($a=0,$a<ARRSIZE($arr_Images))
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Images\", $arr_Images[$a]), -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
     $a=ARRSIZE($arr_Images) // Прерываем поиск после нахождения картинки. Выходим из цикла.
   END_IF
END_CYC
Title: Re: помогите пожалуйста
Post by: Oraven on December 05, 2017, 07:40:53 AM
Народ, я знаю что из подпрограмм нельзя выпрыгивать и мне показывали как выйти из неё  и перейти к нужной метке, но как быть когда в подпрограмме 2 метки к которым нужно перейти в двух разных случаях?

Присваиваем в разных случаях переменной $check свое значение. Таким образом корректно выходим из цикла, а условие после цикла позволят использовать ГОТО без глюков.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (906,143, 946,161, "screens\рабочие\ваш ход.bmp", 75)
      $check = 1
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (768,126, 893,158, "screens\рабочие\победа.bmp", 75)
         $check = 2 // Присваиваем $check значение 2
         WAITMS(500)
      ELSE
         IF_PICTURE_IN (768,126, 893,158, "screens\рабочие\поражение.bmp", 75)
            $check = 3
            WAITMS(100)
            LCLICK(1156,482)  // 2097234  новый соперник
            WAITMS(500)
         ELSE
            WAITMS(50)
         END_IF
      END_IF
   END_IF
END_CYC

IF($check = 2) // Если в итоге $check равна 2 то выполняем это
   GOTO(GO3)
END_IF
IF($check = 3)
   GOTO(GO1)
END_IF
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 05, 2017, 09:58:02 AM
Благодарю, скажите я так понимаю "$arr_Images" это сама папка с файлами которые нужно будит проверить, а если у меня папка в папке то здесь нужно будет указывать "$arr_Images_(название папки второй папки)" или это переносится в "Images\(название папки второй папки)\*.bmp" и второй вопрос если у меня установлен таймер поиска в течении 5ти секунд и нужно провести поиск, скажем, в трёх разных папках, как это более правильно реализовать?
Title: Re: помогите пожалуйста
Post by: Vint on December 05, 2017, 11:05:06 AM
$arr_Images - это массив, куда командой
Code: (clickermann) [Select]
GETFILELIST($arr_Images, "Images\*.bmp")будут занесены имена файлов  *.bmp из папки "Images\"
Title: Re: помогите пожалуйста
Post by: Oraven on December 05, 2017, 01:31:27 PM
Code: [Select]
// Тут указываем пути до папок с картинками (Индекс массива $arr_folder_name идет от 0 и до бесконечности)
$arr_folder_name[0] = "Images\Images 1\" // указываем путь относительно рабочей папки скрипта
$arr_folder_name[1] = "Images\Images 2\"
$arr_folder_name[2] = "C:\Portable\Clickermann\projects\Default\" // либо полный путь

$time = $_time_t + 5 // таймер на 5 секунд
WHILE($time > $_time_t)
   FOR($a=0,$a<ARRSIZE($arr_folder_name)) // Цикл перебора путей
      GETFILELIST($arr_Images, STRCONCAT($arr_folder_name[$a], "*.bmp")) // Получаем массив имен файлов в указанной папке
      GETSCREEN
      FOR($b=0,$b<ARRSIZE($arr_Images)) // Цикл перебора имен файлов
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT($arr_folder_name[$a], $arr_Images[$b]), -1, 100)
            LCLICK($_return1, $_return2)
            WAITMS(100)
            $a=ARRSIZE($arr_folder_name) // Прерываем поиск после нахождения картинки. Выходим из всех циклов.
            $b=ARRSIZE($arr_Images)
            $time = 0
         END_IF
      END_CYC
   END_CYC
END_CYC
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 05, 2017, 03:25:40 PM
спасибо всем попытаюсь разобраться в этом
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 08, 2017, 07:49:14 PM
Здравствуйте, не могли бы вы мне помочь?
в самом конце, можно ли ставит два раза IF или нужно как-то по другому?
Code: (clickermann) [Select]
GO8:
      $time = $_time_t + 5 // таймер на 5 секунд
      WHILE($time > $_time_t)
         GETSCREEN
         IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\мифрил.bmp", 75)
            $time = 0
            WAITMS(100)
            LCLICK($_return1, $_return2)
            WAITMS(100)
            забрать()
         ELSE
            IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\ветвь дерева жизни.bmp", 75)
               $time = 0
               WAITMS(100)
               LCLICK($_return1, $_return2)
               WAITMS(100)
               забрать()
            ELSE
               IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\свиток призыва ирин.bmp", 75)
                  $time = 0
                  WAITMS(100)
                  LCLICK($_return1, $_return2)
                  WAITMS(100)
                  забрать()
               ELSE
                  IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\золотой орешек.bmp", 75)
                     $time = 0
                     WAITMS(100)
                     LCLICK($_return1, $_return2)
                     WAITMS(100)
                     забрать()
                  ELSE
                     IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\золотой купон.bmp", 75)
                        $time = 0
                        WAITMS(100)
                        LCLICK($_return1, $_return2)
                        WAITMS(100)
                        забрать()
                     ELSE
                        IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\малый запас купонов.bmp", 75)
                           $time = 0
                           WAITMS(100)
                           LCLICK($_return1, $_return2)
                           WAITMS(100)
                           открыть()
                        ELSE
                           IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\клетка с непохим рабом.bmp", 75)
                              $time = 0
                              WAITMS(100)
                              LCLICK($_return1, $_return2)
                              WAITMS(100)
                              забрать()
                           ELSE
                              IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\арканум.bmp", 75)
                                 $time = 0
                                 WAITMS(100)
                                 LCLICK($_return1, $_return2)
                                 WAITMS(100)
                                 забрать()
                              ELSE
                                 IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\знак разрушения.bmp", 75)
                                    $time = 0
                                    WAITMS(100)
                                    LCLICK($_return1, $_return2)
                                    WAITMS(100)
                                    забрать()
                                 ELSE
                                    IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\знак лечения.bmp", 75)
                                       $time = 0
                                       WAITMS(100)
                                       LCLICK($_return1, $_return2)
                                       WAITMS(100)
                                       забрать()
                                    ELSE
                                       IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\знак защиты.bmp", 75)
                                          $time = 0
                                          WAITMS(100)
                                          LCLICK($_return1, $_return2)
                                          WAITMS(100)
                                          забрать()
                                       ELSE
                                          IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\лисья магия 1.bmp", 75)
                                             $time = 0
                                             WAITMS(100)
                                             LCLICK($_return1, $_return2)
                                             WAITMS(100)
                                             забрать()
                                          ELSE
                                             IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\лисья магия 2.bmp", 75)
                                                $time = 0
                                                WAITMS(100)
                                                LCLICK($_return1, $_return2)
                                                WAITMS(100)
                                                забрать()
                                             ELSE
                                                IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\лисья магия 3.bmp", 75)
                                                   $time = 0
                                                   WAITMS(1000)
                                                   LCLICK($_return1, $_return2)
                                                   WAITMS(1000)
                                                   забрать()
                                                ELSE
                                                   IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\наруч огненной лисы.bmp", 75)
                                                      $time = 0
                                                      WAITMS(100)
                                                      LCLICK($_return1, $_return2)
                                                      WAITMS(100)
                                                      разобрать()
                                                   ELSE
                                                      IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\наруч солнечной лисы.bmp", 75)
                                                         $time = 0
                                                         WAITMS(100)
                                                         LCLICK($_return1, $_return2)
                                                         WAITMS(100)
                                                         разобрать()
                                                      ELSE
                                                         IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\пояс снежной лисы.bmp", 75)
                                                            $time = 0
                                                            WAITMS(100)
                                                            LCLICK($_return1, $_return2)
                                                            WAITMS(100)
                                                            разобрать()
                                                         ELSE
                                                            IF_PICTURE_IN (1057,333, 1099,374, "screens\дроп\зеленый рецепт.bmp", 75)
                                                               $time = 0
                                                               WAITMS(100)
                                                               LCLICK($_return1, $_return2)
                                                               WAITMS(100)
                                                               забрать()
                                                            ELSE
                                                               IF_PIXEL_IN(1030,220, 1032,222, 4394)  //  предупреждение
                                                                  $time = 0
                                                                  WAITMS(100)
                                                                  LCLICK(1065,469)  // 7822649  вернутся
                                                                  WAITMS(1000)
                                                                  $start = 1
                                                               END_IF
                                                            END_IF
                                                         END_IF
                                                      END_IF
                                                   END_IF
                                                END_IF
                                             END_IF
                                          END_IF
                                       END_IF
                                    END_IF
                                 END_IF
                              END_IF
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_CYC
      IF($start = 1)
         $start = 0
         GOTO(GO8)
      END_IF
      IF($time ! 0)
         LCLICK(1079,353)  // 1915999
         WAITMS(100)
         продать()
      END_IF

В подпрограммах "забрать" и т.д. имеется таймер на 3 сек. если не найдётся должен перейти к метке GO8

Заранее благодарю
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 08, 2017, 08:41:07 PM
ну туповат я, что поделать? :)
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 08:13:45 AM
вот честно стараюсь изо всех сил, знаю что ошибка где то в подпрограмме "моб", но не могу сообразить, кто может подскажите и как можно проще, для особо отдалённых. ???
Code: (clickermann) [Select]
SUB(моб, $par1,$par2,$par3,$par4,$par5,$par6) // подпрограмма с параметрами
   $check1 = 0
   WHILE($check1 = 0)
      GETSCREEN ($par1,$par2,$par3,$par4)
      IF_PICTURE_IN ($par1,$par2,$par3,$par4,STRCONCAT("screens\",$par5,".bmp"), 75)  //" поиск
         $check1 = 1
         IF($par6= 1) // если  указан  $par6= 1 то делать клик по найденной картинке  0- нет клика
            LCLICK($_return1, $_return2)
            WAITMS(100)
         END_IF
      ELSE
         WAITMS(500)
      END_IF
   END_CYC
END_SUB



/////////////////////////////////////////////////////////////////////////////






GO1:
LCLICK(1277,365)  // 7385053   следующий остров
WAIT(1)

GO2:
LCLICK(619,569)  // 3942955    монстр
WAIT(1)




$time = $_time_t + 1 // таймер на 1 секунды
WHILE($time > $_time_t)
   GETSCREEN
   IF_PIXEL_IN(740,215, 740,215, 0)  //  окно с мобом
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
   GOTO(GO2)
END_IF


$time = $_time_t + 2 // таймер на 2 секунды
WHILE($time > $_time_t)
   моб(785,248, 872,351, "мобы\вилорогий гэ дэ", 0)
   моб(785,248, 872,351, "мобы\джагга", 0)
   моб(785,248, 872,351, "мобы\джегурдарр", 0)
   моб(785,248, 872,351, "мобы\злобный нико", 0)
   моб(785,248, 872,351, "мобы\курлык", 0)
   моб(785,248, 872,351, "мобы\макук", 0)
   моб(785,248, 872,351, "мобы\матаззу", 0)
   моб(785,248, 872,351, "мобы\низзер", 0)
   моб(785,248, 872,351, "мобы\мымра", 0)
   моб(785,248, 872,351, "мобы\мясник", 0)
   моб(785,248, 872,351, "мобы\счастливая эл", 0)
   моб(785,248, 872,351, "мобы\таар маан", 0)
   моб(785,248, 872,351, "мобы\бес", 0)
   моб(785,248, 872,351, "мобы\бесенок", 0)
   моб(785,248, 872,351, "мобы\дитя зла", 0)
   моб(785,248, 872,351, "мобы\защитник зла", 0)
   моб(785,248, 872,351, "мобы\лорд н глад", 0)
   моб(785,248, 872,351, "мобы\порождение зла", 0)
   моб(785,248, 872,351, "мобы\служитель зла", 0)
   моб(785,248, 872,351, "мобы\сторонник зла", 0)
   моб(785,248, 872,351, "мобы\черт", 0)
   моб(785,248, 872,351, "мобы\чертенок", 0)
   моб(785,248, 872,351, "мобы\солнечная ведьма", 0)
END_CYC
IF($time ! 0)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(1212,132, 1216,136, 5682917)
         $check = 1
         LCLICK($_return1, $_return2)
         WAITMS(2000)
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
      GOTO(GO1)
END_IF

моб(923,187, 1221,493, "рабочие\напасть", 1)


halt
Title: Re: помогите пожалуйста
Post by: Oraven on December 09, 2017, 10:24:09 AM
Строка 77, "IF($time ! 0)" у тебя выше нет нигде $time = 0 поэтому это условие не имеет смысла, оно по любому выполнится.

Строка 85, выпрыгивание из цикла через гото. Сколько можно писать что так нельзя делать. Логически правильно написать прыжок сразу после цикла.
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 11:20:14 AM
Здравствуйте, по поводу "$time = 0" его надо ставить после вызова подпрограммы или вписать в саму подпрограмму?
По поводу цикла понял
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 12:50:41 PM
кажись допёрло так:
Code: (clickermann) [Select]
SUB(моб, $par1,$par2,$par3,$par4,$par5,$par6,$par7)
   $time1 = $_time_t + 2 // таймер на 2 секунды
   WHILE($time > $_time_t)
      GETSCREEN($par1,$par2,$par3,$par4)
      IF_PICTURE_IN ($par1,$par2,$par3,$par4,STRCONCAT("screens\",$par5,".bmp"),75)  //"
         $time1 = 0
         IF($par6= 1) // если  указан  $par6= 1 то делать клик по найденной картинке  0- нет клика
            LCLICK($_return1, $_return2)
            WAITMS(100)
         END_IF
         WAITMS($par7) // задержка после клика
      ELSE
         WAITMS(100)
      END_IF
   END_CYC
   IF($time ! 0)
      LCLICK(1214,153)  // 4893149  закрыть окно
      WAITMS(2000)
      GOTO(GO1)
   END_IF
END_SUB



SUB(поиск картинки, $par8,$par9,$par10,$par11,$par12,$par13,$par14) // подпрограмма с параметрами
   $check = 0
   WHILE($check = 0)
      GETSCREEN ($par8,$par9,$par10,$par11)
      IF_PICTURE_IN ($par8,$par9,$par10,$par11,STRCONCAT("screens\",$par12,".bmp"), 75)  //" поиск
         $check = 1
         IF($par13= 1) // если  указан  $par6= 1 то делать клик по найденной картинке  0- нет клика
            LCLICK($_return1, $_return2)
            WAITMS(100)
         END_IF
         WAITMS($par14) // задержка после клика
      ELSE
         WAITMS(100)
      END_IF
   END_CYC
END_SUB


/////////////////////////////////////////////////////////////////////////////






GO1:
LCLICK(1277,365)  // 7385053   следующий остров
WAIT(1)

GO2:
LCLICK(619,569)  // 3942955    монстр
WAIT(1)




$time = $_time_t + 1 // таймер на 1 секунды
WHILE($time > $_time_t)
   GETSCREEN
   IF_PIXEL_IN(740,215, 740,215, 0)  //  окно с мобом
      $time = 0
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
END_CYC
IF($time ! 0)
   GOTO(GO2)
END_IF



моб(785,248, 872,351,"мобы\вилорогий гэ дэ",0, 100)
моб(785,248, 872,351, "мобы\вилорогий гэ дэ", 0, 100)
моб(785,248, 872,351, "мобы\джагга", 0, 100)
моб(785,248, 872,351, "мобы\джегурдарр", 0, 100)
моб(785,248, 872,351, "мобы\злобный нико", 0, 100)
моб(785,248, 872,351, "мобы\курлык", 0, 100)
моб(785,248, 872,351, "мобы\макук", 0, 100)
моб(785,248, 872,351, "мобы\матаззу", 0, 100)
моб(785,248, 872,351, "мобы\низзер", 0, 100)
моб(785,248, 872,351, "мобы\мымра", 0, 100)
моб(785,248, 872,351, "мобы\мясник", 0, 100)
моб(785,248, 872,351, "мобы\счастливая эл", 0, 100)
моб(785,248, 872,351, "мобы\таар маан", 0, 100)
моб(785,248, 872,351, "мобы\бес", 0, 100)
моб(785,248, 872,351, "мобы\бесенок", 0, 100)
моб(785,248, 872,351, "мобы\дитя зла", 0, 100)
моб(785,248, 872,351, "мобы\защитник зла", 0, 100)
моб(785,248, 872,351, "мобы\лорд н глад", 0, 100)
моб(785,248, 872,351, "мобы\порождение зла", 0, 100)
моб(785,248, 872,351, "мобы\служитель зла", 0, 100)
моб(785,248, 872,351, "мобы\сторонник зла", 0, 100)
моб(785,248, 872,351, "мобы\черт", 0, 100)
моб(785,248, 872,351, "мобы\чертенок", 0, 100)
моб(785,248, 872,351, "мобы\солнечная ведьма", 0, 100)


поиск картинки(923,187, 1221,493, "рабочие\напасть", 1, 500)

halt
?
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 01:03:01 PM
хм, нет теперь в место того что бы при не нахождении файла он всё равно переходит к "напасть", а должен был к закрыть
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 01:19:10 PM
хм, нет теперь в место того что бы при не нахождении файла он всё равно переходит к "напасть", а должен был к закрыть
Забыл единичку поставить
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 01:44:29 PM
Скажите пожалуйста, я так понимаю при вызове подпрограммы
Code: (clickermann) [Select]
моб(785,248, 872,351,"мобы\вилорогий гэ дэ",0, 100)нельзя записывать через запятую вызываемые файлы?
или может быть есть возможность в конце данной строки вписать подпрограмму которую нужно вызвать при нахождении данного файла?
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 01:47:34 PM
хм, нет теперь в место того что бы при не нахождении файла он всё равно переходит к "напасть", а должен был к закрыть
Забыл единичку поставить
всё равно что то не то :-\
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 09, 2017, 09:39:58 PM
большое благодарю, Кирил, только у меня вопросы имеются
1. насколько я понимаю все переменные с 1 по 4 из за переноса команды GETSCREEN?
2. насколько я понял в подпрограмме "моб" если находится один из данных файлов, он закрывает окно, хотя он должен был по идее перейти к поиску картинки "напасть", а в случае не нахождения в течении тех двух секунд закрыть окно ()
3.
Code: (clickermann) [Select]
#name"небеса v0.2"что это?
4.
Code: (clickermann) [Select]
$time1=1 это используется в качестве метки? и как используются данные метки?
теперь ответы:
1. да 75% совпадения достаточно
2. да цвет равен нулю
3. отличие моба и монстра (хотя по сути одно и тоже) в том что подпрограмма "моб" проверяется в открытом окне где картинка (которая статична) а так же кнопки напасть, прогнать и закрыть, а клик по монстру это клик в место где находятся все монстры в игре (я нашёл определённую точку)(там картинка не статична и порою перекрыта игровым "туманом"), когда он кликает туда, тогда и открывается окно со статичным изображением
Теперь для ясности, скрипт который я написал (с ошибками) должен делать следующее:
1. кликает на следующий остров
2. кликает на монстра в игре
3. проверяет открылось ли окно нападения, если да то 4ое, если в течении 1й сек. не открылось снова кликает чтобы открылось окно
4. проверяет какой монстр папался, если из списка то 5ое, если нет то закрывает окно нападения и переходит к метке го1
5 ищет кнопку нападения
и так далее поскольку скрипт не закончен (но там прописана команда остановки, чтобы я не отвлекался)
P.S.
и я не злой просто не доходит, если не разжевать  :-\
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 12, 2017, 07:38:32 PM
Здравствуйте, скажите пожалуйста, а как сделать так что бы кликер запомнил цвет из определённой координаты, а потом (через несколько действий) ожидал данный цвет в этой же координате?
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 13, 2017, 07:11:30 PM
большое благодарю
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 13, 2017, 07:13:39 PM
ведь не обязательно имя скрипта писать?
и зачем там GETSCREEN после поиска?
Title: Re: помогите пожалуйста
Post by: Oraven on December 13, 2017, 08:45:59 PM
Тут скорее непонятно почему нет GETSCREEN вначале

Code: (clickermann) [Select]
GETSCREEN
$var = PXL(100,100) // запомнил цвет
LOGWRITE("запомнил цвет  ",$var)
// вписать несколько действий
// Ждем появления цвета $var по координате 100,100
GETSCREEN
WHILE(PXL (100,100) ! $var) // цикл задерживает скрипт пока не появится заданный цвет
   WAITMS (50)
   GETSCREEN
END_CYC
LOGWRITE("Ага, цвет найден")
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 13, 2017, 08:57:44 PM
признаюсь он и без первого работал :-\
Title: Re: помогите пожалуйста
Post by: LLlteйn on December 13, 2017, 09:00:35 PM
и еще скажите пожалуйста, как в данном скрипте вызвать подпрограммы, причём разные для каждого из выбранных файлов?
Code: (clickermann) [Select]
$time = $_time_t + 2 // таймер на 1 секунды
WHILE($time > $_time_t)
   дроп("дроп\душа бесенка")
   дроп("дроп\запретный ритуал")
   дроп("дроп\клинок заката")
   дроп("дроп\мифриловый нагрудник")
   дроп("дроп\небесная слеза")
   дроп("дроп\облачный лимб")
END_CYC
Заранее благодарю