Author Topic: Помогите с рыбалкой  (Read 1479 times)

0 Members and 1 Guest are viewing this topic.

Alecoq

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Помогите с рыбалкой
« on: April 23, 2018, 12:10:37 PM »
Добрый день чуть разобрался в программе есть проблемка 
Скрипт не зацыкливается проходит один раз после добавления
 // зарядка наживки
Вот код
Code: [Select]
// Рыбалка
THREAD(osnova,1)  // поток основного кода
   DEFINE($aa,0)
   DEFINE($aaa,0)
   WAIT(2)
   $check1 = 0
   WHILE($check1 = 0)
      WAITMS(300)
      GETSCREEN
      IF(PXL(802,479) = 6780292)
         WAITMS (500)
         INC ($aaa, 1)
         LOGWRITE ("Заброс ОК ", $aaa)
         LCLICK(RND(386,606),RND(379,447))
         WAITMS(300)
      END_IF
      WAITMS(3000)
      GETSCREEN
      IF_PICTURE_IN(350,300,780,460,"img\poplovok.bmp")
         WAITMS(1000)
         $check1 = 1
         WAITMS(50)
         MOVE($_return1+20, $_return2+15)
         WAITMS(300)
      END_IF
      WAITMS(500)
      $check2 = 0
      WHILE($check2 = 0)
         GETSCREEN
         IF_PICTURE_IN(350,300,780,460,"img\klev.bmp")
            WAITMS(100)
            LCLICK($_return1+3, $_return2-3)
            WAITMS(100)
            logwrite("Поклёвка ОК")
            WAITMS(100)
         END_IF
         WAITMS(100)
         GETSCREEN
         IF(PXL(802,479) = 6780292)
            WAITMS (100)
            $check2 = 1
         END_IF
         WAITMS(300)
         
         // зарядка наживки
         IF($aaa = 15)
            WAITMS(50)
            $checkb = 0
            WHILE($checkb = 0)
               IF(PXL(809,244) ! 1842718)
                  WAITMS(300)
                  $checkb = 1
                  WAITMS(300)
                  LCLICK(849,119)
                  WAIT(5)
                  LCLICK(611,172)
                  WAIT(3)
               END_IF
               $checka = 0
               WHILE($checka = 0)
                  GETSCREEN
                  IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)
                     WAITMS(300)
                     LCLICK($_return1, $_return2+23)
                     INC ($aa, 1)
                     WAITMS(300)
                     LOGWRITE ("Наживка ОК ", $aa)
                  END_IF
               ELSE
                  WAITMS(500)
                  WHEELDOWN(5)
                  WAITMS(500)
               END_IF
               
               // Возвращение к рыбалке
               IF($aa = 6)
                  WAITMS(500)
                  $checka = 1
                  $aaa = 0
                  WAITMS(300)
                  $aa = 0
                  WAITMS(50)
                  LCLICK(782,120)
                  WAIT(8)
               END_IF
            END_CYC
         END_CYC
      END_CYC
   END_CYC
END_THREAD

// Автобой
$check4 = 0
WHILE($check4 = 0)
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN(673,190,696,213,"img\obnova.bmp")
      WAIT(RND(10,25))
      LCLICK($_return1, $_return2)
      WAITMS(500)
      logwrite("Обновление ОК")
      WAITMS(500)
   END_IF
   WAITMS(1500)
   GETSCREEN
   IF_PICTURE_IN(50,602,81,632,"img\zver.bmp")
      WAITMS(100)
      SETTHREAD (osnova, 2)
      WAITMS (100)
      logwrite("Поток ОФФ ОК")
      WAITMS(500)
      LCLICK($_return1, $_return2)
      WAITMS(50)
      logwrite("Призыв зверя ОК")
   END_IF
   WAITMS(1500)
   GETSCREEN
   IF_PICTURE_IN(642,358,666,387,"img\ok.bmp")
      WAITMS(500)
      LCLICK($_return1, $_return2)
      WAITMS(500)
      logwrite("Ок")
      WAITMS(300)
   END_IF
   WAITMS(1500)
   GETSCREEN
   IF_PICTURE_IN(28,539,244,565,"img\priem.bmp")
      WAITMS(500)
      LCLICK($_return1, $_return2)
      WAITMS(500)
      logwrite("Приём ОК")
      WAITMS(300)
   END_IF
   WAITMS(1500)
   GETSCREEN
   IF_PICTURE_IN(660,221,687,247,"img\boi.bmp")
      WAIT(RND(1,3))
      LCLICK($_return1, $_return2)
      WAITMS(500)
      logwrite("Удар ОК")
      WAITMS(300)
   END_IF
   WAITMS(1500)
   GETSCREEN
   IF_PICTURE_IN(625,200,730,230,"img\vernutsa.bmp")
      WAITMS(500)
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
   WAITMS(500)
   GETSCREEN
   IF_PICTURE_IN(625,200,730,230,"img\vernutsa2.bmp")
      WAITMS(500)
      LCLICK($_return1, $_return2)
      WAITMS(500)
   END_IF
   WAITMS(2500)
   GETSCREEN
   IF_PICTURE_IN (360,400, 450,450, "img\vxod.bmp")
      WAITMS(150)
      $check4 = 1
      logwrite("Выход из боя ОК")
      WAITMS(150)
   END_IF
