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 - Кликермен

Pages: 1 2 3 [4] 5 6 ... 8
46
Если у вас есть капча, без слипшихся символов, то предлагаю вот такой полезный скрипт.  Можно использовать не только для капчи, но мне нужно было только для этого. За основу  взяты скрипты  Винта и Dramstera.  Конкретно по настройке -  меняете границы капчи(13-16 строки), указываем число символов(строка 267). папка скрин не должна быть пуста! Хотя бы одна картинка должна быть, иначе  ничего сохраняться не будет.
Алгоритм:
1. ищем границы всех символов
2.  проверяем есть ли у нас совпадение 100% с нарезанными шаблонами. если нашли  ищем следующий символ. Иначе -  потихоньку опускаем  % до 95. если в 95-99% находим,  то скрипт  уточнит - верно  угадал или нет, а далее при  успехе -сохраняем. если не находим в шаблонах, то сохряаняем, вводя в строку ввода  символ. в папке все сораняется в таком ввиде - например, сохраняем 9 - 9_0000. бмп.
 Этот способ работает, если символы отклоняются от оси на какой-то %. если есть рандомное   искажение, то   шаблонизация не подходит - шаблонов не напасешься).  во вложении  скрипт на 1500 шаблонов, которые срабатывают через раз.. ну зато у меня есть база для обучения кликера

Code: (clickermann) [Select]
$pref = "screens\"
$cmd = STRCONCAT($pref,"cmd.bat")
$dir = STRCONCAT($pref,"dir.txt")

TFWRITE($cmd, "chcp 1251>nul")
TFWRITE($cmd, STRCONCAT("cd ", $pref))
TFWRITE($cmd, "dir *.bmp /b /on >dir.txt")
TFWRITE($cmd, "del /F /S cmd.bat")
EXECUTE($cmd)
WAIT(2)


$x1_fr= 615
$y1_fr= 327
$x2_fr=699
$y2_fr=350


UNDEFINE($num_line_start)
UNDEFINE($num_line_end)
UNDEFINE($num_real)
UNDEFINE($num_y1)

GETSCREEN($x1_fr,$y1_fr,$x2_fr,$y2_fr)
COLORMODE(8,$x1_fr,$y1_fr,$x2_fr,$y2_fr)


scanpxl($cap_arr,$x1_fr,$y1_fr,$x2_fr,$y2_fr, 0)
IF(ARRSIZE ($cap_arr) = 0)
   print("капчи в этом поле нету")
   halt
END_IF
$y1_cap=$cap_arr[1]
$y2_cap=ARRPOP($cap_arr)


FOR($x=$x1_fr,$x<$x2_fr)
   FOR($y=$y1_cap,$y<$y2_cap+1)
     
      IF(pxl($x,$y) = 0)
         $x1_cap= $x
         $y=$y2_cap+1
         $x=$x2_fr
      END_IF
   END_CYC
END_CYC

FOR($x=$x2_fr,$x>$x1_fr,-1)
   FOR($y=$y1_cap,$y<$y2_cap+1)
      IF(pxl($x,$y) = 0)
         $x2_cap= $x
         $y=$y2_cap+1
         $x=$x1_fr
      END_IF
   END_CYC
END_CYC

//=======================================

ARRPUSH ($num_line_start, $x1_cap)
FOR($x=$x1_cap,$x<$x2_cap)
   FOR($y=$y1_cap,$y<$y2_cap+1)
      IF(pxl($x,$y)  = 0)
         IF((pxl($x+1,$y)  = 0)|(pxl($x+1,$y-1) = 0)|(pxl($x+1,$y+1) = 0))
            $y=999999
         END_IF
      END_IF
     
   END_CYC
   IF($y=$y2_cap+1)
      ARRPUSH ($num_line_end, $x)
      FOR($x_check=$x+1,$x_check<$x2_cap)
         FOR($y_check=$y1_cap,$y_check<$y2_cap+1)
            IF(pxl($x_check,$y_check)  = 0)
               $x= $x_check
               ARRPUSH ($num_line_start, $x)
               $y_check=$y2_cap+1
               $x_check=$x2_cap
            END_IF
         END_CYC
      END_CYC
   END_IF
