2
« on: April 03, 2015, 02:25:15 PM »
Всем привет. Получилась у меня вот такая штука...
Проблема в том, что бот, при виде искомого предмета, начинает кликать на него (предмет), но попадает далеко не с первого раза, т.к. картинка перемещается. Что тут подкрутить, чтобы уменьшить количество кликов и повысить их точность?
[spoiler]
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y,$MOVE_CLICK)
$MOVE_SPEED = 2
$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)
IF($MOVE_CLICK = 1)
LDOWN($MOVE_END_X, $MOVE_END_Y)
WAITMS(RND(80,150)
LUP($MOVE_END_X, $MOVE_END_Y)
WAITMS(RND(80,150)
END_IF
END_SUB
mouse_move (RND(1030,1230),RND(830,930),1)
$time = $_time_t + RND(20,30)
$check = 0
$check_out = 0
WHILE(($check_out = 0) & ($time > $_time_t))
GETSCREEN
IF_PIXEL_IN(7,51, 1341,738, 9755391,6199541,16449533,15727869,16252415)
mouse_move ($_return1, $_return2,0)
LDOWN ($_return1, $_return2)
WAITMS(RND(80,150))
LUP($_return1, $_return2)
WAITMS(RND(10,20))
ELSE
IF($check = 1)
$check_out = 1
END_IF
WAITMS(30)
END_IF
END_CYC
WAITMS(RND(30,50))
[/spoiler]