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

Pages: 1 2 3 [4] 5 6 7
46
Ребят, вот скрипт:
Code: (clickermann) [Select]
$t1 = $_ms

GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target1.bmp", -1, 100)
   $targ=1
   //LOGWRITE ("Агрессивный")
   $x_targ=$_return1
   $y_targ=$_return2
else
   IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target2.bmp", -1, 100)
      $targ=1
      //LOGWRITE ("Не агрессивный")
      $x_targ=$_return1
      $y_targ=$_return2
   else
      IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target3.bmp", -1, 100)
         $targ=1
         //LOGWRITE ("Тренировочная кукла")
         $x_targ=$_return1
         $y_targ=$_return2
      else
         $targ=0
      END_IF
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil1.bmp", -1, 100)
   $Skil_1a = 0
   $Skil_1 = 1
   $Skil_1_x = $_return1
   $Skil_1_y = $_return2
else
   $Skil_1 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil1a.bmp", -1, 100)
      $Skil_1 = 0
      $Skil_1a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil2.bmp", -1, 100)
   $Skil_2a = 0
   $Skil_2 = 1
   $Skil_2_x = $_return1
   $Skil_2_y = $_return2
else
   $Skil_2 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil2a.bmp", -1, 100)
      $Skil_2 = 0
      $Skil_2a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil3.bmp", -1, 100)
   $Skil_3a = 0
   $Skil_3 = 1
   $Skil_3_x = $_return1
   $Skil_3_y = $_return2
else
   $Skil_3 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil3a.bmp", -1, 100)
      $Skil_3 = 0
      $Skil_3a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil4.bmp", -1, 100)
   $Skil_4a = 0
   $Skil_4 = 1
   $Skil_4_x = $_return1
   $Skil_4_y = $_return2
else
   $Skil_4 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil4a.bmp", -1, 100)
      $Skil_4 = 0
      $Skil_4a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil5.bmp", -1, 100)
   $Skil_5a = 0
   $Skil_5 = 1
   $Skil_5_x = $_return1
   $Skil_5_y = $_return2
else
   $Skil_5 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil5a.bmp", -1, 100)
      $Skil_5 = 0
      $Skil_5a = 1
   END_IF
END_IF

IF($targ > 0)
   IF_PIXEL_IN($x_targ+35,$y_targ, $x_targ+200,$y_targ+10, 4145151,4161407)
      //LOGWRITE ("Живой")
      $targ_Live=1
   else
      //LOGWRITE ("Мертвый")
      $targ_Live=0
   END_IF
   
   GETSCREEN
   COLORMODE(9)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "distance.bmp", -1, 100)
      $x=$_return1
      $y=$_return2
      IF_PICTURE_IN ($x+64,$y, $x+65,$y, "1.bmp", -1, 96)
         $figure1=1
      else
         IF_PICTURE_IN ($x+64,$y, $x+65,$y, "2.bmp", -1, 96)
            $figure1=2
         else
            IF_PICTURE_IN ($x+64,$y, $x+65,$y, "3.bmp", -1, 96)
               $figure1=3
            else
               IF_PICTURE_IN ($x+64,$y, $x+65,$y, "4.bmp", -1, 96)
                  $figure1=4
               else
                  IF_PICTURE_IN ($x+64,$y, $x+65,$y, "5.bmp", -1, 96)
                     $figure1=5
                  else
                     IF_PICTURE_IN ($x+64,$y, $x+65,$y, "6.bmp", -1, 96)
                        $figure1=6
                     else
                        IF_PICTURE_IN ($x+64,$y, $x+65,$y, "7.bmp", -1, 96)
                           $figure1=7
                        else
                           IF_PICTURE_IN ($x+64,$y, $x+65,$y, "8.bmp", -1, 96)
                              $figure1=8
                           else
                              IF_PICTURE_IN ($x+64,$y, $x+65,$y, "9.bmp", -1, 96)
                                 $figure1=9
                              END_IF
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
     
      IF_PICTURE_IN ($x+69,$y, $x+70,$y, "1.bmp", -1, 96)
         $figure2=1
      else
         IF_PICTURE_IN ($x+69,$y, $x+70,$y, "2.bmp", -1, 96)
            $figure2=2
         else
            IF_PICTURE_IN ($x+69,$y, $x+70,$y, "3.bmp", -1, 96)
               $figure2=3
            else
               IF_PICTURE_IN ($x+69,$y, $x+70,$y, "4.bmp", -1, 96)
                  $figure2=4
               else
                  IF_PICTURE_IN ($x+69,$y, $x+70,$y, "5.bmp", -1, 96)
                     $figure2=5
                  else
                     IF_PICTURE_IN ($x+69,$y, $x+70,$y, "6.bmp", -1, 96)
                        $figure2=6
                     else
                        IF_PICTURE_IN ($x+69,$y, $x+70,$y, "7.bmp", -1, 96)
                           $figure2=7
                        else
                           IF_PICTURE_IN ($x+69,$y, $x+70,$y, "8.bmp", -1, 96)
                              $figure2=8
                           else
                              IF_PICTURE_IN ($x+69,$y, $x+70,$y, "9.bmp", -1, 96)
                                 $figure2=9
                              END_IF
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_IF
   $distance = ($figure1*10)+$figure2
