Author Topic: Пауза, пока распознается капча  (Read 6422 times)

0 Members and 1 Guest are viewing this topic.

SAOi

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Пауза, пока распознается капча
« on: June 30, 2014, 06:50:27 AM »
Привет.

Я дико извиняюсь если этот вопрос уже всплывал. Укаратко пробежася по поиску, вроде бы нет подобного вопроса.

Я делаю бота для онлайн игры (браузерная игра, на подобии БК). Там просто клики и паузы между ними.
Далее у меня в редакторе данное условие:
Code: (clickermann) [Select]
getscreen
WAITMS(50)
IF_PICTURE_IN (1263,634, 1353,670, "saoi.bmp")
WAITMS(100)
SOUND("play.wav")
BEEP(800,200)
HINTPOPUP("Íà÷èíàåòñÿ ðàñïîçíîâàíèå êàï÷è", "Title")
$x1 = 1141
$y1 = 1256
$x2 = 613
$y2 = 669
$hwnd = wndFind("AGClient v1.2")
PostMessage($hwnd, 0x555, 1, $x1)
PostMessage($hwnd, 0x555, 2, $y1)
PostMessage($hwnd, 0x555, 3, $x2)
PostMessage($hwnd, 0x555, 4, $y2)
WAITMS(100)
PostMessage($hwnd, 0x555, 5, 0)
END_IF

То-есть я проверяю, не вылезла ли капча, если появилась, то отсылаю её на распознавание.
Как сделать паузу, пока не распознается капча ?

Подскажите пожалуйста, спасибо заранее!!!

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Пауза, пока распознается капча
« Reply #1 on: June 30, 2014, 06:54:36 AM »
Code: (clickermann) [Select]
ELSE
    goto(start)
END_IF

SAOi

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Пауза, пока распознается капча
« Reply #2 on: June 30, 2014, 07:34:39 AM »
Code: (clickermann) [Select]
ELSE
    goto(start)
END_IF
Ммм.. я извиняюсь.  Попробовал, работает, но я пока не вставил распознанную капчу в поле ввода.
Может нужно сделать цикл какой-нибудь. Что бы курсор стоял на программе AGClient, в квадратике "состояние" и проверял цвет квадратика. Если зеленый, то капчу из буфера вставить в поле . И далее всё по кругу, пока опять не появится капча.
Это всё надо сделать, как бы отдельно от основного кода. То-есть в условии. Помогите пожалуйста, я не умею делать циклы.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Пауза, пока распознается капча
« Reply #3 on: June 30, 2014, 07:39:22 AM »
но я пока не вставил распознанную капчу в поле ввода.

что это значит? причем тут капча ?

SAOi

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Пауза, пока распознается капча
« Reply #4 on: June 30, 2014, 07:43:43 AM »
но я пока не вставил распознанную капчу в поле ввода.

что это значит? причем тут капча ?
Ну смотри, кликер клацает по кнопкам в браузере.. Иногда появляется капча, у меня в коде условие, если повилась капча  то отослать капчу на anitigate. Но у меня это всё делается в цикле, то-есть, оно проверило что есть капча, отослала, и пошла дальше клацать по кнопкам, потом опять видит капчу, так как я не вставил цифры в поле ввода капчи. Мне нужно сделать паузу, что бы кликер не клацал по кнопкам, пока капча не будет введена, как только ведены цифры - продолжить работу скрипта.
А сейчас у меня он просто отсылает на антигейт капчу и продолжает работу, в то время как капча еще нераспозналась

Надеюсь внятно объяснил)) Извиняюсь если что)
« Last Edit: June 30, 2014, 07:46:13 AM by SAOi »

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Пауза, пока распознается капча
« Reply #5 on: June 30, 2014, 07:56:46 AM »
понял, тогда мое первое предложение в корне не верно,
ну так проще простого

Code: (clickermann) [Select]
while($indicator=0)
if_picture_in(.....)
//находим зеленый индикатор на агклиенте
//делаем чтото или сразу выходим из цикла и продолжаем работать
$indicator=1
ELSE
//агклиент еще не распознал картинку поэтому ждем
wait(2) // 2 секунды
$indicator=0 // для наглядности
END_IF
END_SUB
$indicator=0 // сброс

SAOi

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Пауза, пока распознается капча
« Reply #6 on: June 30, 2014, 08:25:53 AM »
понял, тогда мое первое предложение в корне не верно,
ну так проще простого

