Author Topic: поиск сравнение изображения и смещения клика мыши.  (Read 4905 times)

0 Members and 1 Guest are viewing this topic.

Ната

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Code: (clickermann) [Select]
GETSCREEN (36,800, 376, 896) // делает снимок экрана в указанных координатах и помещает его в буфер анализа программы это у меня работает)
wait(2) // приостанавливает выполнение сценария на 2 сек
IF_PICTURE_IN (36,800, 376, 896, "Image_0001.bmp", -1, 20) // сравнения снимков -1 уже не помню что это и 20% пока маленький процент но работает
   RCLICK($_return1-80,$_return2) // клик левее картинки  пкм - здесь получается
  MOVER (+20, -160) // перемещает курсор мышки относительно текущего положения
LCLICK (-1, -1) // клик в новой точке после перемещения - срабатывает без замечания только 1 раз и далее в этой строке при повторе более чем 1 раз смещение мыши и клики сдвигаются очень далеко от начального.
wait(2) // приостанавливает выполнение сценария на 2 сек
END_IF // конец условия
wait(2) // приостанавливает выполнение сценария на 2 сек
halt   // остановка скрипта, обеспечивает однократное выполнение

понимаю что где то что то не хватает но не получается найти ошибку или причину.

далее не совсем по теме: привязка к окну показывает черный экран в следствии чего от нее можно отказаться (как я это смогла понять после прочитанных тем форума) возможно получится не привязывать окно а отправлять ему сообщения. Но с кожалению оправление сообщения окну для сохранение скрина и сравнение картинок не смогла найти.
 спасибо за уделенное время)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Глупо делать снимок, а потом ждать 2 секунды
Нужно использовать цветокоррекцию, тогда процент можно поставить 70 и выше. Чем ближе процент к 100 тем быстрее поиск.
-1 - здесь можно указать цвет, считаемый за прозрачность в картинке поиска. -1 означает отключено.
Для GETSCREEN указывать зону снимка имеет смысл только в циклах с минимальной задержкой в несколько миллисекунд или вообще без неё, это разгружает процессор и ускоряет выполнение. Но с задержками в 2 секунды это лишнее.

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (36,800, 376, 896, "Image_0001.bmp", -1, 20)
   RCLICK($_return1-80,$_return2)
   WAITMS(50)
   MOVE($_return1-60,$_return2-160)
   WAITMS(50)
   LCLICK($_return1-60,$_return2-160)
   wait(2)
END_IF
wait(2)
halt

Ната

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Code: (clickermann) [Select]
GETSCREEN (36,800, 376, 896) // делает снимок экрана в указанных координатах и помещает его в буфер анализа программы
IF_PICTURE_IN (36,800, 376, 896, "Image_0001.bmp", -1, 20) // цвет фона каждый раз разный и 20% пока не изменила оставила на потом )
   RCLICK($_return1-80,$_return2) // клик левее картинки  пкм
   WAITMS(50) // задержка
   MOVE($_return1-30,$_return2-255) // смещение мыши
WAITMS(50) // задержка
LCLICK($_return1-30,$_return2-255) // клик мыши после смещения
wait(2) // задержка
END_IF // конец условия
wait(2)

спасибо за ответ вот что в конце концов получилось, сбоев нет)

нашла отправление сообщений в неактивное окно использование кликов мыши или нажатия клавиатуры.
не могу найти как отправить в неактивное окно чтобы выполнялись действия с изображениями в буфере. и возможно ли это вообще?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Невозможно. Отправка сообщений это API Windows. А буфер изображения, его анализ и прочее это функции программы, в данном случае кликермэна.

Может стоит побороться с чёрным экраном? Что за приложение?


Ната

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
речь о  Perfect World.
да знаю есть достаточно хорошие боты и часть из них бесплатна но захотелось почему то вернуться к Clickermann, года 3-4 назад мониторинг аука на скриптах Clickermann работал без проблем на 32 Висте) как поведет себя  Kernel Detective на моей 7-64 еще не знаю. если придумаю по проще варианты конечно от Clickermann не буду отказываться)

Ната

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

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Экран заканчивается в нижнем правом его углу, окна тут не причем. При привязке к окну, где бы оно не находилось, кликер сможет видеть это окно. В свернутом окне ничего не отображается. Если в окне графика выводится через директ икс или там опен глоу то кликер ничего не увидит.

Используй виртуальную машину.
« Last Edit: May 29, 2015, 06:41:40 AM by Oraven »

Ната

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
виртуальная машина есть, рабочие боты тоже есть, просто уже проснулся спортивный интерес))

использование Desktops 2.0 - freeSOFT - виртуальные окна - дает пользователям для использования 4 окна.

вот такие интересности проявились при запуске кликермана в дополнительных окнах:

запускаем игрушку + запуск бота (левого стороннего не кликерманского) и уходим из окна, возвращаемся через некоторое время, боты бегают игрушка играется, все довольны.

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

становится любопытно начинаю играться с блокнотиками. кликерман их находит по заголовкам. разворачивает - сворачивает. но....... не привязывается ни каким чудом

вопрос. почему так? почему не привязывается? или это так только у меня? 

предложение - если есть у кого установлен виртуальные окна проверьте работу кликермана и привязку к простым (в обычной жизни легко привязывающимся)))) окнам. возьмите на заметку что кликерман возможно нужно будет перезапустить после каждого изменения кода. во всяком случае мне приходилось это делать, чтобы исключить любой сбой в "применить" "сохранить" "сохранить как" которые наблюдались в использование кликермана в дополнительных окнах.

не обижусь если никто не ответит и не проверит) понимаю что это чудачество)) спасибо)
« Last Edit: May 30, 2015, 02:48:03 AM by Ната »

Ната

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
всем спасибо) все работает)) и оконный режим и вообще все )) и даже черный квадрат игры тоже теперь работает)) еще не очень понимаю почему PW заработало) но сейчас и с этим разберусь)

СПАСИБО - именно так. заглавными буквами. за ваш труд.

PS. виртуальную машину не включала