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 - sanek83

Pages: [1] 2 3 ... 5
1
ок спасибо за помощь

2
Это часть кода,Kiril а я смогу эти координаты использовать дальше в любой части скрипта?

3
Ребята подскажите можно ли запомнить координаты найденной картинки, и вызывать их(кликать по ним) потом в любом месте скрипта?Если да подскажите как реализовать?
ну например:
Code: [Select]
  $check = 0
   WHILE($check = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "mifpodtver.bmp", -1, 95) // ищем выход
         LCLICK($_return1+3, $_return2+3)//                     вот эти координаторы использовать в последующем без поиска картинки(кликать на них) 
         WAIT(1)
      ELSE
         $check = 1
         WAITMS(50)
      END_IF
   END_CYC
Спасибо.

4
блин 2 часа сидел  :'(спасибо :D

5
Code: [Select]
MOVE(10,10)

SUB(blic)
   $ch = 0
   WHILE($ch = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemblic.bmp", -1, 95) // блиц
         FOR($A=0, $A<2)
            MOVE($_return1+9, $_return2+9)
            WAITMS(50)
            LOGWRITE ("нашел блиц")
            $ch = 1
         END_CYC
      ELSE
         WAITMS(50)
         LOGWRITE ("no блиц суб")
      END_IF
     
   END_CYC
END_SUB


$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemka.bmp", -1, 95) // клик на подземку
      MOVE($_return1+9, $_return2+9)
      WAITMS(50)
      LOGWRITE ("нашел подземку")
      $check = 1
   ELSE
      WAITMS(50)
      LOGWRITE ("no подземка")
   END_IF
END_CYC
blic()

$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 2 клетку
      MOVE($_return1+225, $_return2+9)
      WAITMS(50)
      LOGWRITE ("нашел 2 клетку")
      $check = 1
   ELSE
      WAITMS(50)
      LOGWRITE ("no 2 клетка")
   END_IF
END_CYC



FOR($a=0, $a < 10)// -------------------------------------> без FOR работает тело хорошо, нужно чтоб 10 раз сделал, а с ним делает сам по себе сколько захочет
   
   $check1 = 0
   WHILE($check1 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemblic.bmp", -1, 95) // проверка горит ли блиц
         WAITMS(50)
         LOGWRITE ("блиц горит иду дальше")
         $check1 = 1
         
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 2 клетку
               MOVE($_return1+225, $_return2+9)
               WAITMS(50)
               LOGWRITE ("нашел 2 клетку")
               $check = 1
            ELSE
               WAITMS(50)
               LOGWRITE ("no 2 клетка")
            END_IF
         END_CYC
         
         blic()
         
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 1 клетку
               MOVE($_return1+89, $_return2+9)
               WAITMS(50)
               LOGWRITE ("нашел 1 клетку")
               $check = 1
            ELSE
               WAITMS(50)
               LOGWRITE ("no 1 клетки")
            END_IF
         END_CYC
         
         blic()
         
         
      ELSE
         LOGWRITE ("блиц не горит")
         
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "blictem.bmp", -1, 95) // проверка на темный
           
            $check = 0
            WHILE($check = 0)
               GETSCREEN
               COLORMODE(6)
               IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemperex.bmp", -1, 95) // клик на переход
                  MOVE($_return1+9, $_return2+9)
                  WAITMS(50)
                  LOGWRITE ("нашел переход")
                  $check = 1
               ELSE
                  WAITMS(50)
                  LOGWRITE ("no переход")
               END_IF
            END_CYC
           
            $check = 0
            WHILE($check = 0)
               GETSCREEN
               COLORMODE(6)
               IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemp.bmp", -1, 95) // клик на перелистать
                  for($a=0, $a<3)
                     MOVE($_return1+9, $_return2+9)
                     WAITMS(50)
                     LOGWRITE ("нашел перелистать")
                     $check = 1
                  END_CYC
                 
               ELSE
                  WAITMS(50)
                  LOGWRITE ("no перелистать")
               END_IF
            END_CYC
           
            $check = 0
            WHILE($check = 0)
               GETSCREEN
               COLORMODE(6)
               IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 2 клетку
                  MOVE($_return1+225, $_return2+9)
                  WAITMS(50)
                  LOGWRITE ("нашел 2ю клетку")
                  $check = 1
               ELSE
                  WAITMS(50)
                  LOGWRITE ("no 2ю клетку")
               END_IF
            END_CYC
           
            blic()
           
            $check = 0
            WHILE($check = 0)
               GETSCREEN
               COLORMODE(6)
               IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 1 клетку
                  MOVE($_return1+89, $_return2+9)
                  WAITMS(50)
                  LOGWRITE ("нашел 1 клетку")
                  $check = 1
               ELSE
                  WAITMS(50)
                  LOGWRITE ("no 1 й клетки")
               END_IF
            END_CYC
            blic()
            $check1 = 1
         ELSE
            WAITMS(50)
            LOGWRITE ("не горит блиц не какой проверяем сначало")
         END_IF
      END_IF
   END_CYC
END_CYC

HALT
Без FOR работает отлично,подскажите как выполнить тело 10 раз, ставлю 2,3 делает 1 раз, ставлю 4 и больше делает без остановки? Помогите советом пожалуйста.



6
Oraven красавчик все робит СПАСИБО!

7
могут не появиться нужно ждать, если с одной картинкой мне понятно как сделать,а вот если их много сразу появляется и на них всех нужно пронажимать.

8
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

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

9
Спасибо огромное!!!! буду переделывать

10
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

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

11
Не судите строго, я не очень разбираюсь.Тут не весь скрипт по этому суб крест нету.
Задумка была такая: заходим в локацию проверяем наличие картинки mifsrej.bmp(Если есть выполняем 10 раз...) если ее нет проверяем наличие другой(srajnegorit.bmp) если горит то выходим, если нет обоих значит не погрузилась повторяем поиск с начало.

12
я и не знал что нельзя два елзе в одном условии спасибо

13
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 раз сделал на суб выход не идет почему то ?
Помогите советом пожалуйста

14
Общие вопросы / Что не так?
« on: September 01, 2017, 12:49:18 PM »
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (966,68, 1612,451, "alx.bmp", -1, 95) // клик на алхимию
      LCLICK($_return1+9, $_return2+9)
      WAIT(3)
     
     
      FOR($a=0,$a<5) // повторяем 5 раз
         LCLICK(953,668)  // 3561743
         WAITMS(500)
         LCLICK(897,654)  // 10463683
         WAITMS(500)
      END_CYC
     
      $check = 1
      WAITMS(500)
      LCLICK(1158,308)  // закрыть
   END_IF
ELSE
   LOGWRITE ("не нашел алхимию")
   WAITMS(500)
END_CYC
HALT
Если картинки нет останавливается а не ждет....Это из-за FOR?
Спасибо

15
Использование / Re: Помогите разобраться
« on: August 22, 2017, 07:08:10 AM »
Спасибо за помощь заработало :)

Pages: [1] 2 3 ... 5