Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: htc8bit on February 21, 2016, 08:48:40 AM

Title: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 08:48:40 AM
Доброго времени суток всем
нужна помощь экспертов

написал скрипт для одной онлайн игры, но почему-то он не работает (частично)

Code: [Select]
// область поиска
$x_1 = 0
$y_1 = 63
$x_2 = 1358
$y_2 = 731

// область мини карты
$x_mini_1 = 1113
$y_mini_1 = 266
$x_mini_2 = 1287
$y_mini_2 = 373


start:
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) // рандомный клик по миникарте

//Клик по красной точке на мини карте
$var=0
FOR($var, $var < 10, 1)
WAITMS(100)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2, 255)
LCLICK($_return1,$_return2)
WAIT(2)
END_IF

//Клик по мобу
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,327746)
DBLCLICK($_return1+1,$_return2-5)
WAITMS(100)
KEYPRESS(#CTRL)
WAIT(10)
END_IF
END_CYC
GOTO(start)

но проблема в том, что он нажимает на заданный пиксель только если он стоит на месте, если он находится в движении, то ничего не происходит
нужна помощь! Как заставить нажимать кликер на указанный пиксель, который постоянно меняет свою координату?
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 10:46:35 AM
пробовал такой вариант, такая же басня
Title: Re: клик по двигающемуся объекту
Post by: Кликермен on February 21, 2016, 11:21:15 AM
колормод нужно делать после гетскрина) а зачем тебе кликать ф после клика на моба?
Если что-то меняет координату, и не получается нажать - зацикли, то есть пока не нажмет, чтоб не переходил к следующему шагу. при клике что-то меняется? ставь акцент на это.  проверяй, что меняется  и кликай еще.  а еще в режиме привязки клики работают по другому) а то мне кажется, ты используешь привязку, супер защищенный клиент впридачу..)
Code: (clickermann) [Select]
// область поиска.
$x_1 = 0
$y_1 = 63
$x_2 = 1358
$y_2 = 731

// область мини карты
$x_mini_1 = 1113
$y_mini_1 = 266
$x_mini_2 = 1287
$y_mini_2 = 373


While($bi2=0)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) // рандомный клик по миникарте

//Клик по красной точке на мини карте
FOR($var=0, $var < 10)
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2, 255)
LCLICK($_return1,$_return2)
WAIT(2)
END_IF

//Клик по мобу
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,327746)
DBLCLICK($_return1+1,$_return2-5)
WAITMS(100)
KEYPRESS(#CTRL)
WAIT(10)
END_IF
END_CYC
END_CYC
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 11:31:08 AM
а как зациклить?
я просто нуп
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 11:44:27 AM
колормод нужно делать после гетскрина) а зачем тебе кликать ф после клика на моба?
Если что-то меняет координату, и не получается нажать - зацикли, то есть пока не нажмет, чтоб не переходил к следующему шагу. при клике что-то меняется? ставь акцент на это.  проверяй, что меняется  и кликай еще.  а еще в режиме привязки клики работают по другому) а то мне кажется, ты используешь привязку, супер защищенный клиент впридачу..)
Code: (clickermann) [Select]
// область поиска.
$x_1 = 0
$y_1 = 63
$x_2 = 1358
$y_2 = 731

// область мини карты
$x_mini_1 = 1113
$y_mini_1 = 266
$x_mini_2 = 1287
$y_mini_2 = 373


While($bi2=0)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) // рандомный клик по миникарте

//Клик по красной точке на мини карте
FOR($var=0, $var < 10)
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2, 255)
LCLICK($_return1,$_return2)
WAIT(2)
END_IF

