Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: STD on February 10, 2017, 06:05:45 AM
-
Всем привет, начал пробовать писать кликера в браузерке.. вот не понять одного..
Как сделать так, что бы постоянно выполнялось сразу несколько действий одновременно, т.е надо что бы происходил клик в тоже время осуществлялся поиск картинок(3-6) и при поиске картинки естественно происходило условие.
Вот что начудил.
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(14,25)
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(858,741)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "3.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
GOTO (aaa)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
aaa: //
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
HALT
-
твой скрипт выполняется однократно из за HALT.
В кликере можно создавать потоки.
THREAD(t, 1) // код в потоке выполняется параллельно
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(14,25)
END_THREAD
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(858,741)
WAITMS(100)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "3.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
GOTO (aaa)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
WAITMS(100)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAITMS(100)
END_IF
aaa: //
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
HALT
-
Это мне перед каждым действием надо выставить THEARD ?
что значит t, 1
-
THREAD - Начало потока
t - имя потока (можно заменить на любое)
1 - начальное состояние, где 1 - означает рабочее, 0 - приостановленное
END_THREAD - Конец потока. Обязательно ПОСЛЕ действия.
-
Это мне перед каждым действием надо выставить THEARD ?
что значит t, 1
Справка для кого написана?
Поток t выполняет код твоих рандомных кликов раз в 14-25 секунд.
При этом в основном потоке прокручиваются твои IF_PICTURE_IN которые эти 14-25 секунд никак не тормозят.
-
thread(t, 1)
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
thread(z, 1)
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,4.bmp")
LCLICK(858,741)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
GOTO (aaa)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
END_THREAD
aaa: //
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
Походу что то не так понял.. Проблема идет в том, что процесс все ровно идет по очередности, и еще косяк у меня в том, что при включении, IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp") щелкает по картинке, даже если ее нету.
-
А нет вру, aaa: работает получается постоянно.. как сделать что бы оно работало только при goto(aaa)
-
Попробуй так:
thread(t, 1)
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
thread(z, 1)
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(858,741)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
END_THREAD
-
Основной поток ему добавь, а то так и оставит.
-
Это весь код?
thread(t, 1) //Это выполняется раз в 10-17 секунд
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
// А это крутится постоянно
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(858,741)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
-
Попробуй так:
thread(t, 1)
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
thread(z, 1)
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(858,741)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
END_THREAD
Да, это помогло, спасибо.. Теперь догнал.
-
Это весь код?
thread(t, 1) //Это выполняется раз в 10-17 секунд
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
// А это крутится постоянно
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(858,741)
END_IF
GETSCREEN
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK(39,418)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
Пока что да
-
Проверяй. Работает?
Зачем второй поток - thread(z, 1)
Если в конце нет команды HALT код будет повторяться циклично- это и есть поток.
-
Да все внорме, кроме одного..
thread(x, 1)
GETSCREEN // ждем 77c
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
END_THREAD
Он не остояв 77с начинает рандомно кликать опять, надо в этом скрипте остановить тот получается ?
-
Если найдена 3.bmp остановить поток? Или поставить на паузу?
Тогда читай справку :)
-
Проверяй. Работает?
Зачем второй поток - thread(z, 1)
Если в конце нет команды HALT код будет повторяться циклично- это и есть поток.
Решил проблемку простым способом, x, 1 удалил, ибо пока что без него можно..
Вопрос другой, в привязанном окне это будет работать? Лупой смотрел через гуугл и мазилу.. там не видно ничего(черный экран)
Браузерная flash
-
Да все внорме, кроме одного..
thread(x, 1)
GETSCREEN // ждем 77c
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK(1563,929)
WAIT(77)
END_IF
END_THREAD
Он не остояв 77с начинает рандомно кликать опять, надо в этом скрипте остановить тот получается ?
Откуда взялся thread(x, 1)???
-
В соседней теме за ПРИВЯЗКУ убивать начинают. :'(
-
В соседней теме за ПРИВЯЗКУ убивать начинают. :'(
;D Меня убивать не надо.. Попробую другие браузеры, не поможет буду без оставлять тыкера ток когда не нужен пк..
-
У меня в Хроме WIN7 лупа все видит, но я привязкой не пользуюсь.
Может аппаратное ускорение в настройках отключить нужно. ХЗ.
Ищи на форуме методы.
-
Кстати вот в чем прикол, когда у меня в скрипте только рандом нажатие в области, привязка работает, но стоит в код добавить поиск картинки и все..)) ни один браузер не поможет, откл ап\ускр тоже)
-
У флэша отключай аппаратное ускорение и всё увидит. ПКМ по флэшу там разберёшься.
-
У флэша отключай аппаратное ускорение и всё увидит. ПКМ по флэшу там разберёшься.
Проверил. У меня включено, и все равно видит.
-
В хромовском флеше или внешнем?
Может включено, но не работает.
-
В хромовском флеше или внешнем?
Может включено, но не работает.
В Хромовском.
Почему не работает? Какова причина?
-
У флэша отключай аппаратное ускорение и всё увидит. ПКМ по флэшу там разберёшься.
Win10, Chrome, Mozilla, EX выключал аппаратное ускорение, при привязанном окне просмотром лупы, черный экран.
-
win10 это отдельная тема. С привязкой там жопа ещё круглее, как я понял.
-
Такой вопрос ребя, когда ставишь кол повторов, что будет повторяться именно ? если в скрипте есть действия при появлении картинок
-
Такой вопрос ребя, когда ставишь кол повторов, что будет повторяться именно ? если в скрипте есть действия при появлении картинок
thread(t, 1) // рандом клик
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
thread(z, 1)
GETSCREEN //
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"1.bmp")
LCLICK(39,418)
WAIT(1)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
FOR ($i, $i<30)
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK($_return1, $_return2)
WAIT(5)
LCLICK(858,741)
WAIT (3)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
GETSCREEN //
IF_PICTURE_IN(5,3, 1675,909, "3.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
END_THREAD
FOR ($i, $i<30) - это что бы скрипт ниже выполнялся 30 раз, верно ?
-
Во первых
FOR ($i=0, $i<30)
И это начало цикла
END_CYC
Это конец цикла
Всё что между этих строк повторится 30 раз.
-
Во первых
FOR ($i=0, $i<30)
И это начало цикла
END_CYC
Это конец цикла
Всё что между этих строк повторится 30 раз.
Спасибо большое =)
-
Во первых
FOR ($i=0, $i<30)
И это начало цикла
END_CYC
Это конец цикла
Всё что между этих строк повторится 30 раз.
Спасибо большое =)
Читайте справку.
-
Можно вопрос почему кликер долго выполняет действия? Задержки стоят максимум WAIT (1)
Он долго ищет картинку..Картинка есть, он на нее жмет только через 1-2-3 минуты..
-
Можно вопрос почему кликер долго выполняет действия? Задержки стоят максимум WAIT (1)
Он долго ищет картинку..Картинка есть, он на нее жмет только через 1-2-3 минуты..
Может опять забыл END_... поставить. Не видя общей картины трудно сказать. Если скрипт крутится по кругу, то возможно на первом проходе не находит картинку.
-
WAIT(RND(10,17)
или скобочку где-то закрыть.
выкладывай полный текст в тег code=clickermann и укажи размер в пикселях образцов для поиска, может они огромные
угу
-
Чувствую придется
WHILE
разжевывать.
-
WAIT(RND(10,17)
или скобочку где-то закрыть.
выкладывай полный текст в тег code=clickermann и укажи размер в пикселях образцов для поиска, может они огромные
угу
Картинки 36х25 пикс
Код:
thread(t, 1) //
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
thread(S, 1)
GETSCREEN //
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
END_THREAD
thread(z, 1)
GETSCREEN //
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"3.bmp")
LCLICK($_return1, $_return2)
END_IF
FOR ($i=0,$i<30)
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
LCLICK($_return1, $_return2)
WAIT(5)
LCLICK(858,741)
WAIT (3)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
END_CYC
GETSCREEN //
IF_PICTURE_IN(5,3, 1675,909, "1.bmp")
LCLICK($_return1, $_return2)
WAIT (5)
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
WAIT(1)
LCLICK(522,218)
END_IF
END_THREAD
-
Чувствую придется
WHILE
разжевывать.
нефига, ставлю на то, что заготовки картинок мегаогромные, отсюда и столь длительный поиск. :D
видимо не угадал
Картинки 36х25 пикс
хотя всеравно великовата, но 2-4 мин на поиск?
следует указать область сканирования во всех IF_PICTURE_IN, и желательно в GETSCREEN .
если это весь код, и ничего больше нет, то поставь wait(1) в самой первой строе, в самом верху, вне потока, и почуешь разницу.
-
Ага.. Где косяк не понимаю.. и еще, при нажатии клавиш остановить скрипт, он останавливается так же с задержкой в минуту..
-
и всеже, постарайся сделать заготовки поменьше, 10х10 или 15х15, этого всегда достаточно. и воспользуйся советами выше.
особенно
если это весь код, и ничего больше нет, то поставь wait(1) в самой первой строе, в самом верху, вне потока, и почуешь разницу.
wait(1)
thread(t, 1) //
LCLICK(RND(1480,1653), RND(877,981))
//...................
//...................
//...................
-
и всеже, постарайся сделать заготовки поменьше, 10х10 или 15х15, этого всегда достаточно. и воспользуйся советами выше.
особенно
если это весь код, и ничего больше нет, то поставь wait(1) в самой первой строе, в самом верху, вне потока, и почуешь разницу.
getscreen
scanpicture($var, 0,0, 1366,768, "4.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($_return1, $_return2)
end_cyc
При поиске картинки он будет клацать по ней ?
-
будет, но scanpicture предназначен чтобы найти все картинки, которые есть на экране. если искомая картинка на экране может появиться в единственном экземпляре, то и scanpicture тебе не понадобится.
-
будет, но scanpicture предназначен чтобы найти все картинки, которые есть на экране. если искомая картинка на экране может появиться в единственном экземпляре, то и scanpicture тебе не понадобится.
Неа, не клацает..
-
верный код из шаблона
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "picture.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
LCLICK($X, $Y) // Клик
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
ну или может быть и твой
getscreen
scanpicture($var, 0,0, 1366,768, "4.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )// тут твоя ошибка была
waitms(200)
end_cyc
-
верный код из шаблона
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "picture.bmp", -1, 100)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
LCLICK($X, $Y) // Клик
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)
ну или может быть и твой
getscreen
scanpicture($var, 0,0, 1366,768, "4.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )// тут твоя ошибка была
waitms(200)
end_cyc
Да, работает, спасибо!
Такой вопрос, на другие картинки, такой же код писать ? включая getscreen
scanpicture
-
:-\ :-\ :-\ нууууу, да. ... так у тебя много экземпляров картинок на экране? если да, то SCANPICTURE естественно тебе поможет, если же нет, то пользуйся темже чем и ранее, IF_PICTURE_IN
только не забывай, в каждом потоке не изолированы переменные, такчто в каждом потоке нужно воодить свои названия переменных и массивов - $var, $x, $y ... . в каждом потоке думай свои названия этих переменных !!!!!
-
STD, ты понимаешь что каждый твой THREAD - это задача, выполняемая параллельно с другими твоими THREAD?
разбираем по частям что написалось (какое-то странное дитя франкенштейна, всё насквозь поточное)
thread(t, 1) //
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
END_THREAD
этот поток постоянно кликает произвольную точку в области x1480 y877 - x1653 y981 с паузой между кликами от 10 до 17 секунд.
только скобку у WAIT закрой
thread(S, 1)
GETSCREEN //
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"4.bmp")
LCLICK(35,419)
WAIT(1)
LCLICK(238,419)
WAIT(1)
LCLICK(205, 501)
END_IF
END_THREAD
этот поток постоянно берёт весь экран в буфер и ищет в нём 4.bmp
если нашёл, делает два клика с паузой секунда
если не нашёл, то мгновенно без паузы повторяет свою работу
здесь нужно для разгрузки добавить паузу в случае если картинка не найдена
to be continued
ща третий посмотрю...
стоп. вы уже начали другой скрипт писать, значит не буду досматривать потоки)
-
Я походу ваще дико накосячил.. но работает : о
Исходный код.
//
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17)
getscreen
scanpicture($var, 0,0, 1366,768, "1.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
lclick(258, 421)
waitms(500)
lclick(232, 511)
waitms(200)
end_cyc
getscreen
scanpicture($var, 0,0, 1366,768, "2.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
end_cyc
getscreen
scanpicture($var, 0,0, 1366,768, "3.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
end_cyc
getscreen
scanpicture($var, 0,0, 1366,768, "4.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(1500)
LCLICK(858,741)
waitms(200)
end_cyc
-
так тебе потоки означально не требовались :D, че ты в них полез?
а i0 сразу как подметил :D , я даже не обратил внимание про те случаи если картинка не найдется :D , просто потоками пользовался всего пару раз :D.
а в WAIT(RND(10,17) так и не поставил скобку >:(
а вообще, визуально последний код верный, не помешали бы небольшие задержки перед каждым getscreen, но и без этого норм.
-
так тебе потоки означально не требовались :D, че ты в них полез?
а i0 сразу как подметил :D , я даже не обратил внимание про те случаи если картинка не найдется :D , просто потоками пользовался всего пару раз :D.
а в WAIT(RND(10,17) так и не поставил скобку >:(
а вообще, визуально последний код верный, не помешали бы небольшие задержки перед каждым getscreen, но и без этого норм.
Поясни как мне задержку поставить между поиском картинок, пжл-ста..
if_time(00, 03, 00)
getscreen
end_time
scanpicture($var, 0,0, 1673,1005, "3.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
end_cyc
Это задержка в 3 минуты, верно ?
-
WAIT (delay) - приостанавливает выполнение сценария на неск. секунд
WAITMS (delay) - приостанавливает выполнение сценария на неск. миллисекунд
из справки
ты же между кликами задержку ставишь? так и в других нужных местах также можешь поставить.
3 минуты это будет wait(180), тоесть 180 сек.
:-\ :-\ :-\ откуда ты вот это придумал???????????
if_time(00, 03, 00)
getscreen
end_time
-
WAIT (delay) - приостанавливает выполнение сценария на неск. секунд
WAITMS (delay) - приостанавливает выполнение сценария на неск. миллисекунд
из справки
ты же между кликами задержку ставишь? так и в других нужных местах также можешь поставить.
3 минуты это будет wait(180), тоесть 180 сек.
:-\ :-\ :-\ откуда ты вот это придумал???????????
if_time(00, 03, 00)
getscreen
end_time
thread(t, 1) // рандом клик
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17))
END_THREAD
getscreen
scanpicture($var, 0,0, 1673,1005, "1.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
lclick(258, 421)
waitms(500)
lclick(232, 511)
waitms(200)
end_cyc
wait(180)
getscreen
scanpicture($var, 0,0, 1673,1005, "2.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
end_cyc
wait(180)
getscreen
scanpicture($var, 0,0, 1673,1005, "3.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
end_cyc
wait(180)
getscreen
scanpicture($var, 0,0, 1673,1005, "4.bmp")
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(1500)
LCLICK(858,741)
waitms(200)
end_cyc
3 минуты, он ищет первую картинку, 3 минуты он ищет вторую, и через 9 минут получается будет искать третью ?
Или каждую через 3 минуты..
-
так ты определись, ты ищешь картинки, или картинку, у тебя на экране 1.bmp одна, или их много? ты бездумно перебираешь варианты.
thread(t, 1) // рандом клик , не трогаем его
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17))
END_THREAD
getscreen
scanpicture($var, 0,0, 1673,1005, "1.bmp") //сразу начинаем искать картинкИ 1.bmp
while (arrsize($var) > 0) //и кликаем по всем найденым картинкАМ 1.bmp
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
lclick(258, 421)
waitms(500)
lclick(232, 511)
waitms(200)
end_cyc
wait(180) //после того как понажимали по этим 1.bmp, ждем 3 минуты
getscreen
scanpicture($var, 0,0, 1673,1005, "2.bmp") //после трех минут ожидания, начинаем искать картинкИ 2.bmp
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y ) //жмякаим по ним
waitms(200)
end_cyc
wait(180) //после того как понажимали по этим 2.bmp, ждем 3 минуты
getscreen
scanpicture($var, 0,0, 1673,1005, "3.bmp") //после трех минут ожидания, начинаем искать картинкИ 3.bmp
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y ) //жмякаим по ним
waitms(200)
end_cyc
wait(180) //после того как понажимали по этим 3.bmp, ждем 3 минуты
getscreen
scanpicture($var, 0,0, 1673,1005, "4.bmp") //после трех минут ожидания, начинаем искать картинкИ 4.bmp
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y ) //жмякаим по ним
waitms(1500)
LCLICK(858,741)
waitms(200)
end_cyc
//после того, как понажимали по картинкам 4.bmp, СРАЗУЖЕ возвращаемся в начало скрипта
//и начинаем искать картинки 1.bmp
-
так ты определись, ты ищешь картинки, или картинку, у тебя на экране 1.bmp одна, или их много? ты бездумно перебираешь варианты.
thread(t, 1) // рандом клик , не трогаем его
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17))
END_THREAD
getscreen
scanpicture($var, 0,0, 1673,1005, "1.bmp") //сразу начинаем искать картинкИ 1.bmp
while (arrsize($var) > 0) //и кликаем по всем найденым картинкАМ 1.bmp
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y )
waitms(200)
lclick(258, 421)
waitms(500)
lclick(232, 511)
waitms(200)
end_cyc
wait(180) //после того как понажимали по этим 1.bmp, ждем 3 минуты
getscreen
scanpicture($var, 0,0, 1673,1005, "2.bmp") //после трех минут ожидания, начинаем искать картинкИ 2.bmp
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y ) //жмякаим по ним
waitms(200)
end_cyc
wait(180) //после того как понажимали по этим 2.bmp, ждем 3 минуты
getscreen
scanpicture($var, 0,0, 1673,1005, "3.bmp") //после трех минут ожидания, начинаем искать картинкИ 3.bmp
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y ) //жмякаим по ним
waitms(200)
end_cyc
wait(180) //после того как понажимали по этим 3.bmp, ждем 3 минуты
getscreen
scanpicture($var, 0,0, 1673,1005, "4.bmp") //после трех минут ожидания, начинаем искать картинкИ 4.bmp
while (arrsize($var) > 0)
$y = arrpop($var)
$x = arrpop($var)
lclick($x, $y ) //жмякаим по ним
waitms(1500)
LCLICK(858,741)
waitms(200)
end_cyc
//после того, как понажимали по картинкам 4.bmp, СРАЗУЖЕ возвращаемся в начало скрипта
//и начинаем искать картинки 1.bmp
Картинки, их 4, каждая может появится в любой момент, одновременно всех не может быть.
-
:-\ :-\ :-\ :-\ :-\
вот тебе готовый скрипт, попробуй
он будет тупо мониторить на появление одной из четырех картинок, и если найдет какуюто из них, кликнет по ней, и по необходимости еще сделаейт пару нужных кликов.
плюс с этим, рандомный клик по области каждые 10-17сек, работают в отдельном потоке.
thread(t, 1)
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17))
END_THREAD
waitms(100)
GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "1.bmp")
LCLICK($_return1, $_return2)
waitms(200)
lclick(258, 421)
waitms(500)
lclick(232, 511)
END_IF
waitms(100)
GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "2.bmp")
LCLICK($_return1, $_return2)
END_IF
waitms(100)
GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "3.bmp")
LCLICK($_return1, $_return2)
END_IF
waitms(100)
GETSCREEN
IF_PICTURE_IN (0,0, 1673,1005, "4.bmp")
LCLICK($_return1, $_return2)
waitms(1500)
LCLICK(858,741)
END_IF
-
Странно трансформируется скрипт. Раньше было FOR ($i=0,$i<30) на 2.bmp. Теперь уже не надо. Требую четкого описания поставленной задачи. Пошагово.
В какой последовательности появляются картинки? Точно появляются, или "может да а может нет"? Может ли быть одновременно 2-3 картинки, или только одна? Я вот думаю что всё очень просто, а мы кнопки зря мусолим.
-
Картинки, их 4, каждая может появится в любой момент, одновременно всех не может быть.
Рыбу ловишь?
-
Вот еще вариант. Тут как я "хотел" есть - WHILE, и как ты хотел есть - FOR.
Пробуй.
THREAD(t, 1)
LCLICK(RND(1480,1653), RND(877,981))
WAIT(RND(10,17))
END_THREAD
$check=0
WHILE($check=0)
GETSCREEN
FOR($a=1,$a<5)
IF_PICTURE_IN (0,0, 1673,1005,STRCONCAT($a,".bmp"))
LCLICK($_return1,$_return2)
WAITMS(100)
$check=1
IF($a=1)
LCLICK(258, 421)
WAITMS(500)
LCLICK(232, 511)
WAITMS(200)
END_IF
IF($a=4)
WAITMS(1400)
LCLICK(858,741)
WAITMS(200)
END_IF
$a=9999
END_IF
END_CYC
END_CYC