Автор Тема: IF_PICTURE_IN - Для новичков  (Прочитано 9148 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

wert19s

  • Освоившийся
  • **
  • Сообщений: 20
    • Просмотр профиля
Re: IF_PICTURE_IN - Для новичков
« Ответ #60 : Май 17, 2020, 10:45:29 pm »
Добрый вечер еще 3 вопросa : игры маил.ру там как бы заходишь в верхнюю панел далее охота открывается окошко флеш тоесть на этом окошке кликер должен найти картинку вопрос делать так же как и обычно без всяких дополнений?или для флеша нужно что-то особенное?
2.и еще : как реализовать нахождение картинки и клик к примеру на 2 сантиметра ниже/выше в сторону? возможно ли?
3. черный цвет не находит с colormode 5 может не применять к черному?
« Последнее редактирование: Май 17, 2020, 11:46:02 pm от wert19s »

wert19s

  • Освоившийся
  • **
  • Сообщений: 20
    • Просмотр профиля
Re: IF_PICTURE_IN - Для новичков
« Ответ #61 : Май 19, 2020, 10:06:25 pm »
1:
 wait(1)
LCLICK(624,189)  // zapad
 wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      print("Boy")
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      WAITM(3)
   ELSE
      print("net")
       GOTO(2)
   END_IF
END_CYC


2:
wait(1)
LCLICK(668,203)  // yug
 wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAITM(3)
   ELSE
      print("net")
       GOTO(3)
   END_IF
END_CYC


3:
wait(1)
LCLICK(723,186)  // vostok
wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAITM(3)
   ELSE
      print("net")
        GOTO(4)
   END_IF
END_CYC

4:
wait(1)

LCLICK(670,180)  // sever
wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAIT(3)
   ELSE
      print("net")
         GOTO(1)
   END_IF
END_CYC
ну вот наконец сделал: кликабельнный только серый цвет не смог его найти но есть и яркий зеленый его нашел ну и подправил клик как видите по координаты серого цвета.
Спасибо всем кто помог




Можно ли этот код как-то упростить?

Hito

  • Герой форума
  • *****
  • Сообщений: 1064
    • Просмотр профиля
Re: IF_PICTURE_IN - Для новичков
« Ответ #62 : Май 20, 2020, 06:17:25 am »
1:
 wait(1)
LCLICK(624,189)  // zapad
 wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      print("Boy")
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      WAITM(3)
   ELSE
      print("net")
       GOTO(2)
   END_IF
END_CYC


2:
wait(1)
LCLICK(668,203)  // yug
 wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAITM(3)
   ELSE
      print("net")
       GOTO(3)
   END_IF
END_CYC


3:
wait(1)
LCLICK(723,186)  // vostok
wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAITM(3)
   ELSE
      print("net")
        GOTO(4)
   END_IF
END_CYC

4:
wait(1)

LCLICK(670,180)  // sever
wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAIT(3)
   ELSE
      print("net")
         GOTO(1)
   END_IF
END_CYC
ну вот наконец сделал: кликабельнный только серый цвет не смог его найти но есть и яркий зеленый его нашел ну и подправил клик как видите по координаты серого цвета.
Спасибо всем кто помог




Можно ли этот код как-то упростить?

Ребят, вы что такие зацикленные на циклах...? Тебе зачем все эти циклы в скрипте...? Да к тому же циклы, из которых ты выскакиваешь при ЛЮБОМ условии, либо при помощи $check = 1, либо при помощи GOTO (во втором случае еще и ломая весь цикл)... Да еще и в каждом цикле ища одну и ту же картинку и производя одни и те же действия... Кто вас подсаживает на этот маразм...?
Вот всё,что тебе надо:

Код: Clickermann
  1. IF($click_timer < $_ms)
  2.   IF($click = 0)
  3.      SWITCH($mir)
  4.         CASE(0)
  5.            LCLICK(624,189)  // zapad
  6.            $mir = 1
  7.         CASE(1)
  8.            LCLICK(668,203)  // yug
  9.            $mir = 2
  10.         CASE(2)
  11.            LCLICK(723,186)  // vostok
  12.            $mir = 3
  13.         CASE(3)
  14.            LCLICK(670,180)  // sever
  15.            $mir = 0
  16.      END_SWITCH
  17.      $click = 1
  18.      $click_timer = $_ms+3000
  19.   else
  20.      GETSCREEN
  21.      colormode(5)
  22.      IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
  23.         print("Boy")
  24.         LCLICK($_return1-32, $_return2-18)
  25.         wait(3)
  26.         LCLICK(363,187)  // 2373236
  27.         wait(3)
  28.         LCLICK(698,340)  // 6184542
  29.         wait(4)
  30.         LCLICK(698,340)  // 6184542
  31.         wait(5)
  32.         DBLCLICK(704,100)  // 10127201
  33.         wait(3)
  34.         DBLCLICK(704,100)  // 10127201
  35.  
  36.         $click_timer = $_ms+3000
  37.         $click = 0
  38.      END_IF
  39.   END_IF
  40. END_IF
  41. WAITMS(50)

И вот так еще можно:

Код: Clickermann
  1. $x[0] = 624
  2. $y[0] = 189
  3. $x[1] = 668
  4. $y[1] = 203
  5. $x[2] = 723
  6. $y[2] = 186
  7. $x[3] = 670
  8. $y[3] = 180
  9.  
  10. IF($click_timer < $_ms)
  11.   IF($click = 0)
  12.      LCLICK($x[$i],$y[$i])
  13.      IF($i < 4)
  14.         INC($i,1)
  15.      else
  16.         $i = 0
  17.      END_IF
  18.      $click = 1
  19.      $click_timer = $_ms+3000
  20.   else
  21.      GETSCREEN
  22.      colormode(5)
  23.      IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
  24.         print("Boy")
  25.         LCLICK($_return1-32, $_return2-18)
  26.         wait(3)
  27.         LCLICK(363,187)  // 2373236
  28.         wait(3)
  29.         LCLICK(698,340)  // 6184542
  30.         wait(4)
  31.         LCLICK(698,340)  // 6184542
  32.         wait(5)
  33.         DBLCLICK(704,100)  // 10127201
  34.         wait(3)
  35.         DBLCLICK(704,100)  // 10127201
  36.  
  37.         $click_timer = $_ms+3000
  38.         $click = 0
  39.      END_IF
  40.   END_IF
  41. END_IF
  42. WAITMS(50)

И вообще я бы все твои "wait" позаменял на таймеры. В скрипте в идеале должна быть одна пауза - в конце, для разгрузки процессора. Скрипт не должен висеть на паузах - он должен контролить все и вся на каждом кругу, с одной паузой.
« Последнее редактирование: Май 20, 2020, 08:58:20 pm от Hito »
Я не ду... Потому и не бу...

wert19s

  • Освоившийся
  • **
  • Сообщений: 20
    • Просмотр профиля
Re: IF_PICTURE_IN - Для новичков
« Ответ #63 : Май 20, 2020, 10:49:01 pm »
1:
 wait(1)
LCLICK(624,189)  // zapad
 wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      print("Boy")
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      WAITM(3)
   ELSE
      print("net")
       GOTO(2)
   END_IF
END_CYC


2:
wait(1)
LCLICK(668,203)  // yug
 wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAITM(3)
   ELSE
      print("net")
       GOTO(3)
   END_IF
END_CYC


3:
wait(1)
LCLICK(723,186)  // vostok
wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAITM(3)
   ELSE
      print("net")
        GOTO(4)
   END_IF
END_CYC

4:
wait(1)

LCLICK(670,180)  // sever
wait(3)
$check = 0
WHILE($check = 0)
   GETSCREEN
   colormode(5)
   IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
      $check = 1
      LCLICK($_return1-32, $_return2-18)
      wait(3)
      LCLICK(363,187)  // 2373236
      wait(3)
      LCLICK(698,340)  // 6184542
      wait(4)
      LCLICK(698,340)  // 6184542
      wait(5)
      DBLCLICK(704,100)  // 10127201
      wait(3)
      DBLCLICK(704,100)  // 10127201
      print("Boy")
      WAIT(3)
   ELSE
      print("net")
         GOTO(1)
   END_IF
END_CYC
ну вот наконец сделал: кликабельнный только серый цвет не смог его найти но есть и яркий зеленый его нашел ну и подправил клик как видите по координаты серого цвета.
Спасибо всем кто помог




Можно ли этот код как-то упростить?

Ребят, вы что такие зацикленные на циклах...? Тебе зачем все эти циклы в скрипте...? Да к тому же циклы, из которых ты выскакиваешь при ЛЮБОМ условии, либо при помощи $check = 1, либо при помощи GOTO (во втором случае еще и ломая весь цикл)... Да еще и в каждом цикле ища одну и ту же картинку и производя одни и те же действия... Кто вас подсаживает на этот маразм...?
Вот всё,что тебе надо:

Код: Clickermann
  1. IF($click_timer < $_ms)
  2.   IF($click = 0)
  3.      SWITCH($mir)
  4.         CASE(0)
  5.            LCLICK(624,189)  // zapad
  6.            $mir = 1
  7.         CASE(1)
  8.            LCLICK(668,203)  // yug
  9.            $mir = 2
  10.         CASE(2)
  11.            LCLICK(723,186)  // vostok
  12.            $mir = 3
  13.         CASE(3)
  14.            LCLICK(670,180)  // sever
  15.            $mir = 0
  16.      END_SWITCH
  17.      $click = 1
  18.      $click_timer = $_ms+3000
  19.   else
  20.      GETSCREEN
  21.      colormode(5)
  22.      IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
  23.         print("Boy")
  24.         LCLICK($_return1-32, $_return2-18)
  25.         wait(3)
  26.         LCLICK(363,187)  // 2373236
  27.         wait(3)
  28.         LCLICK(698,340)  // 6184542
  29.         wait(4)
  30.         LCLICK(698,340)  // 6184542
  31.         wait(5)
  32.         DBLCLICK(704,100)  // 10127201
  33.         wait(3)
  34.         DBLCLICK(704,100)  // 10127201
  35.  
  36.         $click_timer = $_ms+3000
  37.         $click = 0
  38.      END_IF
  39.   END_IF
  40. END_IF
  41. WAITMS(50)

И вот так еще можно:

Код: Clickermann
  1. $x[0] = 624
  2. $y[0] = 189
  3. $x[1] = 668
  4. $y[1] = 203
  5. $x[2] = 723
  6. $y[2] = 186
  7. $x[3] = 670
  8. $y[3] = 180
  9.  
  10. IF($click_timer < $_ms)
  11.   IF($click = 0)
  12.      LCLICK($x[$i],$y[$i])
  13.      IF($i < 4)
  14.         INC($i,1)
  15.      else
  16.         $i = 0
  17.      END_IF
  18.      $click = 1
  19.      $click_timer = $_ms+3000
  20.   else
  21.      GETSCREEN
  22.      colormode(5)
  23.      IF_PICTURE_IN (0,0,$_xmax,$_xmax, "1.bmp", -1, 65)
  24.         print("Boy")
  25.         LCLICK($_return1-32, $_return2-18)
  26.         wait(3)
  27.         LCLICK(363,187)  // 2373236
  28.         wait(3)
  29.         LCLICK(698,340)  // 6184542
  30.         wait(4)
  31.         LCLICK(698,340)  // 6184542
  32.         wait(5)
  33.         DBLCLICK(704,100)  // 10127201
  34.         wait(3)
  35.         DBLCLICK(704,100)  // 10127201
  36.  
  37.         $click_timer = $_ms+3000
  38.         $click = 0
  39.      END_IF
  40.   END_IF
  41. END_IF
  42. WAITMS(50)

И вообще я бы все твои "wait" позаменял на таймеры. В скрипте в идеале должна быть одна пауза - в конце, для разгрузки процессора. Скрипт не должен висеть на паузах - он должен контролить все и вся на каждом кругу, с одной паузой.

Для начала спасибо большое, но я сделал то что смог ваших знаний у меня нет, были бы наверное так же отвечал бы :)))а может и нет, сечас проверю как работает выглядит намного красивее и круто:)))даже не знал об этих командах ....
цыклы ломал что переклчится с окна на окно в игре...
а вот только после месяца понял как правильно скрины делать и то черный не находит...
Спасибо еще раз

Hito

  • Герой форума
  • *****
  • Сообщений: 1064
    • Просмотр профиля
Re: IF_PICTURE_IN - Для новичков
« Ответ #64 : Май 21, 2020, 09:25:05 pm »
Только во втором варианте IF($i < 4) замени на IF($i < 3). Ошибся на единицу...
Я не ду... Потому и не бу...