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

Pages: 1 [2]
16
Постоянно программа как  бешеный кузнечик ускакивает  из панели задач в трей.
Уже достало её оттуда выковыривать каждый раз. :(
Особенно достаёт, когда редактируешь скрипт в редакторе, и тут прыг скок...
Исправьте этот баг.

17
Проблема осталась,
взял и самим кликерманом повырезал фрагменты через
Code: [Select]
getscreen(37,589, 92,600)
screenshotex(37,589, 92,600,kard)
HALT
Но скрипт работает только при первом запуске .

Вот видео как всё происходит.  [spoiler] https://youtu.be/RLg01C5BB3M [/spoiler]
Короче задача такая.
Сканировать карту и искать координаты значков.

Нашли значёк,
кликнули на него, 
Сбросили координаты,
Потом распознали их как капчу.
Записали координаты в лог.

Перешли к следующему нужному значку....
Кликнули...
Сбросили кооры...

Когда нужные значки на экране закончились,
передвинули экран до следующего, опять отсканировали все нужные значки...
И так до конца координат (1285:1285)




18
Просто значки двух видов.
С камнем и с деревом.
Мне надо их различать.

Короче мне надо сделать так, чтоб при передвижении по карте, при появлении определённого значка,  скидывались его кардинаты в игре.

Как скинуть координаты я придумал, а вот  значки чёт не ищутся. :(
Или я криво вырезал картинку, а может сохранил не правильно в .bmp (Но делал через [spoiler]
Code: [Select]
GETSCREEN
SCREENSHOTEX(0,0, $_xmax,$_ymax, "Image_", 0)
HALT
[/spoiler]), или и впрямь она полупрозрачная, и от фона, цвет меняется и  сравнение не находит её, хз. 

Короче надо найти картинку,
кликнуть по ней,
скинуть координаты,
Проверить есть ли уже такая,
 и ждать следующую.

Пишу код такого типа

Code: [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)

//------------ Клик по значку --------------------
  LCLICK($_return1, $_return2)

//------------ Сброс картинки с координатами --------------------
getscreen(38,591, 92,601) 
screenshotex(38,591, 92,601,kard)   
//------------ End Сброс картинки с координатами --------------------

WAITMS(100)
END_IF
Всё правильно в коде ?

а потом надо сделать распознаватель координат (типа как капчу анализируют)

 

19
Использование / Re: Кликер в Пара Па
« on: March 09, 2016, 12:06:02 AM »
Пункт  "Есть картинка в зоне" не совсем понятен.
А если нет картинки вообще то что там?  Фон?  Однотонный?  Какого цвета?


Code: [Select]
GETSCREEN ([x1, y1, x2, y2])   //- делает снимок части экрана  x1, y1 верхняя левая точка,  x2, y2 нижняя правая точка

//--------------------------------------------------
// Проверка есть ли картинка
IF(PXL(10,10) <> xxxxxx) //Выбираем какой нибудь пиксел который перекрывают все картинки
                                        //Если цвет пиксела не равен цвету фона, то значит
// какая то картинка есть

//--------------------------------------------------
// Начинаем анализ что за картинка

//----------------------- Правая ? ---------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "right.bmp")
 
Действия
   
          END_IF
//----------------------- Левая ? ---------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "left.bmp")

Действия
       
  END_IF
//------------------------ В верх ? --------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "down.bmp")
 
Действия
 
         END_IF

//------------------------ В низ ? --------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "up.bmp")
   
Действия

         END_IF
//--------------------------------------------------
           END_IF

Код без комментов
[spoiler]
Code: [Select]
GETSCREEN ([x1, y1, x2, y2])
    IF(PXL(10,10) <> xxxxxx)
IF_PICTURE_IN (10,20, 300, 300, "right.bmp")
          Действия
             END_IF
IF_PICTURE_IN (10,20, 300, 300, "left.bmp")
          Действия
             END_IF   
IF_PICTURE_IN (10,20, 300, 300, "down.bmp")
         Действия
             END_IF
IF_PICTURE_IN (10,20, 300, 300, "up.bmp")
         Действия
            END_IF
                 END_IF
[/spoiler]

20
Приветствую.
Столкнулся с проблемой.
Есть карта, на ней такие значки.
Проблема заключается в том, что значки имеют прозрачный фон.
При наложении на карту, фон просвечивает и изображение изменяется.
Можно ли как нибудь решить эту проблему?
Вот скрин [spoiler=Открыть][/spoiler]
Оригинальные скриншоты в атаче.

21
Использование / Re: Кликер в Пара Па
« on: March 08, 2016, 10:55:03 PM »
Code: [Select]

getscreen

IF_PICTURE_IN (10,20, 300, 300, "left.bmp") // left.bmp картинка которую ищем
      DEFINE ($pixcolor, XXXXXXXX)   
          mysub()   // Вызов подпрограммы поиска пикселя
             END_IF
//--------------------------------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "right.bmp")
 DEFINE ($pixcolor, XXXXXXXX)
     mysub()   
          END_IF
//--------------------------------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "down.bmp")
 DEFINE ($pixcolor, XXXXXXXX) 
     mysub()   
          END_IF
//--------------------------------------------------------------------
IF_PICTURE_IN (10,20, 300, 300, "up.bmp")
   DEFINE ($pixcolor, XXXXXXXX)
     mysub()   
         END_IF
//--------------------------------------------------------------------

// ### Подпрограмма поиска пикселя ###

sub(mysub)
     getscreen
        if_pixel_in(760, 579, 795, 579, $pixcolor) // проверяем цвет пикселя
   move($_return1,$_return2) // устанавливаем курсор в позицию
    keydown(32)
     waitms(50)
       keyup(32)
else
waitms(50)
   END_IF
 
     end_sub

Что то тип такого наверное.

22
Спасиб.
Точно!
Как это я пропустил...

23
Предложение добавить возможность выполнять одни и те же действия для разных окон.
То есть чтоб скрипт был один, а окон к которым привязывается программа могло быть несколько.
Ну конечно заранее прописать в скрипте действующие  $_hwnd.

Чтоб можно было прописать в скрипте типа :
Code: [Select]
IF($_hwnd=XXXХ | $_hwnd=XXXX | $_hwnd=XXXX)
действия
END_IF
 

24
Общие вопросы / Re: Таймеры
« on: February 05, 2016, 10:32:54 PM »
Спасибо

25
Общие вопросы / Таймеры
« on: February 05, 2016, 09:17:36 PM »
Надо сделать четыре таймера для циклов.

10 минут, 15 минут, 3 часа, 6 часов.

Таймеры должны выполняться бесконечное число раз (в настройках проги выбрал)

Так правильно?  Или их как то надо вкладывать друг в дружку?
Надо что бы они выполнялись не зависимо друг от друга, бесконечно.

Code: [Select]
DEFINE($time1,$time2,$time3,$time4)
 
 //================ 10:00 =====================
 IF($time1 < $_time_t)
       
  действия 1

$time1 = $_time_t + 600
    END_IF
//==========================================

//================ 15:00 =====================
 IF($time2 < $_time_t)
       
  действия 2

$time2 = $_time_t + 9000
    END_IF
//==========================================

 //================ 03:00:00 =====================
 IF($time3 < $_time_t)
       
  действия 3

$time1 = $_time_t + 18000
    END_IF
//==========================================

 //================ 06:00:00 =====================
 IF($time4 < $_time_t)
       
  действия 4

$time1 = $_time_t + 36000
    END_IF
//==========================================



26
Тоже не работает :(
Может с SWF файлами есть какая особенность ?

27
лазил по форуму, что то нашёл.

   
Quote
Code: [Select]
$WM_LBUTTONDOWN = 0x0201 // Левая кнопка мыши нажата.
    $WM_LBUTTONUP = 0x0202 // Левая кнопка мыши отпущена.
    $MK_LBUTTON = 0x0001 // Левая кнопка мыши находится в нажатом состоянии.
    $WM_MOUSEMOVE = 0x0200  // Мышь передвинута.
    $x1 = 1238 // Координата по X начало
    $y1 = 103 // Координата по Y
    $x2 = 1238 // Координата по X конец
    $y2 = 446 // Координата по Y
     
    wait(1)
    postmessage($_HWND, $WM_LBUTTONDOWN, $MK_LBUTTON, $x1 + ($y1*65536))
    wait(1)
    postmessage($_HWND, $WM_MOUSEMOVE, $MK_LBUTTON, $x2 + ($y2*65536))
    wait(1)
    postmessage($_HWND, $WM_LBUTTONUP, $MK_LBUTTON, $x2 + ($y2*65536))

Кликермен  про это ты говорил?  ;)

28
Quote
Можно ли как то привязать клики к самой карте?
конечно можно.  не привязывайся к жестким координатам...
Например  карта у нас  1800x 1500    как привязать клик скажем к  1600x 1000
какие использовать для этого команды?
Если можно пример.

но  зажатие мыши  здесь работает по другому, в привязке. окну нужно посылать системные команды

Какие ?  Где почитать можно ?

29
Приветствую.
Такой вопрос.
Есть онлайн игра.
Карта больше чем размер окна в браузере.
Перемещаться можно зажимая левую кнопку мыши.
Пробовал сделать запись в кликере, получается  очень много такого: 
Code: [Select]
// RECORDED SCRIPT 03.02.2016
// BEGIN AT 15:35:00
waitms(1999)
move(555,126)
waitms(0)
  lDown(555,126)
waitms(6)
move(558,126)
waitms(14)
....

waitms(17)
move(589,135)
waitms(680)
  lUp(589,135)
waitms(379)
// deleted
waitms(7)
// deleted
waitms(282)
move(590,136)
waitms(66)
// deleted
// FINISH AT 15:28:32

Пробовал сделать через цикл  типа
Code: [Select]
DEFINE($a,100)
   lDown(530,100)
    FOR($a, $a <250)
         move(530,$a)
    END_CYC
lUp(589,135)

Но всеравно медлено. :(

Как можно решить эту проблему ?
 
И ещё несколько вопросов.

На карте есть сбор ресурсов.
Но если карту не двигать, координаты получаются  типа   500, - 75
Можно ли произвести клик если  координаты вне окна (отрицательны)?

И ещё вопрос.
Отсчёт координат идёт от окна.
Можно ли как то привязать клики к самой карте?
Например в начале сдвигаем карту в право и вниз, что бы получить   x=0  y=0 а потом уже от этого плясать?

И ещё.
Можно ли  программно  clickermann  привязывать  к нескольким окнам (например в другом браузере) ?
Например что б привязка была к активному в данный момент?

Pages: 1 [2]