//Клик по мобу
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,327746)
DBLCLICK($_return1+1,$_return2-5)
WAITMS(100)
KEYPRESS(#CTRL)
WAIT(10)
END_IF
END_CYC
END_CYC

что то вообще не работает
Title: Re: клик по двигающемуся объекту
Post by: Кликермен on February 21, 2016, 11:52:20 AM
цвет настрой. у тебя колормод лишним был
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 12:30:03 PM
цвет настрой. у тебя колормод лишним был

Теперь другой вопрос

если курсор попадает на нужный пиксель, то рядом появляется ещё один определённый пиксель (грубо говоря таргет)

Code: [Select]
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703)
DBLCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
KEYPRESS(#CTRL)
WAIT(7)
END_IF
END_CYC
GOTO(start)

просто кликер видя определённый пиксель нажимает, но (т.к пиксель перемещается) не всегда попадает куда нужно  и ждёт свои 7 секунд чтобы продолжить действие.

как мне сделать так, чтоб если курсор не попал сразу куда нужно, то он не ждал 7 секунд, а нажимал сразу ещё пока не появится определённого цвета пиксель (это будет значить что он попал (взял в таргет) цель) , а уж после этого продолжал сценарий?
так?


Code: [Select]
a:
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703)
DBLCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(200)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
ELSE
Goto(a)
KEYPRESS(#CTRL)
WAIT(7)
END_IF
END_CYC
GOTO(start)
просто он почему-то если определяет что моб в таргете, не ждёт 7 сек а сразу ещё раз на него жмёт и опять включает атаку
Title: Re: клик по двигающемуся объекту
Post by: Кликермен on February 21, 2016, 12:46:26 PM
сверху справа есть кнопка код=кликермен.

Code: (clickermann) [Select]
// не используйте метки, иначе потом запутаетесь с трех соснах
//Клик по мобу
while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703)
DBLCLICK($_return1+1,$_return2-5)
WAITMS(100)
KEYPRESS(#CTRL)
//проверяем, появился ли таргет
GETSCREEN($x_1,$y_1, $x_2,$y_2)
COLORMODE(6,$x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,66666666666)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 01:20:50 PM
В общем какая то фигня получается

включаю кликер,начинает вроде бы действия выполнять, 1 раз выполняет и потом почему то в центр экрана нажимает и всё, стоит
хотя в сценарии такого действия нет, и пикселя такого тоже нет, а он туда жмёт постоянно пока не отключу кликер
P.s игра браузерная, без привязки к окну работает

при условии что фон чёрный, а все пиксели белого цвета


останавливается, хотя должен рандомно нажимать в заданной области, а он тупо стоит и жмёт на чёрный фон
Title: Re: клик по двигающемуся объекту
Post by: Кликермен on February 21, 2016, 01:27:10 PM
В общем какая то фигня получается

включаю кликер,начинает вроде бы действия выполнять, 1 раз выполняет и потом почему то в центр экрана нажимает и всё, стоит
хотя в сценарии такого действия нет, и пикселя такого тоже нет, а он туда жмёт постоянно пока не отключу кликер
P.s игра браузерная, без привязки к окну работает

Мы не экстрасенсы) скинь весь код, что у тебя получилось. нюансов много, может цвет не находит, забыл  цикл закрыть, ит.д. и т.п.
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 01:34:39 PM
В общем какая то фигня получается

включаю кликер,начинает вроде бы действия выполнять, 1 раз выполняет и потом почему то в центр экрана нажимает и всё, стоит
хотя в сценарии такого действия нет, и пикселя такого тоже нет, а он туда жмёт постоянно пока не отключу кликер
P.s игра браузерная, без привязки к окну работает

Мы не экстрасенсы) скинь весь код, что у тебя получилось. нюансов много, может цвет не находит, забыл  цикл закрыть, ит.д. и т.п.


Code: [Select]
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731

// îáëàñòü ìèíè êàðòû
$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372

 
//Êëèê ïî êðàñíîé òî÷êå íà ìèíè êàðòå
start:
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) // ðàíäîìíûé êëèê ïî ìèíèêàðòå

//Êëèê ïî êðàñíîé òî÷êå íà ìèíè êàðòå
$var=0
FOR($var, $var < 10, 1)
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF


//Êëèê ïî ìîáó
while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703,11514286,6313289)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(500)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC
GOTO(start)
Title: Re: клик по двигающемуся объекту
Post by: Кликермен on February 21, 2016, 01:46:18 PM
переход по метке был вне цикла у тебя) да и вообще, зачем тебе готт, если есть цикл var?
Code: (clickermann) [Select]
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731

$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372

 

FOR($var=0, $var < 10)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) //

WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF

while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703,11514286,6313289)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(500)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 01:54:39 PM
переход по метке был вне цикла у тебя) да и вообще, зачем тебе готт, если есть цикл var?
Code: (clickermann) [Select]
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731

$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372

 

FOR($var=0, $var < 10)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) //

WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF

