Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Макс666 on August 26, 2018, 01:51:25 PM
-
Уверен что, код написан неправильно и каряво, но он работает! Его просто нужно усовершенствовать.
Мини игра (рыбалка) где рандомно появляется красная надпись и зеленая. На красную нужно нажать ЛКМ, на зеленую ПКМ, пока не заполнится полоска. Но, после заполнения полоски, ещё некоторое время надпись с цветом остается и скрипт ещё раз на неё кликает.. Из-за этого выскакивает предупреждение (драться нельзя) и может кикнуть с сервера.
После ввода команды "/fish", полоска появляется не сразу (рандомно в течении 3-10 секунд), поэтому стоит while.
Нужно поставить два условия. Если в определенной точке находит белый цвет (в полоске белая надпись) только тогда нужно искать красный с зеленым (в другом месте). Т.е. когда полоска пропадет, чтобы не клацал по зеленому или красному, а сразу останавливался.
Подскажите как такое сделать, ставить два условия..
wait 3s
KEYPRESS(0x75)
wait 1s
KEYSTRING ("/fish", 1)
wait 1s
KEYPRESS(0x0D)
wait 1s
FOR($a=0,$a<30)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(722,255, 1182,468, 1907124) // ищет красный цвет
LCLICK($_return1, $_return2)
WAITMS(200)
ELSE
GETSCREEN
IF_PIXEL_IN(722,255, 1182,468, 2909750) // ищет зеленый цвет
RCLICK($_return1, $_return2)
WAITMS(200)
END_IF
END_CYC
END_CYC
HALT
-
Нашел решение. Вроде работает.
wait 3s
KEYPRESS(0x75)
wait 1s
KEYSTRING ("/fish", 1)
wait 1s
KEYPRESS(0x0D)
wait 1s
FOR($a=0,$a<30)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(652,656, 667,663, 16776191) // ищет белую полоску
waitms(100)
GETSCREEN
IF_PIXEL_IN(722,255, 1182,468, 1907124) // красный
LCLICK($_return1, $_return2)
WAITMS(200)
ELSE
GETSCREEN
IF_PIXEL_IN(722,255, 1182,468, 2909750) // зеленый
RCLICK($_return1, $_return2)
WAITMS(200)
END_IF
END_IF
END_CYC
END_CYC
HALT
Но как сделать так чтобы, после того как пропадает полоска, скрипт сам останавливался? Сейчас после того как полоска пропадает, судя по всему начинается ожидание while. Приходится вручную останавливать скрипт и запускать заново. Было бы удобнее чтобы он сам останавливался. Тогда можно засунуть это все в ещё один цикл и отдыхать :)
-
wait 3s - это не наш синтаксис, правильно wait (3)
В последнем скрипте отсутствует 1 END_IF
Зачем там FOR($a=0,$a<30) ?
Где выход из цикла WHILE($check = 0) ?
Этот цикл становится бесконечным.
Выйти из него можно написав в нужном месте $check = 1
-
3s используется в другой проге, перепутал.
FOR использую потому что, по красному и зеленому нужно кликать пока не заполнится шкала в полоске. Без него он клацает по найденному цвету один раз и цикл завершается.
Про выход из while не знал, пользовался встроенным шаблоном. В написании кода меня и любителем сложно назвать ;D
Спасибо за указание на ошибки, буду пробовать разобраться.