END_CYC

// Вход
$check5 = 0
WHILE($check5 = 0)
   WAITMS(1500)
   GETSCREEN
   IF_PICTURE_IN (360,400, 450,450, "img\vxod.bmp")
      WAITMS(700)
      LCLICK($_return1, $_return2)
      WAITMS(700)
      LCLICK($_return1+15, $_return2+5)
      WAITMS(700)
   END_IF
   WAITMS(5700)
   GETSCREEN
   IF(PXL(858,333) = 4735295)
      WAITMS (100)
      $check5 = 1
      WAITMS(100)
      logwrite("Вход ОК")
   END_IF
   WAITMS(100)
   SETTHREAD (osnova, 1)
   WAITMS(500)
   logwrite("Поток ОК")


вот лог

12:00:17 Заброс ОК 1
12:00:30 Поклёвка ОК
12:00:33 Заброс ОК 2
12:00:55 Поклёвка ОК
12:00:58 Заброс ОК 3
12:01:02 Поклёвка ОК
12:01:04 Заброс ОК 4
12:01:17 Поклёвка ОК
12:01:21 Заброс ОК 5
12:01:25 Поклёвка ОК
12:01:38 Поклёвка ОК
12:01:44 Заброс ОК 6
12:01:48 Поклёвка ОК
12:01:49 Заброс ОК 7
12:01:55 Поклёвка ОК
12:01:58 Заброс ОК 8
12:02:04 Поклёвка ОК
12:02:07 Заброс ОК 9
12:02:46 Заброс ОК 10
12:02:51 Заброс ОК 11
12:02:56 Заброс ОК 12
12:03:02 Заброс ОК 13
12:03:07 Заброс ОК 14
12:03:13 Заброс ОК 15
12:03:27 Наживка ОК 1
12:03:29 Наживка ОК 2
12:03:31 Наживка ОК 3
12:03:32 Наживка ОК 4
12:03:34 Наживка ОК 5
12:03:35 Наживка ОК 6
12:03:53 Выход из боя ОК
12:04:03 Поток ОК


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите с рыбалкой
« Reply #1 on: April 23, 2018, 12:26:51 PM »
По ошибкам.
Множественные ошибки в окончаниях циклов WHILE
В конце скрипта WHILE($check5 = 0) нигде не заканчивается

Это что вообще?
Code: (clickermann) [Select]
IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)В параметрах после имени картинки может быть код цвета прозрачности в картинке (либо -1 без прозрачности.) и процент совпадения от 1 до 100

Здесь потеря условия
WHILE($checka = 0)
   GETSCREEN
   IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)
      WAITMS(300)
      LCLICK($_return1, $_return2+23)
      INC ($aa, 1)
      WAITMS(300)
      LOGWRITE ("Наживка ОК ", $aa)
   END_IF
ELSE
   WAITMS(500)
   WHEELDOWN(5)
   WAITMS(500)
END_IF

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Помогите с рыбалкой
« Reply #2 on: April 23, 2018, 12:29:05 PM »
дак тут куча ошибок, начнем с них. пока только то, что я заметил. после исправления посмотрим далее.

