6
« on: May 25, 2018, 02:44:10 PM »
Здравствуйте.
Написал бота к Tap Titan 2, работает нормально. И вот это место с вложенными WHILE
WHILE($varnn < 100)
LOGWRITE ("Цикл1")
WAIT(RND(1,3))
SETTHREAD (heroy, 0)
// вот с этого места
$check = 0
WHILE($check = 0) // проверка значка босса в общем окне
GETSCREEN(58,32, 100,83)
COLORMODE(6, 58,32, 100,83)
IF_PICTURE_IN (58,32, 100,83, "klankvest2.bmp", -1, 60)
$check = 1
LCLICK(78, 52)
WAIT(3)
LCLICK(99, 757)
WAIT(7)
LCLICK(413, 78)
WAIT(1)
LCLICK(413, 78)
WAIT(1)
LCLICK($_return1+10, $_return2+10)
WAITMS(100)
LCLICK($_return1+10, $_return2+10)
WAIT(5)
$check = 0
WHILE($check = 0) // проверка на значок боя с боссом в окне чата
GETSCREEN(34,751, 83,802)
COLORMODE(6, 34,751, 83,802)
IF_PICTURE_IN (34,751, 83,802, "klanbossvchat2.bmp", -1, 70)
$check = 1
LCLICK($_return1+56, $_return2-20)
WAIT(5)
$check = 0
WHILE($check = 0) // проверка наличия кнопки с надписью "в бой"
GETSCREEN(259,751, 353,783)
COLORMODE(6, 259,751, 353,783)
IF_PICTURE_IN (259,751, 353,783, "klankvestvboy.bmp", -1, 70)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAIT(1)
LCLICK($_return1, $_return2)
WAIT(5)
for($var, $var < 680) // рандомные клики
LCLICK(RND(35,208),RND(419,491))
waitms(RND(30,35))
end_cyc
WAIT(10)
LCLICK(92, 714)
WAIT(4)
LCLICK(92, 714)
WAIT(5)
$check = 0
WHILE($check = 0) // проверка на кнопку бой за 5 алмазов
GETSCREEN(250,709, 357,785)
COLORMODE(6, 250,709, 357,785)
IF_PICTURE_IN (250,709, 357,785, "01.bmp", -1, 90)
$check = 1
LCLICK($_return1, $_return2+50)
WAITMS(500)
LCLICK(333, 471)
WAIT(3)
for($var22, $var22 < 680) // рандомные клики
LCLICK(RND(35,208),RND(419,491))
waitms(RND(30,35))
end_cyc
WAIT(10)
LCLICK(92, 714)
WAIT(1)
LCLICK(92, 714)
WAIT(2)
ELSE // если кнопки на 5 алмазов нет - выход по метке
WAIT(2)
LOGWRITE ("1111")
GOTO(skip)
END_IF
END_CYC
ELSE // если кнопки в бой нет - выход по метке
WAIT(2)
LOGWRITE ("1")
GOTO(skip)
END_IF
END_CYC
ELSE // если значка боя с боссом в окне чата нет - выход по метке
WAIT(2)
LOGWRITE ("11")
GOTO(skip)
END_IF
END_CYC
WAITMS(600)
ELSE // если значка босса в общем окне нет - выход по метке
WAITMS(2)
LOGWRITE ("111")
GOTO(skip)
END_IF
END_CYC
skip:
//......................
//здесь тело скрипта
//......................
END_CYC
работает. Но только 1 раз после запуска. На втором проходе уже проверки нет. Подозреваю что дело в переменных и в GOTO. Но когда убираю переходы к метке - происходит зацикливание.
Помогите пожалуйста