END_CYC
ARRPUSH ($num_line_end, $x2_cap)
//=============================================
$y2_cap = $mm+$y2_cap
FOR($num=0, $num<arrsize($num_line_start))
   FOR ($y=$y2_cap, $y>$y1_cap, -1)
      FOR($x=$num_line_start[$num],$x<$num_line_end[$num]+1)
         IF(pxl($x,$y)  = 0)
            ARRPUSH($num_y2,$y)
            $y=0
            $x=$num_line_end[$num]+1
         END_IF
      END_CYC
   END_CYC
END_CYC

FOR($num=0,$num<arrsize($num_line_start))
   FOR($y=$y1_cap,$y<$y2_cap)
      FOR($x=$num_line_start[$num],$x<$num_line_end[$num]+1)
         IF(pxl($x,$y)  = 0)
            ARRPUSH($num_y1,$y)
            $y=99999
            $x=$num_line_end[$num]+1
         END_IF
      END_CYC
   END_CYC
END_CYC
print("найдено цифр в поле ",arrsize($num_line_start))




if (arrsize($num_line_start)=6)
   FOR($a=0,$a<arrsize($num_line_start))
      FOR($i=0, $i < TFCOUNT($dir))
         $name = TFREAD($dir, $i+1)
         IF_PICTURE_IN($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], STRCONCAT($pref,$name))
            print("нашли", STRCUT($name, 1, 1))
            $i = 99999999 //
         else
            if ($i+1=TFCOUNT($dir))
               FOR($p=99, $p>94, -1)
                  FOR($i2=0, $i2 < TFCOUNT($dir))
                     $name = TFREAD($dir, $i2+1)
                     IF_PICTURE_IN($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], STRCONCAT($pref,$name),-1, $p)
                       
                        $dialog = DIALOGBOX(strconcat("цифра№", $a+1," /// ",STRCUT($name, 1, 1),"- Верно?"), 4, 2)
                        if  ($dialog=6)
                           print("нашли", STRCUT($name, 1, 1))
                           SCREENSHOTEX($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], strconcat(STRCUT($name, 1, 1),"_"), 0)
                           $i2 = 99999999
                           $p=0
                        end_if
                     else
                        if (($p=95)&($i2+1=TFCOUNT($dir)))
                           $text=INPUTBOX(strconcat("ввод цифры ", $a+1), "999999", 100)
                           SCREENSHOTEX($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], strconcat($text,"_"), 0)
                        end_if
                     END_IF
                  END_CYC
               END_CYC
            END_IF
         END_IF
      END_CYC
   END_CYC