END_IF

$t2 = $_ms - $t1
LOGWRITE ($t2)

waitms(10)

Скрипт делает 1 круг за 2 секунды... Есть мысль - как это дело ускорить...? На сколько я помню, GETSCREEN в потоках не выполняется же - да? Львиную долю времени выполняется часть скрипта с 102 по 180 строку.

47
Привет, ребят! Прошу прощения, если вопрос тупой (а мне почему-то кажется, что он именно такой...), но мне не понятно - как получить цельное число из двух цифр. Например, есть две переменный: $1 = 1 и $2 = 2. И вот как эти две переменные "сложить" так, чтобы в третьей переменной получилось не 3 (как в случае $1+$2), а 12 (что-то типа $1$2)?

48
Ребят, тут давно не секрет, что я в последнее время больше пишу на delphi, а не на Clickermann-е. НО Clickermann и его команда для меня так и остались теми, кто со мной буквально мучился в свое время, неделю мне объясняя на форуме на разных языках, что такое - переменная )) К тому же старейшин данного проекта я до сих пор считаю кем-то вроде гуру. Мне на днях свалилась такая мысль... Написать не плохой клип (все материалы для него у меня есть), в котором будет эксклюзивная песенка на стихи Есенина (у меня друг композитор и исполнитель). Вот, кстати, сама песенка - https://www.youtube.com/watch?v=_2srW7DqW-I Так вот мысль какая у меня... Сделать под эту песенку не плохой клип. Это я, как мне кажется, умею... Вот, например, один из моих клипов - https://www.youtube.com/watch?v=ceaBpvpzPYg Так вот что, если разместить клип с песенкой "Троицыно утро", потом напарсить миллион почтовых адресов на том же самом мэйл.ру и разослать им всем ссылку на этот клип? Как думаете - стоящее это дело вообще...?

