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

Pages: [1] 2
1
Спасибо, в принципе так и думал, все работает как часики, буду дальше делать =)

2
Создай папку "Image" рядом с сохраненным скриптом. В нее помести картинку для поиска.

Спасибо очень помогло, не знал просто таких команд, получилось иначе но робит, глянь может можно что улучшить, хотелось бы последние 2 поиска в разных областях на наличие картинки объединить в один, не подскажешь как?
Code: (clickermann) [Select]
LCLICK(49,371)
WAITMS(50)
WHEELDOWN
WAITMS(50)
MOVE(863,385)
WAITMS(1500)

GETSCREEN
IF_PICTURE_IN(946,309,983,460, "1.bmp")
   WAITMS(100)
   LCLICK($_return1+25, $_return2-15)
   MOVE(863,385)
WAITMS(50)
   WAITMS(500)
$s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_"
      $str = ""
      FOR($b=0,$b<10) // Генератор случайного имени. 10 символов
         $str = STRCONCAT($str, STRCUT($s, RND(1,STRLEN($s)), 1))
      END_CYC
      GETSCREEN // делаем снимок и сохраняем новую картинку
      SCREENSHOTFIX($_return1-35, $_return2-15, $_return1+100, $_return2+10, STRCONCAT("Image\", $str, ".bmp"), 0)
End_if

GETSCREEN
IF_PICTURE_IN(383,122,746,624, "2.bmp")
   WAITMS(50)
   LCLICK($_return1-25, $_return2+15)
   WAITMS(50)
End_if

GETSCREEN
IF_PICTURE_IN(353,125,785,733, "3.bmp")
   WAITMS(50)
   LCLICK($_return1-25, $_return2+15)
   WAITMS(50)
End_if

3
Уважаемые форумчане подскажите как реализовать  следующее:
При появлении на экране картинки определить ее координаты, кликнуть и скопировать появившуюся на месте предыдущей картинки, новую картинку в файл с рандомным именем?
Заранее спасибо!

4
Всем спасибо за участие, написал простенький скрипт для сбора телефонов с рубрики авито, работает исправно, если кому надо объясню ;)
вот часть кода самой сборки =)
Code: (clickermann) [Select]
SUB(_SKIP, $num)
   SWITCH($num)
   CASE(01)
      GOTO(skip01)
   CASE(02)
      GOTO(skip02)
   CASE(03)
      GOTO(skip03)
   END_SWITCH   
END_SUB   

$a=0
   while($a=0)
      GETSCREEN
IF_PICTURE_IN (174,557,377,595, "2.bmp")
      waitms(500)
         $a=1
         lclick(250,572)
      else
      _SKIP(01)
      END_IF
      END_CYC
 
skip01:
 
WHEELDOWN
WAITMS(500)
 
GETSCREEN
IF_PICTURE_IN (464,238,493,337, "1.bmp")
   WAITMS(500)
   LCLICK($_return1-22, $_return2-22)
   WAIT(3)
ELSE
WAITMS(50) 
   _SKIP(01)
END_IF
 
GETSCREEN
IF_PICTURE_IN (44,759,498,796, "3.bmp")
   WAITMS(500)
   LCLICK($_return1-2, $_return2-2)
   WAIT(3)
ELSE
LCLICK(56,63)
WAITMS(50)
   _SKIP(01)
