Author Topic: Помогите..  (Read 8982 times)

0 Members and 1 Guest are viewing this topic.

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Помогите..
« on: February 10, 2017, 06:05:45 AM »
Всем привет, начал пробовать писать кликера в браузерке.. вот не понять одного..
Как сделать так, что бы постоянно выполнялось сразу несколько действий одновременно, т.е надо что бы происходил клик в тоже время осуществлялся поиск картинок(3-6) и при поиске картинки естественно происходило условие.
Вот что начудил.
Code: (clickermann) [Select]
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(14,25)

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
   LCLICK(858,741)
END_IF

GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "3.bmp")
   LCLICK($_return1, $_return2)
   WAIT (5)
   GOTO (aaa)
END_IF

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1.bmp")
   LCLICK(1563,929)
   WAIT(77)
END_IF

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
   LCLICK(39,418)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
END_IF

aaa:               //
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
HALT
« Last Edit: February 10, 2017, 08:36:09 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите..
« Reply #1 on: February 10, 2017, 08:47:44 AM »
твой скрипт выполняется однократно из за HALT.
В кликере можно создавать потоки.

Code: (clickermann) [Select]
THREAD(t, 1) // код в потоке выполняется параллельно
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(14,25)
END_THREAD

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
   LCLICK(858,741)
   WAITMS(100)
END_IF

GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "3.bmp")
   LCLICK($_return1, $_return2)
   WAIT (5)
   GOTO (aaa)
END_IF

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1.bmp")
   LCLICK(1563,929)
   WAIT(77)
END_IF

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
   LCLICK(39,418)
   WAITMS(100)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
   WAITMS(100)
END_IF

aaa:               //
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
HALT

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Помогите..
« Reply #2 on: February 10, 2017, 03:35:03 PM »
Это мне перед каждым действием надо выставить THEARD ?
что значит t, 1

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Помогите..
« Reply #3 on: February 10, 2017, 04:17:30 PM »
THREAD - Начало потока
t - имя потока (можно заменить на любое)
1 - начальное состояние, где 1 - означает рабочее, 0 - приостановленное
END_THREAD - Конец потока. Обязательно ПОСЛЕ действия.
« Last Edit: February 10, 2017, 04:27:27 PM by open_78 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите..
« Reply #4 on: February 10, 2017, 04:27:09 PM »
Это мне перед каждым действием надо выставить THEARD ?
что значит t, 1

Справка для кого написана?
Поток t выполняет код твоих рандомных кликов раз в 14-25 секунд.
При этом в основном потоке прокручиваются твои IF_PICTURE_IN которые эти 14-25 секунд никак не тормозят.

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Помогите..
« Reply #5 on: February 10, 2017, 04:48:19 PM »
thread(t, 1)
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD

thread(z, 1)
   GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,4.bmp")
   LCLICK(858,741)
   END_IF
   

GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
   LCLICK($_return1, $_return2)
   WAIT (5)
      GOTO (aaa)
   END_IF
   
   
   GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,3.bmp")
   LCLICK(1563,929)
      WAIT(77)
   END_IF
   
    GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
   LCLICK(39,418)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
   END_IF
      END_THREAD
   
   
aaa:               //
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)


Походу что то не так понял.. Проблема идет в том, что процесс все ровно идет по очередности, и еще косяк у меня в том, что при включении, IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp") щелкает по картинке, даже если ее нету.

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Помогите..
« Reply #6 on: February 10, 2017, 04:50:32 PM »
А нет вру, aaa: работает получается постоянно.. как сделать что бы оно работало только при goto(aaa)

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Помогите..
« Reply #7 on: February 10, 2017, 04:56:04 PM »
Попробуй так:
Code: (clickermann) [Select]
thread(t, 1)
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(10,17)
END_THREAD