1.
Code: (clickermann) [Select]
                $checka = 0
               WHILE($checka = 0)
                  GETSCREEN
                  IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)
                     WAITMS(300)
                     LCLICK($_return1, $_return2+23)
                     INC ($aa, 1)
                     WAITMS(300)
                     LOGWRITE ("Наживка ОК ", $aa)
                  END_IF // или тут !!!
               ELSE // или тут !!!
                  WAITMS(500)
                  WHEELDOWN(5)
                  WAITMS(500)
               END_IF // или тут !!!               
               // Возвращение к рыбалке
               IF($aa = 6)
                  WAITMS(500)
                  $checka = 1
                  $aaa = 0
                  WAITMS(300)
                  $aa = 0
                  WAITMS(50)
                  LCLICK(782,120)
                  WAIT(8)
               END_IF
            END_CYC

как это понимать? чегото лишнее, или чегото не хватает...

наверное правильно так:
Code: (clickermann) [Select]
WHILE($checka = 0)
   GETSCREEN
   IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)
      WAITMS(300)
      LCLICK($_return1, $_return2+23)
      INC ($aa, 1)
      WAITMS(300)
      LOGWRITE ("Наживка ОК ", $aa)     
   ELSE
      WAITMS(500)
      WHEELDOWN(5)
      WAITMS(500)
   END_IF
   
   // Возвращение к рыбалке
   IF($aa = 6)
      WAITMS(500)
      $checka = 1
      $aaa = 0
      WAITMS(300)
      $aa = 0
      WAITMS(50)
      LCLICK(782,120)
      WAIT(8)
   END_IF
END_CYC

2. не хватает окончания в условии IF($aaa = 15) . скорее всего вот так :

Code: (clickermann) [Select]
         // зарядка наживки
         IF($aaa = 15)
            WAITMS(50)
            $checkb = 0
            WHILE($checkb = 0)
               IF(PXL(809,244) ! 1842718)
                  WAITMS(300)
                  $checkb = 1
                  WAITMS(300)
                  LCLICK(849,119)
                  WAIT(5)
                  LCLICK(611,172)
                  WAIT(3)
               END_IF
               $checka = 0
               WHILE($checka = 0)
                  GETSCREEN
                  IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)
                     WAITMS(300)
                     LCLICK($_return1, $_return2+23)
                     INC ($aa, 1)
                     WAITMS(300)
                     LOGWRITE ("Наживка ОК ", $aa)
                     
                  ELSE
                     WAITMS(500)
                     WHEELDOWN(5)
                     WAITMS(500)
                  END_IF
                 
                  // Возвращение к рыбалке
                  IF($aa = 6)
                     WAITMS(500)
                     $checka = 1
                     $aaa = 0
                     WAITMS(300)
                     $aa = 0
                     WAITMS(50)
                     LCLICK(782,120)
                     WAIT(8)
                  END_IF
               END_CYC
            END_CYC
         END_IF

3. ну и цикл WHILE($check5 = 0), нет окончания.

Alecoq

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: Помогите с рыбалкой
« Reply #3 on: April 23, 2018, 02:22:30 PM »
Code: [Select]
    IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)Это исключить фон,я так понял надо закрасить фон nazivka.bmp черным и поставить 1 цвет в исключение?

WHILE($checka = 0) Здесь так


Code: [Select]

               $checka = 0 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
               WHILE($checka = 0)
                  GETSCREEN
                  IF_PICTURE_IN (530, 120, 690,690, "img\nazivka.bmp", 14342874,13880520)
                     WAITMS(300)
                     LCLICK($_return1, $_return2+23)
                     INC ($aa, 1)
                     WAITMS(300)
                     LOGWRITE ("Наживка ОК ", $aa)
                  ELSE
                     WAITMS(500)
                     WHEELDOWN(5)
                     WAITMS(500)
                  END_IF
                  // Возвращение к рыбалке
                  IF($aa = 6)
                     WAITMS(500)
                     $checka = 1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                     $aaa = 0
                     WAITMS(300)
                     $aa = 0
                     WAITMS(50)
                     LCLICK(782,120)
                     WAIT(8)
                  END_IF
               END_CYC

Alecoq

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: Помогите с рыбалкой
« Reply #4 on: April 23, 2018, 03:36:41 PM »
Заработало спасибо.dramster да лишний end_if был