while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,16644821,15785662,14200987,4141611,11311246,2891798,28117,6704703,11514286,6313289)
LCLICK($_return1 + 1,$_return2-5)
WAITMS(500)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC

 :-[ в каком цикле разобрался тот и поставил

мне нужно чтоб он без перебоя выполнял эти действия поэтому поставил гото чтоб действие повторить

я вставил то что ты скинул он начал рандомно нажимать по чёрному фону
Title: Re: клик по двигающемуся объекту
Post by: Кликермен on February 21, 2016, 02:16:57 PM
в какой момент? код верен. работает 10 раз
1.кликаем на красный цвет в карте(надеюсь красный цвет не двигается)
2.  жмем на моба
3  проверяем появился ли таргет
4. если не появился, возвращаемся в пункт 2
5. если появился возвращаемся в пункт 1.
Вот такой вот принцип.  никаких кликов по черным пятнам нет. возможно долго карта прогружается, проверь) и чтобы было проще проверять где ломается - вставь принты(print("проверка 1, 2, 3...")),  с ними проще, когда нет  режима отладки построчной. когда чет сломается,  можно увидеть по принту,
 в чем глюк
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 02:35:32 PM
в какой момент? код верен. работает 10 раз
1.кликаем на красный цвет в карте(надеюсь красный цвет не двигается)
2.  жмем на моба
3  проверяем появился ли таргет
4. если не появился, возвращаемся в пункт 2
5. если появился возвращаемся в пункт 1.
Вот такой вот принцип.  никаких кликов по черным пятнам нет. возможно долго карта прогружается, проверь) и чтобы было проще проверять где ломается - вставь принты(print("проверка 1, 2, 3...")),  с ними проще, когда нет  режима отладки построчной. когда чет сломается,  можно увидеть по принту,
 в чем глюк

Суть скрипта в том, что за "красными точками" на миникарте кликер должен "Бегать
т.е если на миникарте появится красная точка, то кликер будет постоянно нажимать на неё "лететь к ней" когда корабль долетает до неё  Пиксель (моб), который нужно взять в таргет появится в основном игровом окне
Кликер должен его увидеть и перестать "бегать за красной точкой на миникарте" а начать нажимать на пиксель, который его интересует. Когда моб в таргете, вокруг него появляется красный круг (на скриншоте красный, но вообще оранжевый)
после того как этот круг появился он должен нажать Ctrl, а если круга нет, то должен нажать на него ещё раз и так пока круг не появится.
после того как интересующие кликера пиксели пропадут из игрового окна "из зоны поиска"
он должен опять начать бегать за красными точками на миникарте, которые сами по себе тоже двигаются.



(http://i.imgur.com/Eh2oNCV.png)
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 05:53:26 PM
в том то и дело, что выполняется действие 1 раз и после чего кликер стоит а не продолжает нажимать на красные точки на миникарте
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 21, 2016, 10:54:20 PM
Quote
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731
 
$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372
 
 
 
FOR($var=0, $var < 10)
$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry) //
 
