Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: V1asov on April 02, 2019, 05:42:17 PM
-
Доброго времени суток.
Windows 7x64
Суть проблемы: нужно, чтобы скрипт переносил предмет из ячейки в ячейку, а он его просто не берёт, мучаюсь уже сутки. :) Такое ощущение, что он его даже не берёт, хотя ldown прописана.
Видео: https://www.youtube.com/watch?v=tPUpRsnDrrA (7 секунд)
// подпрограмма обязательно выше вызова
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$MOVE_SPEED = 3 // множитель скорости
$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_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
IF($MOVE_SPEEDVAR < 1)
$MOVE_SPEEDVAR = 1
END_IF
$MOVE_step=($dist-1)/$MOVE_SPEEDVAR
$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(ROUND($MOVE_X,0), ROUND($MOVE_Y,0))
WAITMS(1)
END_CYC
MOVE($MOVE_END_X, $MOVE_END_Y) //Передвинуть окончательно в заданную точку
END_SUB
mouse_move(502,312) // двигаем мышь сюда
WAITMS(1000)
LCLICK(502,312) // 16777215
WAITMS(1000)
LDOWN(502,312)
WAITMS(1000)
move(307,321) // двигаем мышь сюда
WAITMS(1000)
LUP(307,321)
WAITMS(1000)
HALT // стоп
Код, который я использую. Заранее спасибо.
-
Возможно, что перетаскивание не срабатывает изза резкого перемещения курсора между зажатием и отпусканием кнопки мыши
"move(307,321) // двигаем мышь сюда " . Замени на плавное передвижение "mouse_move(307,321)".
-
Возможно, что перетаскивание не срабатывает изза резкого перемещения курсора между зажатием и отпусканием кнопки мыши
"move(307,321) // двигаем мышь сюда " . Замени на плавное передвижение "mouse_move(307,321)".
Один раз сработало, а после перестало. Но если во время выполнения скрипта трясти мышкой, то в принципе работает, не понятно.
-
Измени скорость перемещения курсора $MOVE_SPEED = 3 // множитель скорости. Увеличивая значение переменной, замедляется перемещение курсора.
И возми более реалистичное передвижение, твоя подпрограмма ведет курсор по ровной линии, есть более продвинутый вариант:
// подпрограммы обязательно выше вызова
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(RND(3,9)) // задержка при движении по точкам случайная скорость
END_CYC
END_SUB
SUB(m_move,$M_X,$M_Y)
$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
В место mouse_move пиши m_move . http://crapware.aidf.org/forum/index.php?topic=2112.msg16702#msg16702
-
Попробовал, спасибо.
Поигрался со скоростью, поменял названия команд, но всё равно срабатывает 1 раз из 20.
Может быть в игре что-то не так? Хотя там никаких защит нету, я точно знаю.
-
???
Ну есть еще вариант, возьми и запиши собственное перемещение (кнопка "Начать запись сценария") и попробуй воспроизвести этот сценарий. При записи в настройках кликера должна быть включена опция "записывать движение мыши", по умолчанию вроде она включена.
-
???
Ну есть еще вариант, возьми и запиши собственное перемещение (кнопка "Начать запись сценария") и попробуй воспроизвести этот сценарий. При записи в настройках кликера должна быть включена опция "записывать движение мыши", по умолчанию вроде она включена.
Да, сценарий работает, но, записываю я идеально сценарий, а на повторе в середине или где-то ещё он начинает промахиваться, хотя с координатами всё отлично.
-
Чудесааа :D
Такое возможно только если в игре чтото меняется (координаты твоих перемещаемых объектов), либо окно с игрой двигаешь.
-
Чудесааа :D
Такое возможно только если в игре чтото меняется (координаты твоих перемещаемых объектов), либо окно с игрой двигаешь.
Спасибо. Возможно, посмотрю за этим.
И последний вопрос, а можно как то записанный сценарий ускорить?
-
В начале сценария есть переменная $S_CORR = 0. Она отвечает за скорость. Только както не понятно отвечает... :-\ . Я просто этим не пользовался ни разу. Скорее всего эта переменная должна быть множителем, а на деле это слагаемое к записанной задержке. А если писать этот параметр отрицательным числом, то задержка может стать с отрицательным параметром, что приводит к ошибке.
Как вариант, пиши в эту переменную дробное число чтоль :-\ . В этом случае задержки будут игнорироваться.
-
https://www.youtube.com/watch?v=1zAQ6N8fi5I
Самое интересное, что скрипт работает, но вот так, то есть с n-ого раза закидывает.