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 - FJ

Pages: [1] 2
1
Доброго времени суток.
Возможно ли сначала кусочек экрана запомнить, и найти такой же кусочек в другом месте? грубо говоря, в место file.bmp у нас будет переменная с первого снимка экрана.
Code: [Select]
GETSCREEN($Xmin + 482 , $Ymin + 190 , $Xmin + 482+158 , $Ymin + 202)
COLORMODE(8, $Xmin + 482 , $Ymin + 190 , $Xmin + 482+158 , $Ymin + 202)

GETSCREEN
IF_PICTURE_IN ($Xmin + 356 , $Ymin + 253 , $Xmin + 712 , $Ymin + 543, "file.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

2
Общие вопросы / получить 2 мерный массив
« on: November 20, 2016, 05:58:02 PM »
Добрый день, как оптимально можно  получить 2 мерный массив из данной картинки?
12345678
12345678
....

3
Доброго дня, помогите пожалуйста с такой затеей.
пошаговая стратегия, много мобов, чтобы не делать скрины каждого моба, решил в начале хода сделать скрин определенной области и сравнить его со скрином на след. ход(примеры во вложении).

Пока думаю сделать так:
1 делаем скрин
2 разбиваем его по "гексам" внутри синей области
3 сравниваем со старым скрином, если какой-то гекс изменился, то нажимаем на него(если поменялось несколько гексов, то тыкаем во все по очереди)
4 Ходим
5 повторяем

В общем, как лучше это сделать?

4
Доброго дня!
Подскажите, можно ли средствами кликера склеить несколько изображений? (если возможно, без сторонних программ)

5
Доброго дня!
В браузерной flash игре есть магазин, в котором на прилавке появляется товар в определенный момент.
Чтобы обновить прилавок(визуально), нужно выйти из магазина, и зайти обратно. как только товар появился, под ним появляется кнопка, на которую можно нажать, подтвердить, и товар твой! :) Но конкурентов н перекуп товара очень много, и обычно когда пытаешься купить товар, он пишет, что уже продано.
Вопрос такой, можно ли отправить запрос на сервер, что тапа нажимаю на кнопку и подтверждаю покупку, даже если кнопка еще не отобразилась?
Я пробовал даже с привязкой к окну делать в 4 браузера на 1 компе и так на 3х компах, чтоб хоть один но купил товар, но толку ноль.
Может быть это стоит сделать с помощью другой программы? Посоветуйте какой?
PS:  долго думал. как назвать тему, если будет более подходящее название и получится изменить, сделаю!

6
Доброго дня форумчане!
Подскажите, почему в браузере опера при $vbr = 1 не кликает? остальные кликает без проблем. Именно в опере... Уже пару раз переписывал код,  не могу ничего понять!

Code: [Select]
$mr = INPUTBOX("1 - Настройка. 2 - Напасть без усиления. 3 - Напасть с усилением. 4 - Автонападение.", "2", 100)
if ($mr < 1 & $mr > 3) // выходим, если неправильно выбрано
   halt
end_if
if ($mr = 1) // Настраиваем
   TFCLEAR ("\screens\temp\музмех\config.txt") // чистим конфиг
   
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------>" )
   waitms (80)
   
   $xattak1 = $_xmouse
   $yattak1 = $_ymouse
   TFWRITE  ("\screens\temp\музмех\config.txt", $xattak1 , 1 )
   TFWRITE  ("\screens\temp\музмех\config.txt", $yattak1 , 2 )
   
   $xattak2 = $_xmouse + 180
   $yattak2 = $_ymouse
   TFWRITE  ("\screens\temp\музмех\config.txt", $xattak2 , 3 )
   TFWRITE  ("\screens\temp\музмех\config.txt", $yattak2 , 4 )
   halt
end_if

if ($mr = 2) //Напасть без уселения
   
   $xattak2 = TFREAD ("\screens\temp\музмех\config.txt", 3 )
   $yattak2 = TFREAD ("\screens\temp\музмех\config.txt", 4 )
   $vbr = 2
   
end_if

if ($mr = 3) //  с уселением
   
   $xattak1 = TFREAD ("\screens\temp\музмех\config.txt", 1 )
   $yattak1 = TFREAD ("\screens\temp\музмех\config.txt", 2 )
   $xattak2 = TFREAD ("\screens\temp\музмех\config.txt", 3 )
   $yattak2 = TFREAD ("\screens\temp\музмех\config.txt", 4 )
   $vbr = 1
