1
Прочее / Re: AGClient - распознавание капчи для кликера
« on: September 27, 2015, 03:44:47 PM »
Каким образом работает AGClient? Какие web-запросы он отправляет? Может это возможно реализовать в самом скрипте, в Clickermann?
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
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.
Пример загрузки в формате multipart:
<form method="post" action="http://rucaptcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
Ключ от учетной записи:
<input type="text" name="key" value="YOUR_APIKEY">
Файл капчи:
<input type="file" name="file">
<input type="submit" value="загрузить и получить ID">
</form>
Я не понимаю как использовать этот код.GETSCREEN
$pxlxor=PXLXOR(676,675,704,676)
PRINT($pxlxor)
FOR($a=1,$a<TFCOUNT("tyk_tyk.txt")+1)
IF(TFREAD("tyk_tyk.txt",$a)=STRCONCAT("/",$pxlxor)) //срабатывает даже если не верно
PRINT("str ",TFREAD("tyk_tyk.txt",$a))
PRINT("var ",STRCONCAT("/",$pxlxor))
INC($a,1)
WHILE(TFREAD("tyk_tyk.txt",$a)!"/end") //цикл не выполняется
UNDEFINE($pxlarr)
STRSEPARATE (TFREAD("tyk_tyk.txt",$a), ",",$pxlarr)
PRINT($pxlarr[0])
PRINT($pxlarr[1])
PRINT($pxlarr[2])
IF(PXL($pxlarr[0]+8,$pxlarr[1]+8)=$pxlarr[2])
$HWND=$_hwnd
HSET($_hwnd,0)
KEYDOWN(#SHIFT)
HSET($HWND,1)
LCLICK($pxlarr[0],$pxlarr[1])
HSET($_hwnd,0)
KEYUP(#SHIFT)
HSET($HWND,1)
END_IF
INC($a,1)
END_CYC
END_IF
END_CYC
HALT
Содержимое файла:/852606
610,423,1343872
912,403,633754
/end
Лог:19:07:24 852606
19:07:24 str /852606
19:07:24 var /852606
19:07:24 str 912,403,633754
19:07:24 var /852606
$XT = INT($C/14) - 6Это текущие координаты...Кхм, этот кусочек работает правильно=\
$YT = $C - (INT($C/14) * 14) - 4
#name "ALGORITM A"
// В данном алгоритме не предусмотрено движение по диагонали.
//==============================================================================
//1) Занести клетки в массив.
SUB(name1)
ARRPUSH($ARR,0)
FOR($A=1, $A<18) //Кол-во рядов.
FOR($B=1, $B<15) //Кол-во строк.
IF(STRCUT(TFREAD("system\Map\Map2.txt",$B),$A,1)>0)//Клетка.
INC($C,1)
$D=TFREAD("system\Map\Map1.txt",$C) //Идентификатор орентира.
ELSE
$D=0
END_IF
ARRPUSH($ARR,$D)
END_CYC
END_CYC
END_SUB
//==============================================================================
//3) Подсчет значения H для соседних клеток.
SUB(name3)
$C=($XT-1)*$YT
IF($ARR[$C]!0)
$Dir1=DIST($XT-1,$YT,$XK,$YK)
ELSE
$Dir1="Wall"
END_IF
$C=$XT*($YT+1)
IF($ARR[$C]!0)
$Dir2=DIST($XT,$YT-1,$XK,$YK)
ELSE
$Dir2="Wall"
END_IF
$C=($XT+1)*$YT
IF($ARR[$C]!0)
$Dir3=DIST($XT+1,$YT,$XK,$YK)
ELSE
$Dir3="Wall"
END_IF
$C=$XT*($YT-1)
IF($ARR[$C]!0)
$Dir4=DIST($XT,$YT+1,$XK,$YK)
ELSE
$Dir4="Wall"
END_IF
END_SUB
//==============================================================================
//4) Выбрать короткий путь.
SUB(name4)
UNDEFINE($analiz)
ARRPUSH ($analiz,$Dir1)
ARRPUSH ($analiz,$Dir2)
ARRPUSH ($analiz,$Dir3)
ARRPUSH ($analiz,$Dir4)
PRINT("analiz0=",$analiz[0])
PRINT("analiz1=",$analiz[1])
PRINT("analiz2=",$analiz[2])
PRINT("analiz3=",$analiz[3])
$min = 99999999999
FOR($a=0,$a < ARRSIZE($analiz))
IF(($analiz[$a]!"Wall")=1)
IF($analiz[$a] < $min)
$min = $analiz[$a]
UNDEFINE($names)
ARRPUSH($names, $a)
ELSE
IF($analiz[$a] = $min)
ARRPUSH($names, $a)
END_IF
END_IF
END_IF
END_CYC
$name = $names[RND(0,ARRSIZE($names)-1)]
SWITCH($name)
case(0)
LCLICK(170,300)
case(1)
LCLICK(511,25)
case(2)
LCLICK(850,300)
case(3)
LCLICK(511,485)
END_SWITCH
END_SUB
//==============================================================================
//2) Определить текущую клетку.
SUB(name2)
$A=PXLCRC(497,522,523,523)
IF($B!$A)
$B=$A
FOR($C=1,$C!ARRSIZE($ARR))
IF(($A=$ARR[$C])=1)
$XT=INT($C/14)-6
$YT=$C-(INT($C/14)*14)-4
PRINT("$XT=",$XT)
PRINT("$YT=",$YT)
END_IF
END_CYC
IF(($XT=$XK)&($YT=$YK))
HALT //<<-- HALT Надо будет заменить
GOTO(name0) //<<-- Это все же будет поток...
END_IF
name3()
name4()
END_IF
WAIT(8)
END_SUB
//==============================================================================
//Программа.
name0:
$XK=0
$YK=3
name1()
WHILE(1)
GETSCREEN
name2()
END_CYC
Ты хоть двигай окно по экрану, хоть сворачивай/разворачивай, все равно кликанья будут работать.Quoteбудет ли после этого оно работать в свернутом режиме?Кликанья-да.
Анализ экрана-нет.
Как прописать другие координатыВ редакторе кликера.
(высчитать их)В редакторе кликера, слева отображаются координаты. Это текущие координаты мышки.
будет ли после этого оно работать в свернутом режиме?Кликанья-да.
(нажатия мышки конкретно интересуют)Изменять координаты нужно в командах:
В случае с играми (особенно НЕ браузерными) может мешаться защита (GameGuard, Frost, ...).
О противодействии этому часто пишут на читерских форумах (например zhyk.ru,
на allcheats не ходите, тамошние петушки пишут все под хайдом,
который открыть новичку очень проблематично, учитывая аутизм местных модераторов).
В качестве первого средства: читайте про режим PS/2.
В случае если вы пытаетесь использовать привязку к окну (оконный режим),
могут возникнуть различные специфические проблемы,
зависимые сугубо от реализации программы ("в Firefox работает, в Google Chrome нет").
Откажитесь от него в пользу обычного режима, если это приемлемо.
+Если ты используешь режим привязки, то отчет координат будет зависеть от привязанного окна.