Author Topic: Проблема с IF_PICTURE_IN  (Read 6102 times)

0 Members and 1 Guest are viewing this topic.

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Проблема с IF_PICTURE_IN
« on: August 31, 2013, 07:32:48 AM »
Привет!
Думаю что подобные вопросы звучали но сходу найти ответа не смог.
Пример простейший: в зомби ферме скрипт должен копать, пока не выскочит табличка что копать больше нельзя.
Код:
Code: [Select]
WHILE ($x = 0)
GETSCREEN
IF_PICTURE_IN (500,300,1000,600 "pict.bmp")
$x = 5
END_IF
LCLICK(1500,840)
WAIT(RND(3,4))
END_CYC
[/shadow]

Честно говоря, у меня даже простой анализ экрана с поиском картинки не получился. То ли из новой версии кликера то ли хз.
Пример:
Code: [Select]
GETSCREEN
IF_PICTURE_IN (10,10,900,900, "pict.bmp")
HINTPOPUP("Message", "Title")
move($_return1, $_return2)
END_IF
[/shadow]
Где я ошибся или что нужно учесть?
Ось - Винда 7 х64, Кликер - Clickermann v4.7 SE

ShadowName

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Re: Проблема с IF_PICTURE_IN
« Reply #1 on: August 31, 2013, 10:15:08 AM »
там помоему какието ограничени на размер файла. очень маленьким он должен быть. лучше сделай поиск пикселя. найди на табличке какой нибудь пиксел. и укажи оператору if чтоб искал именно в том месте где появляется табличка. и как только пиксел появится программа сработает так как должна после появления таблички

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Re: Проблема с IF_PICTURE_IN
« Reply #2 on: August 31, 2013, 10:58:17 AM »
там помоему какието ограничени на размер файла. очень маленьким он должен быть. лучше сделай поиск пикселя. найди на табличке какой нибудь пиксел. и укажи оператору if чтоб искал именно в том месте где появляется табличка. и как только пиксел появится программа сработает так как должна после появления таблички

Размер файла 7,5 Кб  50х50 рх

Пока пилил код с пикселем
Code: [Select]
WHILE($x = 0)
   GETSCREEN
   IF_PIXEL_IN (758,316, 1250, 670, 3396095, 4152445, 14547199, 2105546)
      $x = 5
   ELSE
      LDOWN(1495,838)
      WAITMS(100)
      LUP(1495,838)
      WAITMS(100)
      WAIT(RND(3,4))
   END_IF
END_CYC
HINTPOPUP("Кончил", "Сообщение")
//Цвета
//LCLICK(935,622)  // 3396095
//LCLICK(801,453)  // 4152445
//LCLICK(996,453)  // 14547199
//LCLICK(1087,407)  // 2105546
//Края сообщения
//LCLICK(758,316)  // 14067307
//LCLICK(1246,316)  // 4813871
//LCLICK(1250,670)  // 552254
//LCLICK(769,672)  // 12751971
[/shadow]

кажется понял почему предыдущий не работает. Отсутствует условие ELSE.

ShadowName

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Re: Проблема с IF_PICTURE_IN
« Reply #3 on: August 31, 2013, 06:08:41 PM »
Code: (clickermann) [Select]
HINTPOPUP("Кончил", "Сообщение")
//Цвета
//LCLICK(935,622)  // 3396095
//LCLICK(801,453)  // 4152445
//LCLICK(996,453)  // 14547199
//LCLICK(1087,407)  // 2105546
//Края сообщения
//LCLICK(758,316)  // 14067307
//LCLICK(1246,316)  // 4813871
//LCLICK(1250,670)  // 552254
//LCLICK(769,672)  // 12751971

Правый слеш перед LCLICK делает его коментарием тоесть программа не выполняет его а игнорирует воспринемая как коментарий

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Re: Проблема с IF_PICTURE_IN
« Reply #4 on: August 31, 2013, 06:49:21 PM »


Правый слеш перед LCLICK делает его коментарием тоесть программа не выполняет его а игнорирует воспринемая как коментарий
Я их специально закомментил, т.к. это были исходные для кода. Можно потом над кодом сколько угодно извращаться, а координаты всегда под рукой.

stivus

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: Проблема с IF_PICTURE_IN
« Reply #5 on: September 05, 2013, 09:42:15 AM »
В конструкциях IF использование ELSE не обязательно,оно должно работать и с ним и без него.Попробуй убедиться в том,что у тебя правильная картинка,а лучше всего переделать.Формат картинки должен быть BMP,картинка обрабатываться графическими редакторами не должна.Захватил экран,вставил в пейнт,вырезал нужное и сохранил в файл как BMP.и всё,должно работать