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.


Topics - Кликермен

Pages: [1]
1
Подскажите, как сделать батник, при открытии которого,  чтобы сразу запускался скрипт. То есть: в батнике прописать: запускаемый cms скрипт и требуемую программу программа для выполнения(кман) В идеале, чтобы после запуска батника сразу запускался скрипт(авторан добавлен)

2
Необходимо сделать вот эти перечисленный процедуры, причем в фоне, не показываясь на экране. Как скрины делать я знаю, а вот как собрать все это в один архив -  ничего в голову не приходит. Подскажите пожалуйста!  а еще как скинуть этот файлик в сеть, также в фоне. Запросы на сайты отправлять можно, а можно ли архивы загружать на сайты? или для этой цели проще выучить другой язык

3
Нужно написать бот для монополии вконтакте https://vk.com/magnatgame?mid=268539606\
чтобы выполнял следующие функции
1. Создавал стол на двоих(это легко)
2. Подключался к другим столам 2*2 игрока, проверяя    уровень союзников, подключение только к мощным союзникам(анализ количества игр, если больше 200 в сумме за соло у групповые режимы)
3. Бросать кубики, покупать фирмы, строить филиалы, основываясь на  текущеи ситуации игры. Закладывать игры, которые бесполезны. Анализ поля, проверка, кому какие фирмы принадлежат,
4. обязательная проверка  суммы капитала у себя, противников.
5.  при попадани на клетку налог, при одиночном режиме - оплата, при  командном - скупка фирм  союзника
6. при попадании на клетку врага,  при небольшои аренде оплата, при большои аренде(командныи режим- купить фирмы союзника и сдаться, одиночныи режим -оплата)
7. когда загорается свои ход -  сначала строительство всех монополии своих, затем ход
8. при  двух монополиях своих, и малом количестве финансов -   продавать филиалы перед противником, укрепляя филиалы после противника
9. при командном режиме -   при попадании на клетку города, покупать у союзника  имеющися у него города
10.  в начале игры всегда оплачивать тюрьму и в неи не сидеть
11.  скидывать на аукцион ненужные фирмы, если фирма нужна врагу, но нет денег то отказ. если у врага нет на нее денег - аукцион.
Хм, пока писал, понял что проще самому написать, так как много заморочек.. но у меня код не удается воедино собрать,  каша выходит

4
Если у вас есть капча, без слипшихся символов, то предлагаю вот такой полезный скрипт.  Можно использовать не только для капчи, но мне нужно было только для этого. За основу  взяты скрипты  Винта и 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

5
Архив / странный глюк, цикл for
« on: February 05, 2016, 10:56:32 PM »
Code: (clickermann) [Select]
//===================================
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
      print( $y, " ",$y1_cap )
   END_CYC
END_CYC

здесь $y2_cap=347, $y1_cap=334. Цикл пашет  от 347, вниз. НО! после первого прохода цикла, он ругается на inc($y,-1) и работать не хочет. я долго бился, не мог найти корень, как исправить.  если прописать

Code: (clickermann) [Select]
   FOR ($y=347, $y>$y1_cap, -1) То все работает идеально.
print($y1_cap+1) выдает в лог 348, все верно. почему же такая хрень?
пробую писать
Code: (clickermann) [Select]
$mm=$y2_cap
 FOR ($y=$mm, $y>$y1_cap, -1)
Но тоже вылетает ошибка inc($y,-1)
Решил вот так, но все же интересно, что это за хрень))
 
Code: (clickermann) [Select]
$y2_cap = $mm+$y2_cap//мм ноль, поэтому ничего не меняется, но  ошибка пропала
  FOR ($y=$y2_cap, $y>$y1_cap, -1)
Код во вложении, 76 строка. проверял капчу на этой странице  http://wekings.ru/login

6
Наткнулся на сайт, с  задачами для программистов.  около 500 различных головоломок,   без привязки к конкретному языку  программирования. очень понравилось. Хочу поделиться, только он на испанском :D
[spoiler]projecteuler.net
Шучу, на английском)[/spoiler]
Буду дублировать интересные задачи, с моей реализацией(или без, если не додумаюсь). Подключайтесь, очень много реально интересного. 

Задача №1(там она 35, ну да ладно)

Число 197 -  круговое простое , потому что все круговые перестановки цифр: 197, 971, и 719, образуют только простые числа.
Есть тринадцать таких простых чисел меньше 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, и 97.
Сколько  всего круговых простых чисел   до миллиона?

Pages: [1]