END_IF

   LCLICK(260,431)
   WAITMS(500)
   LDOWN(142,460)
   WAITMS(500)
   LUP(245,458)
   WAITMS(500)
   KEYDOWN(#CTRL)
   WAITMS(500)
   KEYDOWN(#c)
   WAITMS(500)
   KEYUP(#CTRL)
   WAITMS(500)
   KEYUP(#c)
   WAITMS(500)
   LCLICK(784,919)
   WAITMS(500)
   KEYDOWN(#CTRL)
   WAITMS(500)
   KEYDOWN(#v)
   WAITMS(500)
   KEYUP(#CTRL)
   WAITMS(500)
   KEYUP(#v)
   WAITMS(500)
   KEYPRESS(#ENTER)
   WAITMS(500)
   LCLICK(55,59)
   WAITMS(2000)
   WAITMS(500)
   LCLICK(503,234)
   WAITMS(500)
   WHEELDOWN
   WAITMS(500)
   WHEELDOWN
   WAITMS(500)
   WAIT(3)
   


6
Нужно реализовать скрипт с последовательным исполнением множества действий.
Суть в том что при написании столкнулся с тем, что если использовать else дважды в двух блоках If подряд, второе else игнорируется, что приводит к неправильным последствиям.
Пример:
Code: (clickermann) [Select]
skip:01
WHEELDOWN
   WAITMS(500)
   WHEELDOWN
   WAITMS(500)
GETSCREEN
IF_PICTURE_IN (464,238,493,337, "1.bmp")
   WAITMS(500)
   LCLICK($_return1-22, $_return2-22)
   WAIT(3)
Else
   GOTO(01)
   WAIT(1)
END_IF
GETSCREEN
IF_PICTURE_IN (401,156,365,249, "2.bmp")
   WAITMS(500)
   LCLICK($_return1-22, $_return2-22)
   WAIT(3)
Else
   GOTO(01)
   WAIT(1)
END_IF
и таких повторений множество. То есть если первый блок с IF выполнен, должен работать следующий, нет возвращаться к началу, если второй выполнен, тоже идет следующий, если нет, то опять к началу, и так множество раз, все блоки разные с разными условиями...
Сильно не смейтесь я нуб в этом деле, буду признателен помощи =)

7
Общие вопросы / Re: Прошу помочь с условием
« on: February 26, 2017, 12:03:11 PM »
Собственно получился не плохой, email рассыльщик =) Шлет по 8 сообщений в минуту, чуть позже доработаю, чтобы еще менял акк, шаблон и ip при бане мыла =)

8
Общие вопросы / Re: Прошу помочь с условием
« on: February 26, 2017, 11:56:02 AM »
Code: (clickermann) [Select]
getscreen
if_pixel_in(18,109,29,135,14847254) //  возможно не находит пиксел
   HINTPOPUP("Пиксел 14847254 найден")
   if(pxlcount(28,164,144,189, 0) > 0)  //почему тут не используешь - if_pixel_in ?
      lclick(88,176)
      waitms(200)
   end_if
   $a=0
   while($a=0)
      lclick(900,179)//кликать будет пока не найдет строчку-13
      waitms(500)
      getscreen
      if_pixel_in(565,206,779,221,3355443)//поиск пикселя если после килка выпало меню
         HINTPOPUP("Пиксел 3355443 найден")
         $a=1
         lclick(796,214)
      else
         waitms(50)
      end_if
   end_cyc
else
   HINTPOPUP("Пиксел 14847254 НЕ найден")
end_if   
LDOWN(1286,198)
waitms(500)
LUP(994,201)
KEYDOWN(#ctrl)
KEYPRESS(#c)
waitms(500)
KEYUP(#ctrl)
KEYPRESS(#delete)
waitms(50)
KEYPRESS(#delete)
waitms(1000)
DBLCLICK(585,222)
waitms(500)
KEYDOWN(#ctrl)
KEYPRESS(#v)
waitms(500)
KEYUP(#ctrl)
waitms(500)
lclick(316,172)
wait(2)
Ну в строке 4 можно использовать и if_pixel_in помойму в данном случае это не принципиально, или я ошибаюсь? Не работал из-за маленькой задержки, увеличил до секунды, стало работать как часики ;)

9
Общие вопросы / Re: Прошу помочь с условием
« on: February 26, 2017, 11:35:28 AM »
Спасибо всем кто помогал разобраться, последний вариант сработал, в цикл не заходил из-за низкого тайминга после предыдущего действия...а так теперь жмет на кнопку, пока не найдет нужный пиксель из выпадающего меню ;)

10
Общие вопросы / Re: Прошу помочь с условием
« on: February 26, 2017, 11:26:10 AM »
Сначала ошибки:
Code: (clickermann) [Select]
$a=0  //
while($a=0)  //
   getscreen
   if_pixel_in(841,216,945,234,10066329) //ЕСЛИ ПИКСЕЛ НЕ НАЙДЕН ТО ВСЕ ЧТО НИЖЕ НЕ СРАБОТАЕТ ПОКА ОН НЕ ПОЯВИТСЯ.
      $a=1                               //Можно использовать цикл с таймером, если пиксель может и не появиться.
      waitms(500)
      lclick(864,163) //клик по кнопке
      $b=0  //если кнопка не сработала задаем значение
      while($b=0)
         getscreen
         if(pxlcount(744,205,793,220,3355443) < 1) //ЗАЧЕМ ИСКАТЬ ВСЕ ПИКСЕЛИ ЕСЛИ ДОСТАТОЧНО ОДНОГО
            lclick(903+rnd(1,3),175+rnd(1,3))    //ЭТО ТА_ЖЕ КНОПКА? КАКАЯ? ИЗ СТРОКИ № 7?
         end_if
         $b=1 //
         GOTO(skip)   //ВЫПРЫГИВАТЬ ИЗ ЦИКЛА ЗАПРЕЩЕНО-БУДУТ ПРОБЛЕМЫ!!!
      else   // ЭТО ДОЛЖНО БЫТЬ ВНУТРИ УСЛОВИЯ МЕЖДУ if И end_if.
         waitms(500)
      end_cyc
   end_if
end_cyc
skip:
А можно сделать как-нибудь так?
Code: [Select]
$a=0  //задал значение
   while($a=0)
      lclick(900,179)//клик по кнопке
      waitms(500)
      //пока значение =0 цикл работает
      getscreen
      if_pixel_in(565,206,779,221,3355443)//поиск пикселя если после килка выпало меню с нужным пикселем
         $a=1  //если найдено изменил значение выполнение сценария продолжится.
         lclick(796,214)
      else
         waitms(50)
      end_if
   end_cyc
Только почему-то так вообще не заходит в цикл, вот целиком
Code: [Select]
getscreen
if_pixel_in(18,109,29,135,14847254)
   if(pxlcount(28,164,144,189, 0) > 0)
      lclick(88,176)
      waitms(200)
   end_if
   $a=0  //задал значение
   while($a=0)
      lclick(900,179)//клик по кнопке
      waitms(500)
      //пока значение =0 цикл работает
      getscreen
      if_pixel_in(565,206,779,221,3355443)//поиск пикселя если после килка выпало меню
         $a=1  //если найдено изменил значение выполнение сценария продолжится.
         lclick(796,214)
      else
         waitms(50)
      end_if
   end_cyc
end_if
LDOWN(1286,198)
waitms(500)
LUP(994,201)
KEYDOWN(#ctrl)
KEYDOWN(#c)
waitms(500)
KEYUP(#ctrl)
KEYUP(#c)
KEYPRESS(#delete)
waitms(50)
KEYPRESS(#delete)
waitms(1000)
DBLCLICK(585,222)
waitms(500)
KEYDOWN(#ctrl)
KEYDOWN(#v)
waitms(500)
KEYUP(#ctrl)
KEYUP(#v)
waitms(500)
lclick(316,172)
end_if
wait(2)

11
Общие вопросы / Re: Прошу помочь с условием
« on: February 26, 2017, 10:49:22 AM »
Да кнопка та же из строки 7, суть в том, что кнопка не всегда срабатывает на клик кликера, на клик реальной мыши реагирует отлично, при клике на кнопку открывается выпадающее меню, вот мне и надо кликать на кнопку пока не появится нужные пиксели из выподающего меню и кликнуть по кнопке из этого меню, почему не определенный пиксель а поиск по области -из за того что кнопка может периодически изменять положение на несколько пикселей, из за чего большая вероятность, что нужного пикселя там не будет((

12
Общие вопросы / Re: Прошу помочь с условием
« on: February 25, 2017, 11:54:13 PM »
От автора:
Честно говоря ни разу этим вопросом не интересовался по причине ну уж очень маленькой ЦА. Портировать ради 10-20 человек, когда основная аудитория измеряется тысячами - ну не знаю. К тому же в кликере очень много завязок именно на WinAPI, который, мне думается, в линуке отсутствует как класс.
И учитывая что раз никто до сих пор не сделал этого, хотя аналогов под винду пруд пруди а первые подобные проги начали появляться лет 15 назад, то все не так просто.

Выкручивайтесь. Wine там всякий, что там у вас есть на такие случаи.
Если какой порт и будет, то скорее всего под Андроид
Code: [Select]
$a=0  //задал значение
   while($a=0)  //пока значение =0 цикл работает
      getscreen
      if_pixel_in(841,216,945,234,10066329)
         $a=1  //если найдено изменил значение выполнение сценария продолжится.
         waitms(500)
         lclick(864,163) //клик по кнопке
         $b=0  //если кнопка не сработала задаем значение
         while($b=0)
            getscreen
            if(pxlcount(744,205,793,220,3355443) < 1) //если в областе меньше 1 пикселя делаем клик по той же кнопке
               lclick(903+rnd(1,3),175+rnd(1,3))
            end_if
            $b=1 //как только появляется нужный пиксель в областе выходим из цикла
            GOTO(skip)
         else
            waitms(500)
         end_cyc
      end_if
   end_cyc
   skip:
не посмотришь так можно? если да, то где ошибся?

13
Общие вопросы / Re: Прошу помочь с условием
« on: February 25, 2017, 11:25:29 PM »
Ну так то почему нет о_О php скрипт запускается через xdotool почему этот не пойдет? Просто на php геморно писать, а чистого функционала у xdotool мало, да и заморочно всравнении clickermann

14
Общие вопросы / Re: Прошу помочь с условием
« on: February 25, 2017, 10:29:59 PM »
а данный скрипт не получится запускать с терминала linux ?

15
Общие вопросы / Re: Прошу помочь с условием
« on: February 25, 2017, 10:24:04 PM »
Спасибо буду искать варианты ;) Мне очень понравился данный инструмент, как только появятся лишние $ обязательно поблагодарю разработчиков =)

Pages: [1] 2