Author Topic: Не переходит дальше,помогите  (Read 2800 times)

0 Members and 3 Guests are viewing this topic.

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Не переходит дальше,помогите
« on: September 16, 2017, 11:20:28 AM »
Code: (clickermann) [Select]
SUB(vixod)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vixod.bmp", -1, 95) // ищем выход
         LCLICK($_return1+3, $_return2+3)
         WAIT(1)
         $check = 1
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
END_SUB

SUB(afk)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk.bmp", -1, 95) // ставим афк
         LCLICK($_return1+5, $_return2+5)
         WAITMS(50)
         LOGWRITE ("поставил на афк")
         $check = 1
      ELSE
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk1.bmp", -1, 95) // галка стоит
            WAITMS(50)
            LOGWRITE ("афк включено")
            $check = 1
         END_IF
      ELSE
         WAITMS(50)
         LOGWRITE ("не нашел кнопку")
      END_IF
   END_CYC
END_SUB



$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "mifsrej.bmp", -1, 95) //
      LCLICK($_return1+60, $_return2+10) //
      WAITMS(500)
      LOGWRITE ("нашел сражение")
      $check = 1
      krest2()
     
      FOR($a=0,$a<10)// _______________________________делает 10 раз и застревает не делает суб выход
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "liger.bmp", -1, 95) //
               move($_return1-80, $_return2-80)
               WAITMS(50)
               LCLICK($_return1-80, $_return2-80)
               WAITMS(50)
               LOGWRITE ("нашел лигер")
               $check = 1
               afk() //
            ELSE
               WAITMS(50)
               LOGWRITE ("no картинки лигер")
            END_IF
         END_CYC
      END_CYC
     
      vixod()// _______________________вот сюда не идет
     
   ELSE
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "srajnegorit.bmp", -1, 95) // ищем сражение
         LCLICK($_return1+60, $_return2+10) //
         WAITMS(500)
         LOGWRITE ("сражение не горит")
         $check = 1
         WAITMS(50)
         LOGWRITE ("no картинка сражение не горит")
      END_IF
   ELSE
      WAITMS(50)
   END_IF
END_CYC
.......
11:01:06 no картинки лигер
11:01:18 no картинки лигер
11:01:26 нашел лигер
11:02:29 афк включено
11:02:41 no картинки лигер
11:02:50 нашел лигер
11:02:56 афк включено
11:03:08 no картинки лигер
11:04:04 нашел лигер
11:04:10 афк включено
10 раз сделал на суб выход не идет почему то ?
Помогите советом пожалуйста
« Last Edit: September 16, 2017, 11:51:05 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Не переходит дальше,помогите
« Reply #1 on: September 16, 2017, 11:53:33 AM »
Ошибки. Два ELSE в одном условии. Строки 26 34 и 76 87

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #2 on: September 16, 2017, 12:58:29 PM »
я и не знал что нельзя два елзе в одном условии спасибо

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #3 on: September 16, 2017, 02:14:49 PM »
Не судите строго, я не очень разбираюсь.Тут не весь скрипт по этому суб крест нету.
Задумка была такая: заходим в локацию проверяем наличие картинки mifsrej.bmp(Если есть выполняем 10 раз...) если ее нет проверяем наличие другой(srajnegorit.bmp) если горит то выходим, если нет обоих значит не погрузилась повторяем поиск с начало.

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #4 on: September 16, 2017, 02:20:48 PM »
Code: [Select]
SUB(afk)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk.bmp", -1, 95) // ñòàâèì àôê
         LCLICK($_return1+5, $_return2+5)
         WAITMS(50)
         LOGWRITE ("ïîñòàâèë íà àôê")
         $check = 1
      ELSE
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk1.bmp", -1, 95) // ãàëêà ñòîèò
            WAITMS(50)
            LOGWRITE ("àôê âêëþ÷åíî")
            $check = 1
         END_IF
      ELSE
         WAITMS(50)
         LOGWRITE ("íå íàøåë êíîïêó")
      END_IF
   END_CYC
END_SUB

Тут тоже не будет работать?Подскажите пожалуйста.
Мысль такая же если есть то хорошо если нет то проверяем другую(нашли идем дальше) а нету двоих картинок повторяем сначала.

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #5 on: September 16, 2017, 02:54:28 PM »
Спасибо огромное!!!! буду переделывать

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #6 on: September 16, 2017, 03:02:44 PM »
Code: [Select]
GETSCREEN
   COLORMODE(6)
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "krest.bmp", -1,95)
   FOR($ARR_NUM=0,$ARR_NUM<ARRSIZE($ARR_SCAN),2)
      LCLICK($ARR_SCAN[$ARR_NUM]+9, $ARR_SCAN[$ARR_NUM+1]+9)   // Клик  на все крестики
      WAITMS(500)
      UNDEFINE($ARR_SCAN)
      END_CYC
А можно вот в такой код применить ELSE?

 
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "krest.bmp", -1,95)
   FOR($ARR_NUM=0,$ARR_NUM<ARRSIZE($ARR_SCAN),2)
      LCLICK($ARR_SCAN[$ARR_NUM]+9, $ARR_SCAN[$ARR_NUM+1]+9)   // Клик  на все крестики
      WAITMS(500)
      UNDEFINE($ARR_SCAN)
     
      $check = 1
   ELSE
      WAITMS(50)
   END_CYC
END_CYC

Вот так например?

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #7 on: September 16, 2017, 03:10:41 PM »
А можно вот в такой код применить ELSE?
А нафига ? ? ?  :o Где логика?  :o

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #8 on: September 16, 2017, 03:23:38 PM »
могут не появиться нужно ждать, если с одной картинкой мне понятно как сделать,а вот если их много сразу появляется и на них всех нужно пронажимать.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Не переходит дальше,помогите
« Reply #9 on: September 16, 2017, 04:36:11 PM »
Правильный код
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "krest.bmp", -1,95)
   FOR($ARR_NUM=0,$ARR_NUM<ARRSIZE($ARR_SCAN),2)
      LCLICK($ARR_SCAN[$ARR_NUM]+9, $ARR_SCAN[$ARR_NUM+1]+9)   // Клик  на все крестики
      WAITMS(500)
      $check = 1
   END_CYC
   WAITMS(50)
END_CYC
UNDEFINE($ARR_SCAN)

sanek83

  • Освоившийся
  • **
  • Posts: 64
    • View Profile
Re: Не переходит дальше,помогите
« Reply #10 on: September 16, 2017, 04:47:08 PM »
Oraven красавчик все робит СПАСИБО!