end_if

//Настраиваемся на атаку
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------>" )
waitms (80)

$xattak3 = $_xmouse
$yattak3 = $_ymouse

$r = 0
vbr:

WAITMS(300)
$hg = HGET(100,10)
//WNDSTATE($hg, 0)


SWITCH($r)
CASE(1)
   $hw = WNDFIND("yandex",0) // $hw = 328108
CASE(2)
   $hw = WNDFIND("Google Chrome",0) // $hw = 4391430
   
CASE(3)
   //$hw = WNDFIND("Mozilla Firefox",0) // $hw = 1442366
   $hw = WNDFIND("Opera",0) // $hw = 1442366
   
   $vbr = $vbr + 1
   $r = 0
CASE(4)
   
   $hw = WNDFIND("yandex",0) // $hw = 328108
   
   WNDBUMP($hw)
   WAITMS(100)
   halt
   
DEFAULT
   
END_SWITCH
WAITMS(100)

IF($hw > 0) // если HWND найден
   
   WNDBUMP($hw)
   WAITMS(400)
   
   SWITCH($vbr)
      WAITMS(100)
   CASE(1)
      move ( $xattak1 , $yattak1 )
      waitms (50)
      LCLICK ( $xattak1 , $yattak1 )
      waitms (50)
      LCLICK ( $xattak1 , $yattak1 )
      waitms (100)
   CASE(2)
      waitms (100)
      LCLICK ( $xattak2 , $yattak2 )
      waitms (100)
   CASE(3)
      waitms (100)
      LCLICK ( $xattak3 , $yattak3 )
      waitms (100)
   DEFAULT
      $r = 4
      print ( "$r = 4" )
      GOTO(vbr)
   END_SWITCH
   
END_IF
print ( "$r ", $r , " / $vbr " , $vbr )
$r = $r + 1
GOTO(vbr)

halt

7
Общие вопросы / Код из внешнего файла.
« on: January 24, 2016, 10:13:19 AM »
Доброго дня форумчане!
Подскажите, есть ли возможность использовать внешние файлы как подпрограммы? поискал в справке/сети, решения не нашел.
Спасибо!

8
Вроде простая задача, но не могу понять, как это сделать.
Допустим сохраняю части экрана в папку с помощью SCREENSHOTEX.
Затем идет условие с помощью IF_PICTURE_IN, если нахожу картинку - то одно действие, если не нахожу, делаю скрин.
Как реализовать?

9
Доброго дня!
Подскажите пожалуйста, как мне осуществить такую штуку. На сайте выводится текст и периодически меняется. допустим может поменяться 3-7 раз за день.
Мне нужно чтобы кликер мне показал:
"дата появления(когда был первый раз замечен)" , "ТАВ" , "дата замены(когда последний раз был замечен)" , "ТАВ" , "сам текст(может быть несколько слов, и так же содержать ТАВуляцию)"
Если текст не находит, создает новую строчку с датой появления и замены, и обновляет ее.
Хотя бы натолкните на мысль, как мне это можно сделать, ну или пример, было бы шикарно! :)
Спасибо заранее! :)

10
Общие вопросы / Вывод даты в лог
« on: November 24, 2015, 05:57:16 AM »
Доброго дня форумчане!
Подскажите, можно ли заставить кликер выводить в лог дату в формате ГГГГ.ММ.ДД ЧЧ.ММ ? (например: 2015.11.24 05.55)

11
Общие вопросы / IF_PICTURE_IN и SCREENSHOTEX
« on: November 12, 2015, 11:42:44 PM »
Доброго времени суток.
Можете подсказать, как организовать такую штуку.
Допустим у меня скрипт ищет часть картинки(IF_PICTURE_IN ) в базе картинок, не находит и сохраняет(SCREENSHOTEX) часть, где должна располагаться эта картинка в соседнюю папку temp. после переходит к следующей картинке и действие повторяется.
Хотел бы, чтобы скрипт сначала искал в базе, если не находит, то искал в папке темп, если и там не находил, то сохранял картинку.А то приходится перебирать тонны одинаковых картинок, что отнимает относительно много времени :)
Хотелось бы это без привлечения сторонних программ реализовать.
И еще, перебор картинок через IF_PICTURE_IN очень долгий, может есть более быстрый способ? Куда капать?
Вот часть кода например:

