Author Topic: проблема с $_return  (Read 3680 times)

0 Members and 2 Guests are viewing this topic.

BuP4uk

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
проблема с $_return
« on: December 12, 2014, 10:05:17 AM »
в общем сталкнулся с такой проблемой

Code: (clickermann) [Select]
//////////////////////////////////////////////////
//âûáèðàåì 6 óðîâåíü
getscreen
if_picture_in(800,100,900,400, "gs6-2.bmp")
logwrite("âûáèðàåì_øåñòîé_óðîâåíü")
LCLICK($_return1,$_return2)
waitms(100)
end_if
//////////////////////////////////////////////////

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

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: проблема с $_return
« Reply #1 on: December 12, 2014, 10:08:40 AM »
Скорее всего курсор мешается

Code: (clickermann) [Select]
//////////////////////////////////////////////////
//выбираем 6 уровень
getscreen
if_picture_in(800,100,900,400, "gs6-2.bmp")
   logwrite("выбираем_шестой_уровень")
   LCLICK($_return1,$_return2)
   waitms(100)
   MOVE($_xmax,$_ymax) // убераем курсор в нижний правый угол
end_if
//////////////////////////////////////////////////

Или картинки с частичной прозрачностью и при наложении на фон она меняется.

BuP4uk

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: проблема с $_return
« Reply #2 on: December 12, 2014, 10:21:44 AM »
та в том то и дело что дело не в курсоре, да и картинка не должна меняться, неужели он просто запоминает ее в первый раз где она и привязывается искать ее только там

м.. нашел выход

Code: (clickermann) [Select]
//////////////////////////////////////////////////
//выбираем 6 уровень
if_picture_in(830,320,870,360, "gs6-2.bmp")
   logwrite("выбираем_шестой_уровень")
   LCLICK($_return1,$_return2)
   waitms(100)
end_if
//////////////////////////////////////////////////
//выбираем 6 уровень
if_picture_in(830,140,870,190, "gs6-3.bmp")
   logwrite("выбираем_шестой_уровень")
   LCLICK($_return1,$_return2)
   waitms(100)
end_if
//////////////////////////////////////////////////

с разными картинками работает, остаются только догадки, действительно при сдвиге картинка изменилась(не могу найти отличий) или все-таки кликер что-то запоминает
« Last Edit: December 12, 2014, 10:30:58 AM by BuP4uk »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: проблема с $_return
« Reply #3 on: December 12, 2014, 11:20:13 AM »
...действительно при сдвиге картинка изменилась (не могу найти отличий)...

Ну скорее всего. Раз на глаз отличий не заметно, используй цветокоррекцию с процентом совпадения

Сначала получаем снимок
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
вырезаем и подготавливаем фрагмент для поиска.

Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6, 800,100,900,400) // цветокоррекция того же уровня в пределах зоны
if_picture_in(800,100,900,400, "gs6-2.bmp",-1,80) // без прозрачности, 80% совпадения
  logwrite("выбираем_шестой_уровень")
  LCLICK($_return1,$_return2)
  waitms(100)
  MOVE($_xmax,$_ymax) // убераем курсор в нижний правый угол
end_if

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: проблема с $_return
« Reply #4 on: December 12, 2014, 05:23:08 PM »
...
с разными картинками работает, остаются только догадки, действительно при сдвиге картинка изменилась(не могу найти отличий) или все-таки кликер что-то запоминает
Никаких догадок, картинки разные. Кликер ничего не запоминает.
На глаз, часто,  ты отличия не определишь. Только в ФШ наложив слоиями или спец прогой.