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

Pages: [1]
1
могу выложить весь скрипт, может вам так проще будет, что можно придумать и как выйти из ситуации

2
Попробовал такой вариант

while(1)
   $NO=0
   $rub=0
   $flang=0
   $click_ok=0
   getscreen
FOR($i=1,$i<=9)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Слева_", $i, ".bmp"), -1, 100) // Прямо_1.bmp - Прямо_9.bmp
      $rub=1
     $flag=2
      $i=9999
   END_IF
END_CYC
IF($i!9999) // если не найдено
   $No=1
END_IF
   If_picture_in(534,131,1743,902,"ничего.bmp",-1,100)
      Waitms(100)
      print("нажал на ничего")
      $No=1
   else
      If_picture_in(534,131,1743,902,"радиус.bmp",-1,100)
         Waitms(100)
         print("нажал на радиус")
         $NO=1
      else
..........................

Не не срабатывает, он просто прокрутил и влез в другой цикл, который закрывает картинку, если нет их этого списка.

Добавил добавить в старое
If_picture_in
............
Else
............
End_if
с указанием на добавление новой картинки, сработал.

3
Скажите, а можно подпапки создать и указать, что бы картинку он брал из подпапки? а не из корня программы, откуда запускается программа?

4
Картинки и так взяты по минимуму 20х20 в bmp, а иначе по другому не находит, что нужно.




С 1 по 19 это нумерация картинок, которые мы можем встретить при поиске.

К примеру у нас есть то что нашёл перед собой 1 из 9 разных картинок, он проверяет эти картинки от 1 до 9, если находит 1 из них, то начинает выполнять действия и рубить к примеру дерево, применяет цикл $rub=1, если не находит 1 из 9 , то начинает поиск заново, применяет цикл $No=1.

И получается например у нас есть, то что находит слева 1 из от 10 по 19 картинку, поворачивается налево и применяет цикл $rub=1, если не находит 10 из 19 , то начинает поиск заново, применяет цикл $No=1.

Можно ли избежать большое написания скрипта, вместо
If_picture_in
............
Else
............
End_if

Как то сократить большое количество написания строк?

5
Добрый день.
Подскажите как можно упростить скрипт, при запуске он зависает.
Раньше работал быстрее, теперь если добавлять поиск картинок например как (прямо, слева, справа и радиус) он начинает зависать. Этот момент будет еще добавляться по поиску картинок, т.к. они меняют и могут быть около 9 типов и того их 36.
$NO=0 - это цикл действия нажал и ждёт, что появится
$rub=0 - это цикл действия когда он нашёл и выполняет действия с ожиданием в 5 мин
$flang=0 - это нажатия клавиш

Можно ли как то упростить например поиск по картинке прямо  с 0 по 9 и слева с 10 по 19 и при этом выполнять выполнения циклов ?

Code: (clickermann) [Select]
while(1)
   $NO=0
   $rub=0
   $flang=0
   $click_ok=0
   getscreen
   If_picture_in(534,131,1743,902,"ничего.bmp",-1,100)
      Waitms(100)
      print("нажал на ничего")
      $No=1
   else
      If_picture_in(534,131,1743,902,"радиус.bmp",-1,100)
         Waitms(100)
         print("нажал на радиус")
         $NO=1
      else
         If_picture_in(534,131,1743,902,"справа.bmp",-1,100)
            print("нажал справа")
            Wait(1)
            //справа+ указать кооры
            $rub=1
            $flang=1
         else
            If_picture_in(534,131,1743,902,"справа1.bmp",-1,100)
               print("нажал справа")
               Wait(1)
               //справа+ указать кооры
               $rub=1
               $flang=1
            else
               If_picture_in(534,131,1743,902,"слева.bmp",-1,100)
                  print("нажал слева")
                  Wait(1)
                  //слева+ указать кооры
                  $rub=1
                  $flang=2
               else
                  If_picture_in(534,131,1743,902,"прямо.bmp",-1,100)
                     LCLICK($_return1, $_return2)
                     print("нашел перед собой")
                     Wait(1)
                     //прямо+ указать кооры
                     $rub=1
                     $flang=3
                  else
                     If_picture_in(534,131,1743,902,"прямо1.bmp",-1,100)
                        LCLICK($_return1, $_return2)
                        print("нашел перед собой1")
                        Wait(1)
                        //прямо+ указать кооры
                        $rub=1
                        $flang=3
                     else
                        If_picture_in(534,131,1743,902,"прямо3.bmp",-1,100)
                           LCLICK($_return1, $_return2)
                           print("нашел перед собой3")
                           Wait(1)
                           //прямо+ указать кооры
                           $rub=1
                           $flang=3
                        else
                           $no=1
                           $click_ok=1
                        end_if
                     end_if
                  end_if
               end_if
            end_if
         end_if
      end_if
   end_if
........
   if($no=1)
      getscreen
      If_picture_in(918,597,965,647,"поиск.bmp",-1,100)
         LCLICK($_return1,$_return2)
         print("нажал поиск")
         wait(33)//33 сек после клика на поиск
      end_if
   end_if
   waitms(100)
end_cyc

Pages: [1]