Code: [Select]
for ( $rang = 1 , $rang < 10 )
                  GETSCREEN
                  IF_PICTURE_IN ( $Xmin , $Ymin + 300 , $Xmax , $Ymin + 396 , strconcat("screens\temp\rang \", $rang ,".bmp"), -1, 100)
                     if ( $rang = 9)
                        SCREENSHOTEX ( $_return1 - 70 , $_return2 - 5 , $_return1 + 30 , $_return2 + 18, "temp\rang\9_" , 0 )
                        $_return1 $_return2
                        print ("найден ранг, но нет в базе - скрин сделал")
                     else
...
Эти 10 картинок он быстро перебирает, но есть часть кода, которая состоит более чем из 300 картинок... Долго в общем! :)

Натолкните на мысль пожалуйста! :)

12
Общие вопросы / FOR сбивается.
« on: November 12, 2015, 12:38:46 AM »
Доброго дня форумчане.
Помогите пожалуйста, уже 2 час сижу, не понимаю где косяк. В общем первый цикл
Code: [Select]
FOR ( $gild_select_step_down = 0 , $gild_select_step_down < 12 ) Работает нормально, но если внутри цикла выполняется это условие
Code: [Select]
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "screens\temp\arm_club_1.bmp", -1, 100), то цикл начинает свой путь после этого условия.
Где подвох кроется?

