Author Topic: Реализиция функции ожидания появления изображения.  (Read 2468 times)

0 Members and 2 Guests are viewing this topic.

milkmann

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Добрый день. Я совсем новичок в этом деле, почитал статьи и написал самый простой и примитивный скрипт кликера. У меня есть несколько окон игры, в этом скрипте я просто кликаю левой кнопкой мыши через определенный промежуток времени и в определенные места, в одном месте клик происходит на определенное изображение:
Code: [Select]
LCLICK(870,758)       //начать игру
WAIT(2)
LCLICK(836,274)   //содать лобби
WAIT(2)
GETSCREEN       //определяем картинку пати на твинке
IF_PICTURE_IN(1116,379,1318,562,"1.bmp")
   LCLICK($_return1, $_return2)
   WAIT(2)
   LCLICK(1797,135)
   WAIT(2)
   LCLICK(872,759)    //технические клики для захвата окна
   WAIT(1)
   DBLCLICK(539,711)
   WAIT(1)
   DBLCLICK(648,17)
   WAIT(11)
   LCLICK(16,40)       //клик кнопки выход
   WAIT(5)
   LCLICK(870,759)      //кнопка отключиться
   WAIT(5)
   LCLICK(864,722)       //покинуть игру
   WAIT(3)
   LCLICK(444,445)        //да, покинуть игру
   WAIT(10)
   LCLICK(1516,530)       //клик на твинке продолжить и принять победу
   WAIT(4)
   DBLCLICK(1177,184)  //клики на тип
   WAIT(1)
   DBLCLICK(1199,185)
   WAIT(1)
   DBLCLICK(1177,185)
   WAIT(1)
   LCLICK(1276,44) //сброс обеих окон на начальное положение
   WAIT(1)
   LCLICK(210,51)
И у меня конечно возникли проблемы, тайминги не оптимальны и всегда могут произойти непредвиденные события, окошко залагало и клик не произошел в нужном месте и все действие нарушено. Пожалуйста подскажите, как заменить действия вида:
Code: [Select]
LCLICK(444,445)        //да, покинуть игру
   WAIT(10)
на сканировать экран каждые 2 секунды и искать необходимое изображение, только в случае его нахождения переходить на следующий шаг и следующие шаги я хочу сделать такие же. Это избавит меня от нужны указывать интервалы между кликами, ведь оно само будет кликать только тогда, когда это нужно.
Видел, что кликер способен кликать и в свернутые окна и можно заниматься своими делами. Не смог разобраться и найти примеры подобного кода, как можно производить эти же действия для свернутых окон?

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Используй цикл ожидания картинки.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(1116,379,1318,562,"1.bmp")
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Работать с графикой в свернутом окне не получится.
« Last Edit: May 16, 2017, 01:46:01 PM by open_78 »

milkmann

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Благодарю, понял теперь, как это работает.

milkmann

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
В свёрнутом окне, производить клики по координатам способен, но все остальные возможности программы использовать не получится.
Включите режим привязки  к интересующему вас окну, запишите нужные действия (система координат изменяется на оконную), сохраните запись проверьте её работоспособность в режиме привязки, если всё правильно работает сверните окно и занимайтесь своими делами.
Помогите разобраться. У меня два окна, если они будут свернуты, как переключаться в каждое и делать определенные клики в определенные окна? Покажите пожалуйста пример кода, как это работает.