Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: rrdeiss on October 30, 2017, 06:35:04 AM
-
Вот код
fndhnt()
startwar()
while($wmob=0)
simplewar()
end_cyc
drinkburdfight()
Останавливается после выполнения while
Последняя подпрограмма не выполняется
Не рестартится вся программа
Что с этим можно сделать?
-
В этом коде нет ошибок, очевидно что они есть в твоих подпрограммах.
-
Можете проверить, что здесь не так?
sub(drinkburdfight) //проверка стат и питье бурдей
getscreen
if_pixel_in(588,200,635,205,109,66)
lclick(1394,57)
waitms(rnd(100,300))
lclick(1090,177)
waitms(rnd(100,300))
lclick(1394,57)
waitms(rnd(100,300))
lclick(1090,198)
waitms(rnd(100,300))
end_if
end_sub
sub(fndhnt) //открытие охоты, переход на запад
lclick(1258+rnd(-15,15),129+rnd(-15,+15)
wait(2)
lclick(351+rnd(-5,5),210+rnd(-5,5))
wait(2)
end_if
end_sub
sub(startwar) //поиск моба и нападение на него
getscreen
if_pixel_in(342,180,1147,816,535696,1331546,1653334,1519710,1914980,4416913)
mouse_move($_return1,$_return2)
waitms(100)
lclick($_return1, $_return2)
waitms(200)
dblclick($_return1, $_return2)
wait(rnd(7,9))
else
fndhnt()
end_if
end_sub
sub(simplewar) //бой первым скилом
getscreen
if_pixel_in(980,236,1153,503,163)
mouse_move(619+rnd(-10,10),451+rnd(-10,10))
lclick(619+rnd(-10,10),451+rnd(-10,10))
$udar=$udar+1
waitms(rnd(600,1000))
else
$wmob=0
end_if
end_sub
-
Отсутствует последняя скобка и лишний end_if в подпрограмме sub(fndhnt)
lclick(1258+rnd(-15,15),129+rnd(-15,+15)
Так верно
sub(drinkburdfight) //проверка стат и питье бурдей
getscreen
if_pixel_in(588,200,635,205,109,66)
lclick(1394,57)
waitms(rnd(100,300))
lclick(1090,177)
waitms(rnd(100,300))
lclick(1394,57)
waitms(rnd(100,300))
lclick(1090,198)
waitms(rnd(100,300))
end_if
end_sub
sub(fndhnt) //открытие охоты, переход на запад
lclick(1258+rnd(-15,15),129+rnd(-15,+15))
wait(2)
lclick(351+rnd(-5,5),210+rnd(-5,5))
wait(2)
end_sub
sub(startwar) //поиск моба и нападение на него
getscreen
if_pixel_in(342,180,1147,816,535696,1331546,1653334,1519710,1914980,4416913)
mouse_move($_return1,$_return2)
waitms(100)
lclick($_return1, $_return2)
waitms(200)
dblclick($_return1, $_return2)
wait(rnd(7,9))
else
fndhnt()
end_if
end_sub
sub(simplewar) //бой первым скилом
getscreen
if_pixel_in(980,236,1153,503,163)
mouse_move(619+rnd(-10,10),451+rnd(-10,10))
lclick(619+rnd(-10,10),451+rnd(-10,10))
$udar=$udar+1
waitms(rnd(600,1000))
else
$wmob=0
end_if
end_sub
-
Сделал все как вы сказали, не помогло.
Возможно, проблема в том, что первая подпрограмма это проверка условий и надо добавить
else и рестарт программы, но как это сделать?
-
Разобраться в проблеме поможет вставка в код записи в лог.
Пример
sub(startwar) //поиск моба и нападение на него
LOGWRITE ("Выполняю startwar")
getscreen
if_pixel_in(342,180,1147,816,535696,1331546,1653334,1519710,1914980,4416913)
LOGWRITE ("Найден пиксель")
mouse_move($_return1,$_return2)
waitms(100)
lclick($_return1, $_return2)
waitms(200)
dblclick($_return1, $_return2)
wait(rnd(7,9))
else
LOGWRITE ("Не найден пиксель")
fndhnt()
end_if
end_sub
-
Я вставил логи, но запись логов после end_cyc прекращается.
Т.е. последняя подпрограмма(drinkburdfight) как не выполнялась, так и не выполняется.
-
если подпрограмма не выполняется, то причина одна в указанной области указанные цвета не найдены
if_pixel_in(588,200,635,205,109,66) // ищутся цвета 109 и 66 ? проверяется полоска шириной 5 пикселей?
подпрограмма mouse_move в коде написана?
да, mouse _move написана.
проблема в том, что на end_cyc просто останавливается все, следующая подпрограмма drinkburdfight даже лог не выводит о том, что пиксель не найдет.
и я не могу возобновить всю программу заново, не нажав хоткей остановки и потом запуска скрипта, мне нужно чтобы все было автоматически
-
Спасибо огромное!