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

Основной раздел => Общие вопросы => Topic started by: Optibater on October 11, 2016, 01:09:14 AM

Title: Подскажите что не так...
Post by: Optibater on October 11, 2016, 01:09:14 AM
Доброй ночи всем!

Вот пытаюсь не спеша скрипт собрать бегая по форуму, вроде бы выходит, но в одной подпрограмме образовалась ошибка.
Подскажите что не так...

Code: (clickermann) [Select]
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
KEYPRESS(#ENTER)
WAITMS(300)
KEYPRESS(#ENTER)
WAITMS(100)

IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // находит 10.bmp и кликает на 7.bmp
    IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
     LCLICK($_return1+7, $_return2+7)
      WAITMS(RND(500,600))

IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
   LCLICK($_return1+7, $_return2+7)
   WAITMS(300)

IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
   LCLICK($_return1+7, $_return2+7)
   WAITMS(300)

IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
   LCLICK($_return1+7, $_return2+7)
   WAITMS(300)

ELSE

$check = 1
wait(500)
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
END_SUB
Title: Re: Подскажите что не так...водные статьи (Новички, читайте!)
Post by: dramster on October 11, 2016, 01:29:47 AM
посчитай, сколько у тебя условий IF_PICTURE_IN, и сколько завершений этих условий END_IF. чегото не хватает.
используй кнопку "расставить отсупы" (волшебная палочка) в редакторе, и все встанет на свои места. и станет ясно, что чегото не хватает.

Code: (clickermann) [Select]
SUB(boy, 2)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
         KEYPRESS(#ENTER)
         WAITMS(300)
         KEYPRESS(#ENTER)
         WAITMS(100)
         
         IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // находит 10.bmp и кликает на 7.bmp
            IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
               LCLICK($_return1+7, $_return2+7)
               WAITMS(RND(500,600))
               
               IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
                  LCLICK($_return1+7, $_return2+7)
                  WAITMS(300)
                 
                  IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
                     LCLICK($_return1+7, $_return2+7)
                     WAITMS(300)
                     
                     IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
                        LCLICK($_return1+7, $_return2+7)
                        WAITMS(300)
                       
                     ELSE
                       
                        $check = 1
                        wait(500)
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_CYC
END_SUB

возможно я вставил END_IF не там где требуется, зависит от поставленной задачи.



а вот судя по этой цитате:
Quote
Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
то должно быть вот так
Code: (clickermann) [Select]
SUB(boy, 2)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
         KEYPRESS(#ENTER)
         WAITMS(300)
         KEYPRESS(#ENTER)
         WAITMS(100)
         
         IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // находит 10.bmp и кликает на 7.bmp
            IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
               LCLICK($_return1+7, $_return2+7)
               WAITMS(RND(500,600))
               
               IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
                  LCLICK($_return1+7, $_return2+7)
                  WAITMS(300)
                 
                  IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
                     LCLICK($_return1+7, $_return2+7)
                     WAITMS(300)
                     
                     IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
                        LCLICK($_return1+7, $_return2+7)
                        WAITMS(300)
                       
                       
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      ELSE         
         $check = 1
         wait(500)
      END_IF
   END_CYC
END_SUB

Title: Re: Подскажите что не так...водные статьи (Новички, читайте!)
Post by: Optibater on October 11, 2016, 02:37:19 AM

а вот судя по этой цитате:
Quote
Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
то должно быть вот так
Code: (clickermann) [Select]
SUB(boy, 2)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
         KEYPRESS(#ENTER)
         WAITMS(300)
         KEYPRESS(#ENTER)
         WAITMS(100)
         
         IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // находит 10.bmp и кликает на 7.bmp
            IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
               LCLICK($_return1+7, $_return2+7)
               WAITMS(RND(500,600))
               
               IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
                  LCLICK($_return1+7, $_return2+7)
                  WAITMS(300)
                 
                  IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
                     LCLICK($_return1+7, $_return2+7)
                     WAITMS(300)
                     
                     IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
                        LCLICK($_return1+7, $_return2+7)
                        WAITMS(300)
                       
                       
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      ELSE         
         $check = 1
         wait(500)
      END_IF
   END_CYC
END_SUB

Теперь последние 3 условия IF_PICTURE_IN не работают... Эх ладно, буду уже днем ковырять дальше.
Title: Re: Подскажите что не так...
Post by: dramster on October 11, 2016, 01:19:40 PM
Quote
Теперь последние 3 условия IF_PICTURE_IN не работают... Эх ладно, буду уже днем ковырять дальше.
используй логирование, чтобы точно знать, какие картинки у тебя находит, а какие нет. если не срабатывают последние 3 условия, то скорее всего "7.bmp" не находит, а значит не ищет и "1.bmp","5.bmp","vernutsia.bmp". немного поджредактируем, но не факт что так правильно. ты бы подробнее пояснил что должен делать скрипт и при каких условиях. так как "// находит 10.bmp и кликает на 7.bmp" лишено смысла. ели ты уверен что "10.bmp" и "7.bmp" должны быть одновременно на экране, то какой смысл искать "10.bmp", можно же сразу искать "7.bmp".
ну да ладно, мои экстрасенсорные способности подсказывают что нужно делать так:
Code: (clickermann) [Select]
SUB(boy, 2)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
         KEYPRESS(#ENTER)
         WAITMS(300)
         KEYPRESS(#ENTER)
         WAITMS(100)
         
         IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // находит 10.bmp и кликает на 7.bmp
            IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
               LCLICK($_return1+7, $_return2+7)
               WAITMS(RND(500,600))
            END_IF
           
            IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
               LCLICK($_return1+7, $_return2+7)
               WAITMS(300)
               
               IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
                  LCLICK($_return1+7, $_return2+7)
                  WAITMS(300)
                 
                  IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
                     LCLICK($_return1+7, $_return2+7)
                     WAITMS(300)
                  END_IF
               END_IF
            END_IF
         END_IF
      ELSE
         $check = 1
         wait(500)
      END_IF
   END_CYC
END_SUB
Title: Re: Подскажите что не так...
Post by: Optibater on October 11, 2016, 08:34:55 PM
Не работает  :(....
Логирование еще ни разу не пробовал применять.

Code: (clickermann) [Select]
SUB(boy, 2)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если видит эту картинку, то делает удары и применяет приемы усиления, если картинку не видит, то цыкл останавливается.
         KEYPRESS(#ENTER)  // делает удары
         WAITMS(300)
         KEYPRESS(#ENTER) // делает удары
         WAITMS(100)
 
         IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // На персонаже висит ослабление
            IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100) // этот прием снимает ослабление (Появляется в процесе боя)
               LCLICK($_return1+7, $_return2+7)
               WAITMS(RND(500,600))
            END_IF
 
            IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
               LCLICK($_return1+7, $_return2+7)
               WAITMS(300)
 
               IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
                  LCLICK($_return1+7, $_return2+7)
                  WAITMS(300)
 
                  IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
                     LCLICK($_return1+7, $_return2+7)
                     WAITMS(300)
                  END_IF
               END_IF
            END_IF
         END_IF
      ELSE
         $check = 1
         wait(500)
      END_IF
   END_CYC
END_SUB
Title: Re: Подскажите что не так...
Post by: dramster on October 11, 2016, 11:05:44 PM
ну сейчас вроде более менее понятно.
Code: (clickermann) [Select]
SUB(boy, 2)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // пока есть на экране "коврики" 6.бмп, то дубасим на энтер
         KEYPRESS(#ENTER)  // делает удары
         WAITMS(300)
         KEYPRESS(#ENTER) // делает удары
         WAITMS(100)
         print("идет бой, жмем энтер")
         
         IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100)  // На персонаже висит ослабление
            print("на персонаже висит ослабление")
            IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100) // этот прием снимает ослабление (Появляется в процесе боя)
               LCLICK($_return1+7, $_return2+7)
               print("снимаем ослабление")
               WAITMS(RND(500,600))
            END_IF
         END_IF
         
         
         IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
            LCLICK($_return1+7, $_return2+7)
            print("прием усиления 1.бмп")
            WAITMS(300)
         END_IF
         
         IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
            LCLICK($_return1+7, $_return2+7)
            print("прием усиления 5.бмп")
            WAITMS(300)
         END_IF
         
         IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
            LCLICK($_return1+7, $_return2+7)
            print("просто кликает vernutsia.bmp")
            WAITMS(300)
         END_IF
                           
      ELSE
         $check = 1
         print("коврика нет. ждем 500сек.!!! :/")
         wait(500)
      END_IF
   END_CYC
END_SUB

в каждом условии вставил вывод в лог, так что можно наблюдать, какие картинки находит, а какие нет. окно лога, надеюсь, знаешь как открыть.
Title: Re: Подскажите что не так...
Post by: Optibater on October 12, 2016, 12:30:30 AM
ну сейчас вроде более менее понятно.

в каждом условии вставил вывод в лог, так что можно наблюдать, какие картинки находит, а какие нет. окно лога, надеюсь, знаешь как открыть.


Да, открыл лог, посмотрел. Так все работает.
Огромное спасибо! Жизнь моя стала теперь чуточку проще  8)