Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: slokky on December 20, 2016, 04:20:51 PM
-
Добрый день, имеется скрипт:
$gamex1 = 0
$gamey1 = 0
$gamex2 = $_xmax
$gamey2 = $_ymax
$midx = INT(($gamex2 - $gamex1) / 2)
$midy = INT(($game?2 - $gamey1) / 2)
$dx1 = $midx + 103
$dy1 = $midy + 31
$dx2 = $midx + 157
$dy2 = $midy + 88ff
WHILE (1 = 1)
IF(iskeydown(6) = 1)
LCLICK(-1,-1)
waitms(20)
RCLICK(-1,-1)
GETSCREEN
PIXEL_IN($dx1, $dy1, $dx2, $dy2, 15653164)
WAITMS(20)
KEYPRESS(#F)
END_IF
END_IF
END_CYC
Вкратце он чередует два скила и ждет появления третего в определённой области и прожимает его. Скрипт работает только когда зажата определённая кнопка на мышке.
Интересует такой вопрос, можно ли как-то разделить скрипт на две части, так чтобы вот это:
LCLICK(-1,-1)
waitms(20)
RCLICK(-1,-1)
продолжало постоянно молотить
и вторая часть с анализом экрана и ожиданием скила.
GETSCREEN
PIXEL_IN($dx1, $dy1, $dx2, $dy2, 15653164)
WAITMS(20)
KEYPRESS(#F)
Ибо если тут начинаю выставлять задержки то первая часть сильно замедляется.
Так же мне нужно адаптировать этот скрипт для дтугой ротации, на там выходит два скана экрана.
$gamex1 = 0
$gamey1 = 0
$gamex2 = $_xmax
$gamey2 = $_ymax
$midx = INT(($gamex2 - $gamex1) / 2)
$midy = INT(($game?2 - $gamey1) / 2)
$dx1 = $midx + 103
$dy1 = $midy + 31
$dx2 = $midx + 157
$dy2 = $midy + 88ff
WHILE (1 = 1)
IF(iskeydown(6) = 1)
KEYPRESS(#T)
GETSCREEN
PIXEL_IN($dx1, $dy1, $dx2, $dy2, COLOUR)
WAITMS(20)
KEYPRESS(#F)
PIXEL_IN(другие координаты, COLOUR)
KEYPRESS#4
END_IF
END_IF
END_IF
END_CYC
Тут тоже самое T-F должно шарашить постоянно а 4 прожиматся при перvой же возможности тоеть по откату.
за русский не пинайте всё писалось через translit.ru
Пример работы скрипта первой ротации https://youtu.be/HF0whwNWu2E
-
Можно написать поток. Он начнет работать когда зажмешь клавишу.
$gamex1 = 0
$gamey1 = 0
$gamex2 = $_xmax
$gamey2 = $_ymax
$midx = INT(($gamex2 - $gamex1) / 2)
$midy = INT(($gamey2 - $gamey1) / 2)
$dx1 = $midx + 103
$dy1 = $midy + 31
$dx2 = $midx + 157
$dy2 = $midy + 88
WHILE (1) // бесконечный цикл
IF(iskeydown(6) = 1) // что за код 6?
SETTHREAD(t1,1)
GETSCREEN($dx1,$dy1, $dx2,$dy2)
IF_PIXEL_IN($dx1, $dy1, $dx2, $dy2, 15653164)
WAITMS(20)
KEYPRESS(#F)
END_IF
ELSE
SETTHREAD(t1,0)
END_IF
WAITMS(10)
END_CYC
THREAD(t1,0)
LCLICK(-1,-1)
waitms(20)
RCLICK(-1,-1)
waitms(20)
END_THREAD
-
Можно написать поток. Он начнет работать когда зажмешь клавишу.
F прожимает толко если заменяю IF_PIXEL_IN ....END_IF на PIXEL_IN.
"6" это боковая клавиша на мышке.
-
Можно написать поток. Он начнет работать когда зажмешь клавишу.
F прожимает толко если заменяю IF_PIXEL_IN ....END_IF на PIXEL_IN.
"6" это боковая клавиша на мышке.
Нет такой команды в кликере PIXEL_IN соответственно кликер строку пропускает и по любому выполняет твою F
-
F прожимает толко если заменяю IF_PIXEL_IN ....END_IF на PIXEL_IN.
PIXEL_IN нормально ;)
С таким же успехом можно заменить на что угодно
HEXEL_IN, MEXEL_IN, VEXEL_IN... и даже АБРАКАДАБРА
один чёрт не работает.
А не прожимает, потому что нет там такого цвета.
А здесь опечатки
$dy2 = $midy + 88ff
"88ff" - это строка
$midy = INT(($game?2 - $gamey1) / 2)
y -->> ?
-
Спасибо за подсказки, как до жирафа но дошло!
-
это снова я, а можно во время прожима Ф на секунду останавливать поток?
Пиксель совпал, остановил это:
LCLICK(-1,-1)
waitms(20)
RCLICK(-1,-1)
waitms(20)
прожал Ф запустил обратно
-
Можно конечно.
$gamex1 = 0
$gamey1 = 0
$gamex2 = $_xmax
$gamey2 = $_ymax
$midx = INT(($gamex2 - $gamex1) / 2)
$midy = INT(($gamey2 - $gamey1) / 2)
$dx1 = $midx + 103
$dy1 = $midy + 31
$dx2 = $midx + 157
$dy2 = $midy + 88
WHILE (1) // бесконечный цикл
IF(iskeydown(6) = 1)
GETSCREEN($dx1,$dy1, $dx2,$dy2)
IF_PIXEL_IN($dx1, $dy1, $dx2, $dy2, 15653164)
SETTHREAD(t1,2) // останавливаем поток
IF((ISKEYDOWN(1)=1)|(ISKEYDOWN(2)=1)) // проверяем не зажаты ли клавиши мыши
LUP(-1,-1) // отпускаем
RUP(-1,-1)
END_IF
WAITMS(20)
KEYPRESS(#F)
ELSE
SETTHREAD(t1,1) // если пиксел не найден запускаем поток
WAITMS(20)
END_IF
ELSE
SETTHREAD(t1,2)
END_IF
WAITMS(10)
END_CYC
THREAD(t1,0)
waitms(1)
LCLICK(-1,-1)
waitms(20)
RCLICK(-1,-1)
waitms(20)
END_THREAD
В 4.12 версии присутствует баг потока. Если поток остановить SETTHREAD(t1,2) а потом запустить SETTHREAD(t1,1) то у него перестает воспроизводиться первая строка. Поэтому я там написал задержку waitms(1). Иначе у тебя LCLICK(-1,-1) перестанет работать.
-
это божесвенно!
У меня тут проблемка нарисовалась. Програма не видет пиксели в синих/голубых цветов. А вот на желтые сразу срабатывает. Может попробывать поиск по картинке? Так же ногу разобратся с alt+q как я понял в буфер идут координаты точки и цвет но по ctrl+v не встаvляется ничего. Так нет должно само в код вставлять но у меня не срабатывает..... или это только при записи?
-
У меня тут проблемка нарисовалась. Програма не видет пиксели в синих/голубых цветов. А вот на желтые сразу срабатывает. Может попробывать поиск по картинке?
Попробуй использовать цветокоррекцию!
Так же ногу разобратся с alt+q как я понял в буфер идут координаты точки и цвет но по ctrl+v не встаvляется ничего
Так нет должно само в код вставлять но у меня не срабатывает..... или это только при записи?
В открытом редакторе Alt+Q вставляет клик с координатой курсора и закомментированным цветом.
Сверху на панельке есть кнопка "Планшет" если включить то в буфер будет вставляться координата в скрипт ничего.
-
Colormode 7 помог, alt+q не работает, хз