49
Общие вопросы / Верю - Clickermann сможет! ))
« on: October 17, 2016, 04:19:54 PM »
Ребят, бьюсь над ловлей тригера уже более двух суток. На видео сначала появляется тригер, который просто нужно теребить вправо-влево. С ним проблем нет. У него на раскадровке просто несколько положений и их можно поймать. Проблем с ним нет потому, что поймав одно из положений, нам не нужно гадать - в какую сторону им теребить, а просто вызываем:
[spoiler]
Code: (clickermann) [Select]
SUB(t_triger)
   $var=0
   WHILE($var < 15)
      KEYPRESS(#A)
      WAITMS(30)
      KEYPRESS(#D)
      WAITMS(30)
      $var=$var+1
   END_CYC
END_SUB
[/spoiler]

В этом случае все работает. На видео с этим как раз справляется кликер.
А вот в конце видео появляется тригер, который нужно крутить, вызвав:
[spoiler]
Code: (clickermann) [Select]
SUB(n_po_chas_p)
   KEYDOWN(#D)
   WAITMS(30)
   KEYDOWN(#S)
   WAITMS(30)
   KEYUP(#D)
   WAITMS(30)
   KEYDOWN(#A)
   WAITMS(30)
   KEYUP(#S)
   WAITMS(30)
   KEYDOWN(#W)
   WAITMS(30)
   KEYUP(#A)
   WAITMS(30)
   KEYDOWN(#D)
   WAITMS(30)
   KEYUP(#W)
   WAITMS(30)
   KEYDOWN(#S)
   WAITMS(30)
   KEYUP(#D)
   WAITMS(30)
   KEYDOWN(#A)
   WAITMS(30)
   KEYUP(#S)
   WAITMS(30)
   KEYUP(#A)
   WAITMS(30)
END_SUB
[/spoiler]

Но в этом случае кликеру мало - понять, что картинка с тригером появилась.
Его еще нужно заставить понять - в какую именно сторону крутить этот тригер.

Вот видео:
https://youtu.be/UgaclIzHo8M

Вот раскадровка нужного момента, так сказать - от и до:
[spoiler]

































[/spoiler]

Я пробовал поймать по стрелке под тригером, но она - гадина, полупрозрачная и в режиме COLORMODE(6) выглядит вот так:
[spoiler]


[/spoiler]

Если бы она хотя бы свой цвет не меняла, то проблемы не было бы.
Я много раз сталкивался с проблемами, с которыми, на первый взгляд (а в моем случае,и на второй, и на третий :) ), Clickermann не справится, но всегда оказывалось, что не справлялся не Clickermann, а мои познания в его языке и находчивость. Может есть у кого какие идеи? :)

50
Общие вопросы / В чем проблема...?
« on: October 14, 2016, 09:17:04 PM »
Ребят, знаю, что Clickermann написан на Delphi. Этот код:
Code: (clickermann) [Select]
$x1=633
$y1=243
$x2=811
$y2=382

$ms = $_ms
GETSCREEN

FOR($y=$y1,$y<$y2+1)
   FOR($x=$x1,$x<$x2+1)
      $color = pxl($x,$y)
      IF($color = 16777215)
         PXLREPLACE($x,$y,$x,$y,$color,8372223)
      END_IF
      IF($color ! 11368191)
         PXLREPLACE($x,$y,$x,$y,$color,0)
      END_IF
   END_CYC
END_CYC

SCREENSHOTFIX(0,0, $_xmax,$_ymax, "OutScreen.bmp", 0)
LOGWRITE ($_ms-$ms)

HALT
реализуется за 10218 миллисекунды... Может я туплю в чем-то... Как ускорить процесс? Если написать на той же delphi прогу, которая будет делать то же самое и выдавать такой же скрин (один в один), то вся операция занимает всего 46 миллисекунд. Может какой-то другой алгоритм в Clickermann нужно прописывать...?

51
Тут чувачек (удалил он свои сообщения...) говорил, что средствами кликермана можно сделать скрин, на котором останутся цветными только пиксели нужного цвета, а все остальные будут обнулены... Я вот второй день роюсь в документации кликермана и никак не могу найти, как вот этот http://shot.qip.ru/00Qb8Z-47FlHWU3X/ скрин сделать так, чтоб на нем только цвет-65280 остался...

52
Привет, ребят. Что-то не могу сформулировать вопрос для поиска на форуме, или такой вопрос вообще не обсуждался на нем раньше (во что мне очень слабо верится). У самого от задачи что-то голова дымиться начинает. Задача такая... В определенной области экрана нужно определить цвет пикселя, который наиболее чаще попадается в этой области экрана. Как бы это намутить...?

53
В общем ситуация такая, ребят. Нужно в определенной области экрана сделать скрин и потом выполнять некие действия, пока в той области экрана не сменится картинка. Я вот так попробовал сделать:
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
SCREENSHOTEX(805,685, 826,694, 0) // Фотографируем
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (805,685, 826,694, "screens\00000.bmp", -1, 100) // Сверяем
      // Действия
   ELSE
      $check = 1
      // Нормально работало бы, если бы вот в этой строке
      // как-то удалить 00000.bmp из папки screens
      // иначе в следующий раз для сверки создастся уже 00001.bmp
      // а в коде у меня будет сверятся 00000.bmp
   END_IF
END_CYC
Как бы правильно запилить?

54
Общие вопросы / FOR и CASE
« on: June 05, 2016, 05:17:15 PM »
Ребят, как подобный алгоритм намутить в кликермане?

Code: [Select]
w := 1;
for i := 0 to 3 do
begin
Case w of
1:
begin
w := w + 1;
// Действие_1
end
2:
begin
w := w + 1;
// Действие_2
end
3:
begin
w := w + 1;
// Действие_3
end
end;
end;

55
Прочее / Вопрос к Johnny
« on: April 26, 2016, 03:44:54 PM »
Я прошу прощения за такой дерзкий вопрос, но я тут на delphi пишу одну прогу, которая будет распознавать капчу в одной игре. Суть проги - делает скрин экрана и проводит попиксельный анализ определенной области скрина. Во первых первый вопрос - Clicermann на delphi написан? И если да, то главный вопрос... Столкнулся с необходимостью, чтобы программа делала скрины с цветокоррекцией. За снятие скрина с экрана, в программе у меня отвечают вот эти строки:

    bmp := TBitmap.Create;
    bmp.Width := Screen.Width;
    bmp.Height := Screen.Height;
    BitBlt(bmp.Canvas.Handle, 0,0, Screen.Width, Screen.Height,
    GetDC(0), 0,0,SRCCOPY);
    Image1.Width := Screen.Width;
    Image1.Height := Screen.Height;
    Image1.Picture.Assign(bmp);
    bmp.Free;

Так вот какой параметр добавить, чтоб поиграть с цветокоррекцией?

56
Общие вопросы / Чем может палиться?
« on: April 10, 2016, 08:41:27 PM »
Всем привет! Есть одна игра - "Black Desert". Естественно с системой защиты.  Я думал, что защита смотрит по ЗАПУЩЕННЫМ программам. Если запустить кликерман, то игра не запустится. Если запустить кликерман при запущенной игре, то игра тупо вылетает. Но фишка в том, что если хоть один раз кликерман запустить на компе, то потом игра не запустится, даже если комп перезагрузить и кликерман не трогать. Вот и вопрос возник... Какой след кликерман оставляет в винде даже после того, как его выключаешь и перезагружаешь комп?

57
Общие вопросы / Напомните плиз
« on: August 14, 2015, 11:42:45 AM »
Привет, ребят. Я понимаю, что тут - на форуме, где-то можно найти, но я искать буду дня два... Напомните плиз - как состряпать условие, которое сработает в повторяющемся скрипте только один раз. Благодарю!

58
Предложения / Очень не хватает...
« on: January 25, 2015, 11:55:01 AM »
Очень не хватает, чтобы окошки самих кликеров можно было сворачивать до такого состояния - и размещать эти окошки в любом месте на экране. А может кликер это может, а я и не знаю, и не вижу...? )) А то вот у меня ситуация, что мне нужно запустить много кликеров и они место на экране занимают, но при этом нужно, чтобы они именно на экране оставались - их кнопки. Мне вот только до таких размеров удалось свернуть кликеры -

59
Ребят, вот код:

Code: (clickermann) [Select]
KEYDOWN(#SHIFT)
WAITMS(100)
KEYPRESS(rnd (#A, #Z)
WAITMS(50)
KEYUP(#SHIFT)
WAITMS(100)
KEYPRESS(rnd (#A, #Z)
WAITMS(100)
KEYPRESS(rnd (#A, #Z)
WAITMS(100)
KEYPRESS(rnd (#A, #Z)
WAITMS(100)
KEYPRESS(rnd (#A, #Z)
WAITMS(100)

Как, после того, как он введет РОНДОМНЫХ пять букв, записать результат в переменную?

60
Ребят, тут на форуме где-то была тема, в которой выкладывали вспомогательные проги разные. Не могу найти что-то... Мне нужна там прога (я видел), чтобы скрипты сравнивать и она выявляет различии между скриптами. Спасибо! А то у меня тут скрипты пошли с несколькими тысячами строк...  :) А надо найти в двух одинаковых скриптах различие в 1 строку...

Pages: 1 2 3 [4] 5 6 7