Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Зануда on May 26, 2017, 05:44:14 PM
-
суть в том что есть одна картинка и в одном окне она 10 раз попадает как сделать так чтоб кликер запоминал куда уже нажимал а потом как все 10 раз сделал добавляеться клик по коринате и то что запомнил удаляеться и так дальше надеюсь поймете чего хочу :D
-
С трудом. Но возможно тебе нужна функция 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)
-
а можно кометраи поставить к каждой строке ? :o
а то там для меня знакомого ничего нет по максимуму расписать что где мне просто нужно по страницы ходить в гости вот нз как сделать чтоб он не просто тыкал по первой в гости картинки и всегда по ней а первый раз тыкнул по ней запомнил следующий уже раз когда ищет в гости то то что уже нажимал игнорит и потом если 10 раз уже выполнил то новая страница а там кнопки в тех же кординатах тоесть нужно сбросить и 10 наращивать и о5 клик новая страница я думал если дадите пример сам росберусь как но не тут то бьло ничего не понял что это за команды :'(
-
В массиве $ARR_SCAN содержатся координаты всех найденных картинок.
например
$ARR_SCAN[0] // 1ая координата X
$ARR_SCAN[1] // Y
$ARR_SCAN[2] // 2ая координата X
$ARR_SCAN[3] // Y
$ARR_NUM = 0 // это счетчик индексов
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN)) // цикл работает если счетчик меньше размера массива
$X = $ARR_SCAN [$ARR_NUM] // присваиваем координату X в переменную
INC($ARR_NUM,1) // наращиваем индекс
$Y = $ARR_SCAN [$ARR_NUM] // тоже для Y
INC($ARR_NUM,1) // наращиваем индекс
LCLICK($X, $Y) // Клик
WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN) // удаляем массив
-
я все равно какой то тупой что ли я наверное уже всем надоел но извините но до меня не доходит :'(
подробно опишу что хочу мож кто слепит очень на это надеюсь :)
SUB(рейтинг)
GETSCREEN (634,73, 715,173)
IF_PICTURE_IN (634,73, 715,173, "рейтинг.bmp", -1, 70)
LOGWRITE ("не тот лвл или счетчик")
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
$hranitili = $_time_t + 6
WHILE($hranitili > $_time_t)
GETSCREEN (396,83, 559,165)
IF_PICTURE_IN (396,83, 559,165, "хранители.bmp", -1, 80)
$hranitili = 0
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(500,999))
$gosti = $_time_t + 10
WHILE($gosti > $_time_t)
GETSCREEN (396,83, 559,165)
LCLICK(856,544) // 4141085
IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80) // вот этот клик запоминать нужно а когда уже 10 сделано то добавить перед тем как искать LCLICK(855,542) и сбросить первых 10 потом когда дошло до 10 с LCLICK(855,542) перед тем как искать в гости то добавлять уже 2 раза LCLICK(855,542) а когда уже и 2 раза дошло то 3 раза клликать а потом искать и так до 10-ти
$gosti = 0
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(1700,2399))
ELSE
WAITMS(5)
END_IF
END_CYC
END_IF
ELSE
WAITMS(5)
END_IF
END_CYC
END_IF
END_SUB
-
что нету никого знающего ? :'( :(
-
что нету никого знающего ? :'( :(
Одни Незнайки остались, тупеют форумчани прям на глазах, думать сими абленились.
Еслиб парочка Супермодераторов все ответы на себе не вытягивала, то зачах бы энтот форум, как берёзовый лист на холодном осеннем ветру. :P
межт ты в курсе как это сделать ??? :(
-
надеюсь добродушные модераторы отпишутся :) а то все сделал а вот этот момент не могу понять хоть убей :-\ :'( а без него какой смысл мне сидеть и в руччную делать клик нужно иначе не пашет :-X
-
Может это не весь скрипт но там ошибки в окончаниях.
Верно
SUB(рейтинг)
GETSCREEN (634,73, 715,173)
IF_PICTURE_IN (634,73, 715,173, "рейтинг.bmp", -1, 70)
LOGWRITE ("не тот лвл или счетчик")
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
$hranitili = $_time_t + 6
WHILE($hranitili > $_time_t)
GETSCREEN (396,83, 559,165)
IF_PICTURE_IN (396,83, 559,165, "хранители.bmp", -1, 80)
$hranitili = 0
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(500,999))
$gosti = $_time_t + 10
WHILE($gosti > $_time_t)
GETSCREEN (396,83, 559,165)
IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
$gosti = 0
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(1700,2399))
ELSE
WAITMS(50)
END_IF
END_CYC
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
END_SUB
Насчет вопроса я ничерта не понял что ты там написал. Не видя как это работает, что за чем написать ничего нельзя.
Вот например ищем "хранители.bmp" а потом "в гости.bmp". Картинка "в гости.bmp" всегда присутствует на экране или появляется после "хранители.bmp"?
Почему 10?
-
появляется после хранители 10 это число хранителей на странице тоитьс на одной странице 10 раз можно перейти в разные и дальше пролистнуть и на следующий о5 10 раз переходить всего страниц 10 :o
суть в том чтоб при вызове подпрограмы он кликнул 1 раз на кнопку в гости и запомнил куда кликнул и какой раз подпрограму вызвали что когда 10 раз будет пролистывать страницу сбивать счетчик 10 перед тем как искать в гости ну или я слишком глупо все это делаю и можно по проще главное чтоб когда делается вызов рейтинг() он шел в рейтинг хранители и там кнопку в гости искал если уже 10 раз было то пере тем как искать нада на следующую стр нажать и тогда уже искать
-
заглянте плиз
-
GETSCREEN (396,83, 559,165)
...
IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
А что здесь с координатами области?
-
Давай чтоб все поняли.
- "в гости" сразу не видно, Да?.
- После нажатия "хранители" появляется окно где есть 10 шт. "в гости".
- После клика по "в гости" мы окно закрываем и выходим из подпрограммы для выполнения других действий?
- При следующем заходе, "в гости" уже 9, так? Или их по прежнему 10 но 1 неактивный?
Или их 10, выглядят все одинаково, но мы должны сами "помнить" какой уже нажимали?
Остальные вопросы появятся после ответов на эти.
-
"в гости" сразу не видно, Да?. да
После нажатия "хранители" появляется окно где есть 10 шт. "в гости".да
После клика по "в гости" мы окно закрываем и выходим из подпрограммы для выполнения других действий?после клика в гост оно само закроется
да именно так последний вот так
Или их 10, выглядят все одинаково, но мы должны сами "помнить" какой уже нажимали? да и если мы уже десять раз кликнули то пролистать страницу и сбить счетчик потому что на второй страницы кнопка в гости так же в тех же кординатах
-
То есть их всегда 10 и помнить какие нажимали мы должны сами?
Тогда встаёт вопрос с поиском.
IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
Вот в этом поиске задана вся область? Со всеми 10?
Какие между ними расстояния (между одинаковыми точками)
Какой размер заготовки "в гости.bmp" чтоб знать на сколько может сместиться при допуске 80%
1. Есть два варианта. Если 10 шт. "в гости.bmp" расположены в виде таблицы, достаточно помнить последнюю найденную и искать в следующем секторе.
Переменная-счётчик найденных - она же переменная указывающая в каком секторе искать.
2. Создать массив с координатами уже кликнутых.
Искать сразу все через SCANPICTURE.
Перебираем массив найденных, сравнивая с уже "зашкваренными" координатами (с учётом допуска!!!)
Если есть непрокликанные кликаем и добавляем эти координаты в массив.
Если все координаты отфильтровались, то некликнутых "в гости.bmp" нет, значит переходим на следующую страницу и стираем массив прокликанных.
Если нужно сразу искать на новой странице - ищем.
Для простоты можно считать кол-во кликнутых в отдельной переменной, чтоб лишний цикл не городить и сразу проверять её.
Кидай скрин страницы с этими "в гости"
-
[spoiler](https://s8.hostingkartinok.com/uploads/thumbs/2017/05/cc7184b583f55d750391519535de9a52.png) (https://hostingkartinok.com/show-image.php?id=cc7184b583f55d750391519535de9a52)[/spoiler]
спасибо мне кажется 1 вариант подойдет :? обвел кнопочку на след страницу это когда на этой все прошли
-
О, так в одну колонку, тогда совсем просто
// = это в начале скрипта =
$guests = 0
$guest_page = 1
//=========================
IF($guests > 9)
$guests = 0 // сбрасываем 10 нажатий в гости
INC($guest_page) // страница на 1 больше
END_IF
WHILE($gosti > $_time_t)
// следующая страница $guest_page раз
FOR($i=0, $i < $guest_page)
LCLICK(856,544)
WAITMS(1000)
END_CYC
GETSCREEN(396,83, 559,165) // что с координатами???
IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
m_move($_return1 + RND(-10,10), $_return2 + (33*$guests) + RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(1700,2399))
INC($guests)
ELSE
WAITMS(5)
END_IF
END_CYC
-
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$MOVE_Start_X = $_xmouse
$MOVE_Start_Y = $_ymouse
$MOVE_X = $MOVE_Start_X
$MOVE_Y = $MOVE_Start_Y
$dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
$MOVE_step = ($dist-1)/INT(SQRT($dist))
$MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
$MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
FOR($MOVE_i=0, $MOVE_i < INT($MOVE_step))
$MOVE_X = $MOVE_X + $MOVE_X_step
$MOVE_Y = $MOVE_Y + $MOVE_Y_step
MOVE(INT($MOVE_X) + RND(-2,2), INT($MOVE_Y) + RND(-2,2))
WAITMS($rnwait) // задержка при движении по точкам
END_CYC
END_SUB
SUB(m_move,$M_X,$M_Y)
$rnwait = RND(6,15) // случайная скорость
$MOVE_MID_X = INT(($_xmouse+$M_X)/2)
$MOVE_MID_Y = INT(($_ymouse+$M_Y)/2)
$otx = INT(ABS($_xmouse - $M_X) * 0.12)
$oty = INT(ABS($_ymouse - $M_Y) * 0.12)
mouse_move($MOVE_MID_X+RND(-$otx,$otx), $MOVE_MID_Y+RND(-$oty,$oty))
mouse_move($M_X,$M_Y)
MOVE($M_X,$M_Y) //Передвинуть окончательно в заданную точку
END_SUB
$guests = 0
$guest_page = 1
SUB(рейтинг)
GETSCREEN (634,73, 715,173)
IF_PICTURE_IN (634,73, 715,173, "рейтинг.bmp", -1, 70)
LOGWRITE ("не тот лвл или счетчик")
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
$hranitili = $_time_t + 6
WHILE($hranitili > $_time_t)
GETSCREEN (396,83, 559,165)
IF_PICTURE_IN (396,83, 559,165, "хранители.bmp", -1, 80)
$hranitili = 0
m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(500,999))
$gosti = $_time_t + 10
//
IF($guests > 9)
$guests = 0 // сбрасываем 10 нажатий в гости
INC($guest_page) // страница на 1 больше
END_IF
WHILE($gosti > $_time_t)
// следующая страница $guest_page раз
FOR($i=0, $i < $guest_page)
LCLICK(856,544)
WAITMS(1000)
END_CYC
GETSCREEN(826,132, 971,534) // что с координатами???
IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
m_move($_return1 + RND(-10,10), $_return2 + (33*$guests) + RND(-10,10))
$gosti=0
LCLICK($_xmouse,$_ymouse)
WAITMS(rnd(1700,2399))
INC($guests)
ELSE
WAITMS(5)
END_IF
END_CYC
//
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
END_SUB
рейтинг()
сделал вот так для проверки тычет все время в первую в списке :-[
-
Не нужно бездумно крутить цикл по кругу. Или тогда начальные значения нужно не так задавать.
Так:
// все твои сабы
DEFINE($guests, 0)
DEFINE($guest_page, 1)
рейтинг()
Или так:
// все твои сабы
IF($first = 0)
$first = 1
$guests = 0
$guest_page = 1
END_IF
рейтинг()
Или делай явное выполнение нужного куска скрипта
// все твои сабы
$guests = 0
$guest_page = 1
FOR($n=0, $n < 20) // вызываем "рейтинг" 20 раз
рейтинг()
END_CYC
HALT
-
извените не знал что так нельзя я просто решил в скрипт сразу не всталять а проверить как работает :( спасибо все работает как нужно