thread(z, 1)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
      LCLICK(858,741)
   END_IF
   
   
   GETSCREEN
   IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
      LCLICK($_return1, $_return2)
      WAIT (5)
      LCLICK(35,419)
      WAIT(1)
      LCLICK(238,419)
      WAIT(1)
      LCLICK(205, 501)
      WAIT(1)
      LCLICK(522,218)
   END_IF
   
   
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
      LCLICK(1563,929)
      WAIT(77)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
      LCLICK(39,418)
      LCLICK(35,419)
      WAIT(1)
      LCLICK(238,419)
      WAIT(1)
      LCLICK(205, 501)
   END_IF
END_THREAD

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Помогите..
« Reply #8 on: February 10, 2017, 05:04:05 PM »
Основной поток ему добавь, а то так и оставит.


open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Помогите..
« Reply #9 on: February 10, 2017, 05:07:18 PM »
Это весь код?
Code: (clickermann) [Select]
thread(t, 1)   //Это выполняется раз в 10-17 секунд
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(10,17)
END_THREAD

// А это крутится постоянно
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
   LCLICK(858,741)
END_IF


GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
   LCLICK($_return1, $_return2)
   WAIT (5)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
   WAIT(1)
   LCLICK(522,218)
END_IF


GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
   LCLICK(1563,929)
   WAIT(77)
END_IF

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
   LCLICK(39,418)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
END_IF
« Last Edit: February 10, 2017, 05:11:11 PM by open_78 »

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Помогите..
« Reply #10 on: February 10, 2017, 05:20:33 PM »
Попробуй так:
Code: (clickermann) [Select]
thread(t, 1)
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(10,17)
END_THREAD

thread(z, 1)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
      LCLICK(858,741)
   END_IF
   
   
   GETSCREEN
   IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
      LCLICK($_return1, $_return2)
      WAIT (5)
      LCLICK(35,419)
      WAIT(1)
      LCLICK(238,419)
      WAIT(1)
      LCLICK(205, 501)
      WAIT(1)
      LCLICK(522,218)
   END_IF
   
   
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
      LCLICK(1563,929)
      WAIT(77)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
      LCLICK(39,418)
      LCLICK(35,419)
      WAIT(1)
      LCLICK(238,419)
      WAIT(1)
      LCLICK(205, 501)
   END_IF
END_THREAD

Да, это помогло, спасибо.. Теперь догнал.

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Помогите..
« Reply #11 on: February 10, 2017, 05:21:00 PM »
Это весь код?
Code: (clickermann) [Select]
thread(t, 1)   //Это выполняется раз в 10-17 секунд
   LCLICK(RND(1480,1653), RND(877,981))
   WAIT(RND(10,17)
END_THREAD

// А это крутится постоянно
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
   LCLICK(858,741)
END_IF


GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
   LCLICK($_return1, $_return2)
   WAIT (5)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
   WAIT(1)
   LCLICK(522,218)
END_IF


GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
   LCLICK(1563,929)
   WAIT(77)
END_IF

GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
   LCLICK(39,418)
   LCLICK(35,419)
   WAIT(1)
   LCLICK(238,419)
   WAIT(1)
   LCLICK(205, 501)
END_IF

Пока что да

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Помогите..
« Reply #12 on: February 10, 2017, 05:22:45 PM »
Проверяй. Работает?
Зачем второй поток - thread(z, 1)
Если в конце нет команды HALT код будет повторяться циклично- это и есть поток.
« Last Edit: February 10, 2017, 05:25:54 PM by open_78 »

STD

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Помогите..
« Reply #13 on: February 10, 2017, 05:25:16 PM »
Да все внорме, кроме одного..
      thread(x, 1)
   GETSCREEN   // ждем 77c
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
   LCLICK(1563,929)
      WAIT(77)
   END_IF
               END_THREAD

Он не остояв 77с начинает рандомно кликать опять, надо в этом скрипте остановить тот получается ?

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Помогите..
« Reply #14 on: February 10, 2017, 05:27:28 PM »
Если найдена 3.bmp остановить поток? Или поставить на паузу?
Тогда читай справку :)
« Last Edit: February 10, 2017, 05:29:04 PM by open_78 »