WAITMS(100)
GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
LCLICK($_return1,$_return2)
WAIT(1)
END_IF

 
while($targ=0)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,720,961,253,729)
LCLICK($_return1+2,$_return2-10)
WAITMS(100)
DBLCLICK($_return1+2,$_return2-10)
WAITMS(100)
GETSCREEN($x_1,$y_1, $x_2,$y_2)
IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
KEYPRESS(#CTRL)
WAIT(7)
$targ=1
END_IF
END_IF
END_CYC
$targ=0
END_CYC

такой сценарий работает хорошо, но
он выполняет его 1 раз
как мне сделать, чтобы после выполнения он повторял сценарий с самого начала?
Title: Re: клик по двигающемуся объекту
Post by: Oraven on February 22, 2016, 07:28:47 AM
Версия кликера последняя? В скрипте нет команды HALT которая могла бы его остановить, а выполнение скрипта в кликере по умолчанию бесконечное.

Code: (clickermann) [Select]
$x_1 = 5
$y_1 = 63
$x_2 = 1358
$y_2 = 731

$x_mini_1 = 1115
$y_mini_1 = 266
$x_mini_2 = 1286
$y_mini_2 = 372

$rx = RND($x_mini_1,$x_mini_2)
$ry = RND($y_mini_1,$y_mini_2)
LCLICK($rx,$ry)
WAITMS(100)

GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
   LCLICK($_return1,$_return2)
   WAIT(1)
END_IF

$targ=0
while($targ=0)
   GETSCREEN($x_1,$y_1, $x_2,$y_2)
   IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,720,961,253,729)
      LCLICK($_return1+2,$_return2-10)
      WAITMS(100)
      DBLCLICK($_return1+2,$_return2-10)
      WAITMS(100)
      GETSCREEN($x_1,$y_1, $x_2,$y_2)
      IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
         KEYPRESS(#CTRL)
         WAIT(7)
         $targ=1
      END_IF
   ELSE
      WAITMS(40)
   END_IF
END_CYC

Ну как вариант, ты не стер скрипт по умолчанию который появляется при запуске кликера  ;D и просто вставил код туда
Code: (clickermann) [Select]
// New Script
// Author: Anonymous
// Version: 1.0 (22.02.2016)

#name "New Script"

// begin your script here

print("Hello, world!")



halt // эта команда останавливает выполнение
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 22, 2016, 07:55:22 AM
версия 4.11
сценарий чистый, без каких либо доп строк
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 22, 2016, 08:12:34 AM
Я кажется выяснил когда он стоит, а когда продолжает работать

он делает рандомный клик по миникарте, по красной точке
если по прилёту на место назначение он находит пиксель выполняет весь сценарий до конца, то он летит к следующей точке
а если не находит нужный пиксель и не выполняет сценарий, то он тупо стоит и ищет его

соответственно если он 1 раз выполнил сценарий, прилетел к след точке и там пиксель не нашёл, то тоже до посинения будет стоять

как это исправить ?

мне нужно, чтоб если пиксель не найден он продолжал выполнять сценарий рандомно нажимая на миникарте

Title: Re: клик по двигающемуся объекту
Post by: Oraven on February 22, 2016, 01:57:41 PM
Нужно просто добавить таймер вместо флага. И кстати оптимизировать запихнув код в подпрограмму а ввызове указывать координаты областей

Code: (clickermann) [Select]
SUB(prog, $x_1,$y_1,$x_2,$y_2, $x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
   LCLICK(RND($x_mini_1,$x_mini_2),RND($y_mini_1,$y_mini_2))
   WAITMS(100)
   
   GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
   IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
      LCLICK($_return1,$_return2)
      WAIT(1)
   END_IF
   
   $time = $_time_t + 60 // таймер на 60 секунд
   WHILE($time > $_time_t)
      GETSCREEN($x_1,$y_1, $x_2,$y_2)
      IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,720,961,253,729)
         LCLICK($_return1+2,$_return2-10)
         WAITMS(100)
         DBLCLICK($_return1+2,$_return2-10)
         WAITMS(100)
         GETSCREEN($x_1,$y_1, $x_2,$y_2)
         IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
            KEYPRESS(#CTRL)
            WAIT(7)
            $time = 0 // прерываем таймер, выходим из цикла
         END_IF
      ELSE
         WAITMS(40)
      END_IF
   END_CYC
END_SUB

// Первые 4 числа область игры, последние 4 числа область мини карты
prog(5,63, 1358,731, 1115,266, 1286,372)
Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 23, 2016, 04:52:00 PM
Нужно просто добавить таймер вместо флага. И кстати оптимизировать запихнув код в подпрограмму а ввызове указывать координаты областей

Code: (clickermann) [Select]
SUB(prog, $x_1,$y_1,$x_2,$y_2, $x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
   LCLICK(RND($x_mini_1,$x_mini_2),RND($y_mini_1,$y_mini_2))
   WAITMS(100)
   
   GETSCREEN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2)
   IF_PIXEL_IN($x_mini_1,$y_mini_1,$x_mini_2,$y_mini_2,255)
      LCLICK($_return1,$_return2)
      WAIT(1)
   END_IF
   
   $time = $_time_t + 60 // таймер на 60 секунд
   WHILE($time > $_time_t)
      GETSCREEN($x_1,$y_1, $x_2,$y_2)
      IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,720,961,253,729)
         LCLICK($_return1+2,$_return2-10)
         WAITMS(100)
         DBLCLICK($_return1+2,$_return2-10)
         WAITMS(100)
         GETSCREEN($x_1,$y_1, $x_2,$y_2)
         IF_PIXEL_IN($x_1,$y_1, $x_2,$y_2,12205,11168,12982)
            KEYPRESS(#CTRL)
            WAIT(7)
            $time = 0 // прерываем таймер, выходим из цикла
         END_IF
      ELSE
         WAITMS(40)
      END_IF
   END_CYC
END_SUB

// Первые 4 числа область игры, последние 4 числа область мини карты
prog(5,63, 1358,731, 1115,266, 1286,372)

Спасибо большое!
Правда есть ещё вопрос) когда я изменил цифру в таймере с 60 сек на 3 сек
он начал клацать в красную точку + ещё в 1 рандомное место на миникарте

Title: Re: клик по двигающемуся объекту
Post by: htc8bit on February 23, 2016, 04:58:25 PM
а ещё он продолжает бегать за точками, хотя ещё не всех пикселей убил)
как сделать чтоб он сначала проверил, что такого пикселя больше нет на карте - продолжал бегать за точками