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

Pages: [1]
1
Все разобрался спасибо за помощь. Обновил дрова на видео и проблема прошла

2
1. кто вам сказал, что картинка сохранённая и успешно находящаяся на одном компе, будет так-же успешно находиться на другом?
если разрешение и масштаб на мониторах разные, то ничего вы не найдёте, картинки обычно под них оптимизируются.
2. зачем для теста брать такую большую и сложную картинку?
 тест принято делать в простейших условиях, постепенно их усложняя до рабочих, по мере получения положительных результатов.
3. не всегда картинки на мониторе остаются неизменными, в некоторых играх они могут меняться неуловимо для пользователя каждые несколько минут и для обхода этого существуют цветокоррекция и процент совпадения.
4. вы в редакторе, лупой проверял; что, где, когда видит программа?
в зависимости от особенностей настройки, на windows 10 всегда может быть чёрный экран в графическом буфере.
Я не использую одну и ту же картинку на обоих компах я в курсе что он их не найдет
Это как пример привел я пробовал и просто черный и белый фон
это не игра а фон рабочего стола картинка статична
лупой проверял отображается один в один как есть

3
Code: (clickermann) [Select]
   GETSCREEN
    IF_PICTURE_IN (0,0, $_xmax,$_ymax, "test.bmp")
       print("Найден в координатах X=", $_return1, ", Y=", $_return2)
       MOVE($_return1, $_return2)
BEEP(900,800)                                 
         
    END_IF
    HALT

Скрипт точно правильный картинка обозвана test.bmp и лежит в папке со скриптом на другом компе проверял все отлично работает на этом нет.

4
Искомое изображение есть формат bmp

5
Общие вопросы / Поиск картинки на windows 10
« on: January 29, 2020, 11:46:30 PM »
Доброго времени суток. Столкнулся с проблемой кликер не может найти любое изображение на windows 10 если кто сталкивался подскажите в чем дело??

6
Спасибо Oraven разобрался уже выставил задержку перед message и все заработало картинку находит по отдельности работают они

7
Имеется код все картинки находит подскажите почему не нажимает на картинку message.bmp а сразу переходит на magazin.bmp ? окна   message и magazin появляются враз
Code: (clickermann) [Select]
GETSCREEN
       IF_PICTURE_IN (0,0, 826,503, "message.bmp")       
          LCLICK($_return1+2, $_return2+2)
          WAITMS(500)
          END_IF                             
           GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "poluchit.bmp")
         LCLICK($_return1+2, $_return2+2)   
            END_IF
            WAITMS(500)
      GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "krest.bmp")
         LCLICK($_return1+2, $_return2+2) 
          WAITMS(500)
       END_IF

    GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "magazin.bmp")
         LCLICK($_return1+2, $_return2+2)   
            END_IF
            WAITMS(500)
    GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "cristal_magazin.bmp")
         LCLICK($_return1+2, $_return2+2)   
            END_IF
            WAITMS(500)
    GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "da_magazin.bmp")
         LCLICK($_return1+2, $_return2+2)   
            END_IF
            WAIT(1)
    GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "ok_magazin.bmp")
         LCLICK($_return1+2, $_return2+2)   
            END_IF
            WAITMS(500)
    GETSCREEN
      IF_PICTURE_IN (0,0, 826,503, "close_magazin.bmp")
         LCLICK($_return1+2, $_return2+2)   
            END_IF
            WAITMS(500)

8
Спасибо попробую

Много гетскринов потому что изображения разные, паузы нужна так как изображение появляется с задержкой что бы не проскочить между ними

Зачем столько раз GETSCREEN в скрипте...? И зачем вообще в нем все эти паузы...? Да еще такие долгие...
"Много гетскринов потому что изображения разные" - А гетскрину не все равно - какое изображение ловить...? Давай так... Расставь приоритеты. Сейчас объясню - что я имею ввиду. Допустим, что у тебя есть картинки - pic1 и pic2. Допустим так же, что при присутствии на экране картинки pic1, тебя не интересует присутствие картинки pic2. Это и есть - приоритет. Значит картинка pic1 у нас будет в приоритете и вот тебе мой вариант, в котором скрипт сначала ищет картинку pic1, а если ее нет, то ищет pic2, и делает все это по одному скрину, не фоткая экран каждый раз. К тому же, не смотря на отсутствие пауз (кроме одной - в конце), в моем варианте никогда не произойдет клик по одной и той же картинке чаще, чем раз в секунду и сам скрипт при этом будет работать намного быстрее.

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pic1.bmp", -1, 100)
   IF($click_pic1 < $_time_t)
      LCLICK($_return1, $_return2)
      $click_pic1 = $_time_t+1
   END_IF
