Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: дед иван on October 25, 2015, 08:02:36 PM
-
ещо один вопрос как написать чтобы при нахождении картинки в зацыкленом скрипте действия выполнялось только 1 первый раз когда нашло дальше игнорило так как картинка появляетса нужно сделать действия и все но после этого картинка остаетса то исть когда оно идет по кругу токажен раз делает действия то которое нужно только раз)!
допишыте то что нужно!
GETSCREEN
IF_PICTURE_IN (284,335, 371,374, "odat.bmp", -1, 90)
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
LOGCLEAR
m_move($_return1+RND(-2,2),$_return2+RND(-2,2))
DBLCLICK($_xmouse,$_ymouse)
end_if
-
// Подпрограммы вкладывать кудабы то нибыло нельзя!
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
IF($action = 0)
GETSCREEN
IF_PICTURE_IN (284,335, 371,374, "odat.bmp", -1, 90)
$action = 1 // отключаем условие
m_move($_return1+RND(-2,2),$_return2+RND(-2,2))
DBLCLICK($_xmouse,$_ymouse)
end_if
END_IF
-
спасибо а почему нельзя вкладывать у меня так скрипт на 1500 строк работает и ниче или если пределать будет лучше работать??7
-
спасибо а почему нельзя вкладывать у меня так скрипт на 1500 строк работает и ниче или если пределать будет лучше работать??7
Между "работает" и "ты думаешь что работает" есть разница...
-
и как проверить если я точно вижу что мышка передвигаетса реалистично и только когда картинка найдена
-
спасибо а почему нельзя вкладывать у меня так скрипт на 1500 строк работает и ниче или если пределать будет лучше работать??7
Будет лучше, если не заниматься самодеятельностью.
Ты можешь делать всё что душе угодно. Но только в определённое время после добавления маленького функционала в виде невинного кода, часть может перестать работать. И ты будешь тут создавать сотню параллельных тем "АААА... не работает. Ошибка в программе...".
Это не шутка, так происходит постоянно. Хоть здесь хоть в группе ВК.
Сначало это проявляется: "а чё, оно же вроде работает, зачем мне комментарии помечать комментариями". Или "откуда хочу оттуда и выпрыгиваю по GOTO хоть из 100 вложенных циклов, подпрограмм и впрыгиваю в другой поток. А потом "работает вроде но всё неправильно... у вас, помогите, исправьте саму программу". ;D