Author Topic: Нужна помощь Clickermann в приложении Vikings: clash of war  (Read 13273 times)

0 Members and 1 Guest are viewing this topic.

AHrEJI

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Здравствуйте, кликер нужен чтоб кликать по заданиям, первый клик выполнить второй забрать награду, оставшиеся сдвигаются к верху.
После того как все задания закончены, нужен клик на их обновлении, и так очень много раз, в ручную практически не реально.
И нужно не допустить обновления заданий за золото, появляется вместо кнопки "Применить" когда заканчиваются обычные обновления, на втором скрине.
Я почитал форум покурил темы, хелпер и сворганил сие чудо
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN (990,370, 1280,480, 2498287,1380001,1709786)
      LCLICK($_return1, $_return2)
      WAITMS(500)
   ELSE
      IF_PIXEL_IN (990,370, 1280,480, 256766,47863,32222,4914175)
         LCLICK($_return1, $_return2)
         WAITMS(500)
      ELSE
         IF_PIXEL_IN (950,750, 1180,840, 1445802, 2103780)
            LCLICK($_return1, $_return2)
            WAITMS(500)
         ELSE
            $check=1
         END_IF
      END_IF
   END_CYC
Запускаю, все вроде бы работает нормально, но есть несколько НО
1. Скрипт не останавливается (в трее зелененьким горит)
2. Если в конце скрипта ставлю HALT, то как то рандомно получается, может все откликать, а может остановится не до кликав и цвет пикселя может совпадать 

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Ну ты же видешь конструкцию перекосило. Это говорит о том что нехватает окончания, в данном случаи END_IF

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN (990,370, 1280,480, 2498287,1380001,1709786)
      LCLICK($_return1, $_return2)
      WAITMS(500)
   ELSE
      IF_PIXEL_IN (990,370, 1280,480, 256766,47863,32222,4914175)
         LCLICK($_return1, $_return2)
         WAITMS(500)
      ELSE
         IF_PIXEL_IN (950,750, 1180,840, 1445802, 2103780)
            LCLICK($_return1, $_return2)
            WAITMS(500)
         ELSE
            $check=1
         END_IF
      END_IF
   END_IF
END_CYC
HALT

AHrEJI

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Спасибо огромное!! ;D ;D ;D

AHrEJI

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Ещё раз здравствуйте, решил усложнить задачу перейти на IF_PICTURE_IN.
пример на котором тестировал
Code: (clickermann) [Select]
getscreen

IF_PICTURE_IN (0,0, $_xmax,$_ymax, "shot001.bmp")
  print("shot001.bmp found at X=", $_return1, ", Y=", $_return2)
  move($_return1+8, $_return2+8)
else
  print("shot001.bmp not found") 
END_IF


halt

Пробовал COLORMODE разные значения и файл с фоном,без фона, точность поиска результат один не находит еще и подвисает, не могу понять что не так?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
да и размер картинки у тебя огромнейший, отсюда и зависания, долго ищет. пробуй ограничивать область поиска, и размер картинки возьми только небольшой кусочек этой кнопки. к примеру только пару букв из слова "начать". .... ну и процент, как написано выше.

AHrEJI

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
делаю скриншот кликером с COLORMODE(5-6), разве неправильно?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
делаю скриншот кликером с COLORMODE(5-6), разве неправильно?

Раз используешь COLORMODE значит он должен быть в скрипте

Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "shot001.bmp", -1, 80)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

HALT

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
делаю скриншот кликером с COLORMODE(5-6), разве неправильно?
если делаешь скрин с колормодом, то и ищи картинку с тем же колормодом. судя по коду предоставленному выше, его там нет.

тебе совсем другое сказать хотят. читай внимательнее - искомый фрагмент картинки меньше (20х20 к примеру), область поиска поставь в IF_PICTURE_IN, и дальше регулируй процентом совпадений.

IF_PICTURE_IN (x, y, x2, y2, "file", [bgcolor], [currency])
Параметры :
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
file - bmp файл, поиск которого будет осуществляться
bgcolor - необязательный параметр; игнорируемый цвет фона входного изображения
currency - необязательный параметр; точность поиска в процентах (1..99)