else
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pic2.bmp", -1, 100)
      IF($click_pic2 < $_time_t)
         LCLICK($_return1, $_return2)
         $click_pic2 = $_time_t+1
      END_IF
   END_IF
END_IF
WAITMS(50)

9
Много гетскринов потому что изображения разные, паузы нужна так как изображение появляется с задержкой что бы не проскочить между ними

Зачем столько раз GETSCREEN в скрипте...? И зачем вообще в нем все эти паузы...? Да еще такие долгие...

10
Про набор команд не знал спасибо.
А мне не понятно что это за синтаксис такой
Code: (clickermann) [Select]
ELSE
GOTO ENERGYMESSAGE
WAIT(1)
END_IF

:ENERGYMESSAGE

Не нужно придумывать команды, образцы есть в меню Команды->Прочее
И это не говоря о том что использование гото в данном месте все го лишь пропустит задержку в 1 секунду.
То есть ты сначала написал задержку а потом прыжок гото чтоб её не выполнять?!

цифры поправил просмотрел пока копировал

Дальше, здесь куда то пропали цифры
Code: (clickermann) [Select]
LCLICK($_return1+2, $_return2+)+ чего? Если стер число так и плюс сотри.

Не могу понять как после выполнения 31 строчки в случаи появления окна message.bmp уходить на метку energymessage

Судя по всему ты просишь цикл поиска с завершением после не обнаружения картинки.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, 826,503, "message.bmp")       
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      $check = 1
      WAITMS(50)
   END_IF
END_CYC

иначе на прогонять скрипт с 1 строчки. Объясните как сделать?
А как же поиск "poluchit.bmp" и "krest.bmp"?

после message получить и крет запихаю туда же. Имелось введу что если мессадж не появляется то скрипт начинается с самого верху.
Спасибо что указали на ошибки буду эксперементировать

11
Code: (clickermann) [Select]
WAITMS(500)
   GETSCREEN
IF_PICTURE_IN (0,0, 826,503, "mana_cristal.bmp")
DBLCLICK($_return1+2, $_return2+2)
WAIT(1)
DBLCLICK($_return1+2, $_return2+2)
      WAIT(1)
END_IF
   WAITMS(500)
   
   $count = 3
 
GETSCREEN
FOR($num=1,$num<$count+1) // Ищем картинки от начала до конца
   IF_PICTURE_IN(0,0, 826,503, STRCONCAT("farm\ok",$num,".bmp"), -1, 100)
      LCLICK($_return1+1, $_return2+1)
      WAITMS(100)
      $num = 9999 // прерываем цикл если есть совпадение
   END_IF
END_CYC
   
WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, 826,503, "zabrat_runu.bmp")
LCLICK($_return1+2, $_return2+2)
      WAIT(1)
   END_IF   
      WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, 826,503, "povtorit.bmp")
LCLICK($_return1+2, $_return2+2)

ELSE
GOTO ENERGYMESSAGE
      WAIT(1)
   END_IF
   
:ENERGYMESSAGE
GETSCREEN
IF_PICTURE_IN (0,0, 826,503, "message.bmp")
LCLICK($_return1+2, $_return2+) 
END_IF
WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, 826,503, "poluchit.bmp")
LCLICK($_return1+2, $_return2+)   
END_IF
WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, 826,503, "krest.bmp")
LCLICK($_return1+2, $_return2+) 
END_IF
Доброго времени суток)
Не могу понять как после выполнения 31 строчки в случаи появления окна message.bmp уходить на метку energymessage
 иначе на прогонять скрипт с 1 строчки. Объясните как сделать? Заранее блогодарен

Pages: [1]