Code: (clickermann) [Select]
while($indicator=0)
if_picture_in(.....)
//находим зеленый индикатор на агклиенте
//делаем чтото или сразу выходим из цикла и продолжаем работать
$indicator=1
ELSE
//агклиент еще не распознал картинку поэтому ждем
wait(2) // 2 секунды
$indicator=0 // для наглядности
END_IF
END_SUB
$indicator=0 // сброс
Еще 1 вопрос, ты написал
Code: (clickermann) [Select]
//делаем чтото или сразу выходим из цикла и продолжаем работатьКак выходить с цикла ?
END_SUB это выход с цикла ?

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Пауза, пока распознается капча
« Reply #7 on: June 30, 2014, 08:30:23 AM »
Code: (clickermann) [Select]
$indicator=1 выход из цикла

//прочитайте инструкцию по циклам чтобы не тыкать пальцем в небо

SAOi

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Пауза, пока распознается капча
« Reply #8 on: June 30, 2014, 10:58:01 AM »
Code: (clickermann) [Select]
$indicator=1 выход из цикла

//прочитайте инструкцию по циклам чтобы не тыкать пальцем в небо
Почитал, попробовал сделать. Но скрипт всё ровно продолжает работать, не дожидаясь распознавания капчи.
Пожалуста, скажите что не так. Уже часов 6 мучаюсь с кликером.
Вот как делаю:
Code: (clickermann) [Select]
getscreen
WAITMS(50)
IF_PICTURE_IN (1263,634, 1353,670, "saoi.bmp") // ЕСЛИ ВЫЛЕЗЛА КАПЧА
WAITMS(100)
SOUND("play.wav")   // ПРОИГРАТЬ ЗВУК
BEEP(800,200)          // ПРОИГРАТЬ ЗВУК
$x1 = 1141  //КООРДИНАТЫ КАПЧИ
$y1 = 613   //КООРДИНАТЫ КАПЧИ
$x2 = 1256 //КООРДИНАТЫ КАПЧИ
$y2 = 669   //КООРДИНАТЫ КАПЧИ
$hwnd = wndFind("AGClient v1.2")   // ИЩЕМ ОКНО AGClient
PostMessage($hwnd, 0x555, 1, $x1)  // ПЕРЕДАЕМ КООРДИНАТЫ В AGClient
PostMessage($hwnd, 0x555, 2, $y1)  // ПЕРЕДАЕМ КООРДИНАТЫ В AGClient
PostMessage($hwnd, 0x555, 3, $x2)  // ПЕРЕДАЕМ КООРДИНАТЫ В AGClient
PostMessage($hwnd, 0x555, 4, $y2)  // ПЕРЕДАЕМ КООРДИНАТЫ В AGClient
WAITMS(100)
PostMessage($hwnd, 0x555, 5, 0)   // РАСПОЗНАТЬ
WAITMS(100)
//--------------------------------
while($indicator=0)    //ЦИКЛ ВРОДЕ))
if_picture_in(0,0, $_xmax,$_ymax, "cube.bmp", -1, 100)  // ИЩЕМ ЗЕЛЕНЫЙ КВАДРАТИК, ЕСЛИ НАШЛИ:
$indicator=1
LCLICK(1289,622)
WAITMS(100)
KEYDOWN (#CTRL) // ----------------
WAITMS (30)  //------------------------------
KEYDOWN (#V) //-----------------------------------
WAITMS (50) //---------------------------------------------
KEYUP (#V)  //----------------------------------------------------  CTRL+V
WAITMS (30) //---------------------------------------------
KEYUP (#CTRL) //-------------------------------------
WAITMS (100)  //----------------------------
KEYDOWN (#ENTER) //--------------
WAITMS (50) // ----------------
KEYUP (#ENTER) // --------
ELSE  // В ПРОТИВНОМ СЛУЧАЕ
wait(2)  // ЖДЕМ 2 СЕКУНДЫ
$indicator=0 
END_IF
END_CYC
$indicator=0 
END_IF
« Last Edit: June 30, 2014, 11:40:55 AM by SAOi »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Пауза, пока распознается капча
« Reply #9 on: June 30, 2014, 11:33:14 AM »
а перед
Code: (clickermann) [Select]
if_picture_in(0,0, $_xmax,$_ymax, "cube.bmp", -1, 100)где getscreen ?

Ты же ждёшь обновления информации.


SAOi

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Re: Пауза, пока распознается капча
« Reply #10 on: June 30, 2014, 11:48:38 AM »
СПАСИБО )))))))))))))))))) забыл про getscreen)))

Aden и Vint Спасибо вам огромное ребята! выручили!! Всё заработало!