end_if
LCLICK(314,660)  // переключаемся на  окно бразера для обновления
KEYPRESS(#F5)
WAIT(2)

$pref = "screens\"
$cmd = STRCONCAT($pref,"cmd.bat")
$dir = STRCONCAT($pref,"dir.txt")

TFWRITE($cmd, "chcp 1251>nul")
TFWRITE($cmd, STRCONCAT("cd ", $pref))
TFWRITE($cmd, "dir *.bmp /b /on >dir.txt")
TFWRITE($cmd, "del /F /S cmd.bat")
EXECUTE($cmd)
WAIT(2)


$x1_fr= 615
$y1_fr= 327
$x2_fr=699
$y2_fr=350


UNDEFINE($num_line_start)
UNDEFINE($num_line_end)
UNDEFINE($num_real)
UNDEFINE($num_y1)

GETSCREEN($x1_fr,$y1_fr,$x2_fr,$y2_fr)
COLORMODE(8,$x1_fr,$y1_fr,$x2_fr,$y2_fr)


scanpxl($cap_arr,$x1_fr,$y1_fr,$x2_fr,$y2_fr, 0)
IF(ARRSIZE ($cap_arr) = 0)
   print("капчи в этом поле нету")
   halt
END_IF
$y1_cap=$cap_arr[1]
$y2_cap=ARRPOP($cap_arr)


FOR($x=$x1_fr,$x<$x2_fr)
   FOR($y=$y1_cap,$y<$y2_cap+1)
     
      IF(pxl($x,$y) = 0)
         $x1_cap= $x
         $y=$y2_cap+1
         $x=$x2_fr
      END_IF
   END_CYC
END_CYC

FOR($x=$x2_fr,$x>$x1_fr,-1)
   FOR($y=$y1_cap,$y<$y2_cap+1)
      IF(pxl($x,$y) = 0)
         $x2_cap= $x
         $y=$y2_cap+1
         $x=$x1_fr
      END_IF
   END_CYC
END_CYC

//=======================================

ARRPUSH ($num_line_start, $x1_cap)
FOR($x=$x1_cap,$x<$x2_cap)
   FOR($y=$y1_cap,$y<$y2_cap+1)
      IF(pxl($x,$y)  = 0)
         IF((pxl($x+1,$y)  = 0)|(pxl($x+1,$y-1) = 0)|(pxl($x+1,$y+1) = 0))
            $y=999999
         END_IF
      END_IF
     
   END_CYC
   IF($y=$y2_cap+1)
      ARRPUSH ($num_line_end, $x)
      FOR($x_check=$x+1,$x_check<$x2_cap)
         FOR($y_check=$y1_cap,$y_check<$y2_cap+1)
            IF(pxl($x_check,$y_check)  = 0)
               $x= $x_check
               ARRPUSH ($num_line_start, $x)
               $y_check=$y2_cap+1
               $x_check=$x2_cap
            END_IF
         END_CYC
      END_CYC
   END_IF
END_CYC
ARRPUSH ($num_line_end, $x2_cap)
//=============================================
$y2_cap = $mm+$y2_cap
FOR($num=0, $num<arrsize($num_line_start))
   FOR ($y=$y2_cap, $y>$y1_cap, -1)
      FOR($x=$num_line_start[$num],$x<$num_line_end[$num]+1)
         IF(pxl($x,$y)  = 0)
            ARRPUSH($num_y2,$y)
            $y=0
            $x=$num_line_end[$num]+1
         END_IF
      END_CYC
   END_CYC
END_CYC

FOR($num=0,$num<arrsize($num_line_start))
   FOR($y=$y1_cap,$y<$y2_cap)
      FOR($x=$num_line_start[$num],$x<$num_line_end[$num]+1)
         IF(pxl($x,$y)  = 0)
            ARRPUSH($num_y1,$y)
            $y=99999
            $x=$num_line_end[$num]+1
         END_IF
      END_CYC
   END_CYC
END_CYC
print("найдено цифр в поле ",arrsize($num_line_start))




if (arrsize($num_line_start)=6)
   FOR($a=0,$a<arrsize($num_line_start))
      FOR($i=0, $i < TFCOUNT($dir))
         $name = TFREAD($dir, $i+1)
         IF_PICTURE_IN($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], STRCONCAT($pref,$name))
            print("нашли", STRCUT($name, 1, 1))
            $i = 99999999 //
         else
            if ($i+1=TFCOUNT($dir))
               FOR($p=99, $p>94, -1)
                  FOR($i2=0, $i2 < TFCOUNT($dir))
                     $name = TFREAD($dir, $i2+1)
                     IF_PICTURE_IN($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], STRCONCAT($pref,$name),-1, $p)
                       
                        $dialog = DIALOGBOX(strconcat("цифра№", $a+1," /// ",STRCUT($name, 1, 1),"- Верно?"), 4, 2)
                        if  ($dialog=6)
                           print("нашли", STRCUT($name, 1, 1))
                           SCREENSHOTEX($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], strconcat(STRCUT($name, 1, 1),"_"), 0)
                           $i2 = 99999999
                           $p=0
                        end_if
                     else
                        if (($p=95)&($i2+1=TFCOUNT($dir)))
                           $text=INPUTBOX(strconcat("ввод цифры ", $a+1), "999999", 100)
                           SCREENSHOTEX($num_line_start[$a],$num_y1[$a],$num_line_end[$a],$num_y2[$a], strconcat($text,"_"), 0)
                        end_if
                     END_IF
                  END_CYC
               END_CYC
            END_IF
         END_IF
      END_CYC
   END_CYC
end_if
LCLICK(314,660)  // переключаемся на  окно бразера для обновления
KEYPRESS(#F5)
WAIT(2)

для теста http://wekings.ru/simple_captcha/simple_captcha?distortion=&image_style=simply_red&time=1457034295

47
нужно скидывать конкретно ссылку на игру. если не ошибаюсь и это

 то вот цитата с и сайта)  клиент 2 гига неохота чет ставить..)
