Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Зануда on March 24, 2017, 12:29:06 PM
-
именно в таком виде делает один проход все делает идеально и быстро как нада воопшем но на другой круг не идет просто где то застывает и все :-[ я уже логов везде натыкал ни один ничего не показывает просто лог последний не нашло и все больше пусто
go:
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "hod.bmp", -1, 80)
LOGWRITE ("наш ход2")
goto(boy)
ELSE
LOGWRITE ("не нашло")
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
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "arena.bmp", -1, 100)
LOGWRITE ("заходим на арену")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
WAITMS(500)
$time = $_time_y + 30
WHILE($time > $_time_y)
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "galochka.bmp", -1, 90)
$time_y = 0
LOGWRITE ("все гут")
IF_PICTURE_IN (256,77, 1252,724, "boy.bmp", -1, 100)
LOGWRITE ("в бой")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
$time = $_time_t + 30
WHILE($time > $_time_t)
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "hod.bmp", -1, 80)
$time_t = 0
goto(boy)
ELSE
LOGWRITE ("не гут")
WAITMS(50)
END_IF
END_CYC
END_IF
WAITMS(50)
END_IF
ELSE
LOGWRITE ("ждем ход")
WAITMS(50)
END_IF
END_CYC
goto(go)
boy:
LOGWRITE ("бой")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "plevok.bmp", -1, 100)
LOGWRITE ("закл")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой2")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg1.bmp", -1, 100)
LOGWRITE ("зак21")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой3")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg2.bmp", -1, 100)
LOGWRITE ("зак3")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой4")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg3.bmp", -1, 100)
LOGWRITE ("зак4")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой5")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg4.bmp", -1, 100)
LOGWRITE ( "зак 5")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой6")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg5.bmp", -1, 100)
LOGWRITE ("зак6")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
goto(go)
-
Неверная конструкция условий, выпрыгивание из цикла goto(boy), оно там не нужно!
что еще за $_time_y $time_y = 0 $time_t = 0 ? Ты вообще въезжаешь что пишешь?
Смысл таймера такой
$time = $_time_t + 30 // Здесь мы к текущему времени Unix $_time_t в секундах прибавляем 30 и записываем это в $time
WHILE($time > $_time_t) // в результате цикл сравнивая переменную $time и текущее время $_time_t работает если значение переменной больше.
Если в цикле написать $time = 0 то при следующей проверке условия цикла переменная $time будет меньше $_time_t и цикл пропускается, выполнение пойдет после цикла.
Исправленный скрипт
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
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "hod.bmp", -1, 80)
LOGWRITE ("наш ход2")
ELSE
LOGWRITE ("не нашло")
IF_PICTURE_IN (256,77, 1252,724, "arena.bmp", -1, 100)
LOGWRITE ("заходим на арену")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
WAITMS(500)
$time = $_time_t + 30
WHILE($time > $_time_t)
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "galochka.bmp", -1, 90)
$time = 0
LOGWRITE ("все гут")
IF_PICTURE_IN (256,77, 1252,724, "boy.bmp", -1, 100)
LOGWRITE ("в бой")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
$time = $_time_t + 30
WHILE($time > $_time_t)
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "hod.bmp", -1, 80)
$time = 0
ELSE
LOGWRITE ("не гут")
WAITMS(50)
END_IF
END_CYC
END_IF
WAITMS(50)
ELSE
LOGWRITE ("ждем ход")
WAITMS(50)
END_IF
END_CYC
END_IF
LOGWRITE ("бой")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "plevok.bmp", -1, 100)
LOGWRITE ("закл")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой2")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg1.bmp", -1, 100)
LOGWRITE ("зак21")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой3")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg2.bmp", -1, 100)
LOGWRITE ("зак3")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой4")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg3.bmp", -1, 100)
LOGWRITE ("зак4")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой5")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg4.bmp", -1, 100)
LOGWRITE ( "зак 5")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой6")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg5.bmp", -1, 100)
LOGWRITE ("зак6")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
-
так работает ходит по кругу но мне так не подходит как отделить бой от основного поиска чтоб бой искало только после условия наш ход можно поставить все эти поиски после условия чтоб ыполнялись но таких проверки 2 и чтобы по менче строк было можно это как то вызывать ? если через мое криворукое гото не подходит ?
-
да, там же у тебя был возврат. Можно конечно это в еще один цикл завернуть но простой переход к началу через гото тоже сгодится. Заметь я прыгаю не из цикла а из условия. Если цикл выше завершился $time = 0 то выполнение пойдет ниже к LOGWRITE ("бой") но если просто время истекло то в переменной будет не 0 и по условию будет возврат к GO:
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
GO:
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "hod.bmp", -1, 80)
LOGWRITE ("наш ход2")
ELSE
LOGWRITE ("не нашло")
IF_PICTURE_IN (256,77, 1252,724, "arena.bmp", -1, 100)
LOGWRITE ("заходим на арену")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
WAITMS(500)
$time = $_time_t + 30
WHILE($time > $_time_t)
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "galochka.bmp", -1, 90)
$time = 0
LOGWRITE ("все гут")
IF_PICTURE_IN (256,77, 1252,724, "boy.bmp", -1, 100)
LOGWRITE ("в бой")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
$time = $_time_t + 30
WHILE($time > $_time_t)
GETSCREEN
colormode(7)
IF_PICTURE_IN (256,77, 1252,724, "hod.bmp", -1, 80)
$time = 0
ELSE
LOGWRITE ("не гут")
WAITMS(50)
END_IF
END_CYC
END_IF
WAITMS(50)
ELSE
LOGWRITE ("ждем ход")
WAITMS(50)
END_IF
END_CYC
IF($time ! 0)
GOTO(GO)
END_IF
END_IF
LOGWRITE ("бой")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "plevok.bmp", -1, 100)
LOGWRITE ("закл")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой2")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg1.bmp", -1, 100)
LOGWRITE ("зак21")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой3")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg2.bmp", -1, 100)
LOGWRITE ("зак3")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой4")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg3.bmp", -1, 100)
LOGWRITE ("зак4")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой5")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg4.bmp", -1, 100)
LOGWRITE ( "зак 5")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
LOGWRITE ("бой6")
GETSCREEN
colormode(7)
IF_PICTURE_IN (379,515, 1073,657, "sneg5.bmp", -1, 100)
LOGWRITE ("зак6")
m_move($_return1+rnd(-9,9), $_return2+rnd(-9,9))
lclick($_xmouse,$_ymouse)
WAITMS(500)
END_IF
-
спасибо за разъяснение с гото :)