Code: [Select]
GETSCREEN
IF_PICTURE_IN ( $Xmin , $Ymin , $Xmax , $Ymax , "screens\temp\gild_enter.bmp", -1, 100)
   waitms ($t1)
   
   again1:
   $gild_select_temp = 0
   again:
   $Xgild_select = $Xmin + 360
   $Ygild_select = $Ymin + 260
   $Xgild_select_step_right1 = 348
   $Xgild_select_step_right2 = 5
   $Ygild_select_step_down = 24
   $Xgild_nextlist = $Xmin + 713
   $Ygild_nextlist = $Ymin + 560
   
   FOR ( $gild_select_step_down = 0 , $gild_select_step_down < 12 )
     
      print ("t0")
     
      WAIT ( 1 )
      LDOWN( $Xgild_select , $Ygild_select )
      LUP( ($Xgild_select + $Xgild_select_step_right1 ) , $Ygild_select )
      KEYDOWN (#CTRL)
      WAITMS ($t0)
      KEYDOWN (#C)
      WAITMS ($t0)
      KEYUP (#C)
      KEYUP (#CTRL)
      WAITMS( $t1 )
      $gild_temp = FROMCLIP ()
      WAITMS( $t2 )
      LCLICK( $Xgild_select + $Xgild_select_step_right2  , $Ygild_select )
     
      WAIT ($t8)

      scan_gild_again:
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "screens\temp\arm_club_0.bmp", -1, 100)
         WAIT ( $t7 )
         LCLICK($_return1, $_return2)
      else
         GOTO (scan_gild_again)
      END_IF
      WAIT ( $t7 )
      scan_arm_again:

      print ("t1-1")

      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "screens\temp\arm_club_1.bmp", -1, 100)
         WAITms ( $t3 )
         print ("ôàí çàãðóçèëñÿ")
         $Xpodarok = $Xmin
         next_arm:
         for ( $podarok = 0 , $podarok < 6 )
            GETSCREEN // íàõîäèì ôàíàòîê íà ïîäàðêè
            IF_PICTURE_IN ( $Xpodarok , $Ymin , $Xmax , $Ymax , "screens\temp\podarok.bmp", -1, 100)
               move($_return1, $_return2)
               $Xpodarok = $_return1 + 10
               waitms (600)
               //ñìîòðèì íà ðèíã?
               for ( $rang = 1 , $rang < 10 )
                  GETSCREEN // ñìîòðèì ïîäàðêè
                  IF_PICTURE_IN ( $Xmin , $Ymin + 300 , $Xmax , $Ymin + 396 , strconcat("screens\temp\rang\", $rang ,".bmp"), -1, 100)
                     if ( $rang = 9) // åñëè ôîíàòêà íà ðèíã, à åå íåò â áàçå - äîáàâëÿåì
                        SCREENSHOTEX ( $_return1 - 70 , $_return2 - 5 , $_return1 + 30 , $_return2 + 18, "temp\rang\9_" , 0 )
                        $_return1 $_return2
                        print ("íàéäåíà ôàíàòêà íà ðèíã, íî íåò â áàçå - ñêðèí ñäåëàë")
                     else
                        print ("ðèíã " , $rang , " " , $gild_temp)
                        GOTO (next_arm)
                     END_IF
                  END_IF
               END_CYC
            END_IF
         END_CYC
      else
         GOTO (scan_arm_again)
      END_IF
      WAITms ( $t3 )

      print ("t1-2")
     
     
      print ("âûõîäèì èç ãðóïïû ", $gild_temp)
      waitms ($t0)
      GETSCREEN //âûõîäèì èç ãðóïïû
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "screens\temp\XYmin.bmp", -1, 100)
         LCLICK($_return1, $_return2)
      END_IF
     
      print ("t2")
     
      WAIT ( $t6 )
     
     
      //ïåðåõîäèì ê ñëåäóþùåé ãðóïïå
     
      IF ( $gild_select_step_down = 11 ) // Êîãäà 12 ãðóïï ïåðåáðàëè, ïðîêðó÷èâàåì ñïèñîê ãðóïï íèæå   /11
         
         print ("t3")
         
         IF ( $gild_select_temp = 3 )
            print ("ñíîâà")
            FROMCLIP () = " "
            LCLICK( $Xgild_nextlist , $Ygild_nextlist ) // Çàãðóæàåì ñëåäóþùèé ñïèñîê ãðóïï
            $gild_select_temp = 0
            wait ( $t7 )
            GOTO ( again )
         END_IF
         print ("123")
         $Xgild_roll_down = 719 // $Xmin + $Xgild_roll_down // ëèñòàòü ñïèñîê ãðóïï íèæå ïî Õ
         $Ygild_roll_down = 529 // $Ymin + $Ygild_roll_down // ëèñòàòü ñïèñîê ãðóïï íèæå ïî Y
         FOR ( $gild_roll_down = 0 , $gild_roll_down < 12 )
            LCLICK ( $Xmin + $Xgild_roll_down , $Ymin + $Ygild_roll_down )
            print ( $gild_roll_down )
         END_CYC // Êîãäà 12 ãðóïï ïåðåáðàëè, ïðîêðó÷èâàåì ñïèñîê ãðóïï íèæå //
         $gild_select_temp = $gild_select_temp + 1
         FROMCLIP () = " "
         wait ( $t7 )
         GOTO ( again )
      END_IF
     
      print ("t4")
     
      print ($gild_select_step_down)
      print ("$gild_select_temp ", $gild_select_temp)
      $Ygild_select = $Ygild_select + $Ygild_select_step_down
      waitms ($t0)
     
      print ("t5")
     
   end_cyc // Øàã â íèç ê ñëåäóþùåé ãðóïïå //
END_IF

13
Общие вопросы / Lines
« on: November 10, 2015, 01:01:16 AM »
Доброго времени суток форумчане!
Натолкните на мысль пожалуйста, как написать бота для игры линии.
Смысл игры думаю многие знают, поле 8*8 (пример закинул), нужно передвигать шарики так, чтобы получилось по 3 и больше шт в ряд (только по горизонтали или вертикале в данной версии). Когда соединяются 3 и более шт, то шарики удаляются и все верхние смещаются на их место. С верху заполняется новыми. Каждые 2 хода поднимается низ, и поле становится 8*7, и т.д до тех пор, пока остается возможность соединять шарики.
Натолкните пожалуйста на мысль, с чего начать. Может пример кто спаяет по быстрому :)

14
Доброго дня форумчане!
Подскажите пожалуйста, у меня скрипт выводит сообщение через DIALOGBOX
Можно как нибудь закрыть это окно допустим через 5 минут после вывода сообщения?

15
Общие вопросы / Динамичные координаты
« on: November 02, 2015, 11:30:03 PM »
Доброго дня форумчане!
Завис над такой вот задачкой, хочу перед запуском кликера забить координаты xmin,ymin,xmax,ymax, чтоб можно было работать на разных разрешениях допустим передвинул окно в сторону, сделал его уже. Не нужно будет переписывать все координаты, которых очень много. Задачка вроде легкая, но я что-то не могу понять, как ее реализовать.
Спасибо заранее! :)

Pages: [1] 2