Quote
Боты? Не, не слышал
Большинство серверов заполонены ботами и автоматизированными программами по добыче ресурсов и прокачке, на которые закрывает глаза администрация этих серверов: ещё бы, дополнительный онлайн! Защита, используемая на Мотре, заставляет всех играть по-честному. Большинство наших игроков за всю свою игру не видело бота ни разу. Редчайшие случаи обнаружения автоматизированных программ приводят к моментальному и пожизненному бану тех, кто их использует, без исключений.

48
Вот теперь я понял, откуда столько гостей на форуме, которые смотрят разные профили)

49
измени положение капчи у себя

50
Общие вопросы / Re: о sacnpxl
« on: February 28, 2016, 02:17:04 PM »
переменная/массив  объявляется в момент присваивания значения. даже если массив забить с 5 индекса по 10, то он забьет мусором с 0 по 4 индексы

51
scanpxl -сканирование пикселей в массив. два последних элемента массива это правый угол, (х, у)

52
SUB(способ, ($par0, $par1, $par2, $par3, $par4, $par5, $par6, $par7) <---- Эта строчка означает что мы создаём подпрограмму с именем "способ" и параметрами в виде переменных?
А значения значения переменных где объявляются?
Вернее даже как мне присвоить им значения?

$par0=100  <-- так?


Code: (clickermann) [Select]
способ($var1, 100,100,100,100, "take1.bmp",5026082,95) // вызов подпрограммы (обязательно ниже подпрограммы) вот здесь мы передаем координаты

53
конечно неплохо, но чем тебя неустраивает 
иф(искейдаун=1)
х=хмаус
 у=игрекмаус
енд_иф

54
да так-же, не требуются обычному игровому боту нейронные сети, при минимальном наличии смекалки, можно логически имитировать любые действия геймера данным кликером с имеющимся набором функций.
Это анриал! нереально.  вот например, это мой танк, сверху полоса здоровья, она синего/красного цвета. по ней делаем определение     к какой команде я отношусь. далее, на карте есть куча стен, других танков, карта со всех сторон    не имеет  ограничений, и можно легко улететь в пропасть). Можно сделать кликатель на пробел(выстрелы), и  вертелку башней на  кнопки z и x. Будет стоять на месте, встрелять пробелом, если выстрел пройдет, значит танк рядом. ну и башню поворачивать в сторону врагу, ориентируясь на вражеский цвет. щас даже попробую))

55
Общие вопросы / Re: Реализация скрипта
« on: February 22, 2016, 06:37:37 PM »
самый правый столбец - там иконка молоточка. относительно нее  работай. закинь их в массив все, в шаблонах есть пример.

57
Общие вопросы / Re: Реализация скрипта
« on: February 22, 2016, 02:27:23 PM »
везде есть желтые молотки, делай  акцент на них,  смещайся влево, копируй в буфер время задания, копируй в переменную.   также смотри цвет около молотка,  если зеленый, значит смотрим следующее задание

58
Можно сделать дублирование. но это фигня. Нужно сделать грамотное обхождение препятствий,  четкое управление  танком. Недавно смотрел секретные материалы,  там  главный герой   говорил, что мы не знаем как связаны нейроны в мозгах, как они формируют наш интеллект. Даже не знаем как наш мозг преобразовывает  изображение с сетчатки глаза с 2d в  3d! кстати, серия 1995 года(!)  Так вот,   если грамотно реализовать   преобразование двухмерных данных в 3мерные, то можно    играть в танки, и прочее. как писал недавно винт,  если написать такое на автокликере, то вам прямая дорога в   разработчики автопилотов для автомобилей. 

59
Общие вопросы / Re: Реализация скрипта
« on: February 22, 2016, 09:29:28 AM »
заходил я на этот сайт 8) свернутый режим не выйдет, там задания появляются в всплывающих окнах, на весь экран монитора

60
в какой момент? код верен. работает 10 раз
1.кликаем на красный цвет в карте(надеюсь красный цвет не двигается)
2.  жмем на моба
3  проверяем появился ли таргет
4. если не появился, возвращаемся в пункт 2
5. если появился возвращаемся в пункт 1.
Вот такой вот принцип.  никаких кликов по черным пятнам нет. возможно долго карта прогружается, проверь) и чтобы было проще проверять где ломается - вставь принты(print("проверка 1, 2, 3...")),  с ними проще, когда нет  режима отладки построчной. когда чет сломается,  можно увидеть по принту,
 в чем глюк

Pages: 1 2 3 [4] 5 6 ... 8