Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Vitekzzzz on December 16, 2017, 06:37:44 PM
-
Доброго времени суток! Задача такая хочу написать скрипт на игру где нужно искать мобов(тоесть кликать нужно в одну точку и находить фрагменты dmp в другой .их всего 6 шт.. но находится будет всего один из них либо неодно. Подскажите как сделать так чтобы при нахождении фрагмента прогрмма переключалась на кусок скрипта с боем. но если не нашла совподений листала дальше??Поскажите хотяб примерно)
-
Как вариант
SUB(boi)
// тело выполняется только после вызова
// Здесь скрипт для боя
END_SUB
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
LCLICK($_return1, $_return2) // Кликаем по найденному
WAITMS(100)
boi() // И запускаем подпрограмму боя
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
boi()
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
boi()
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
boi()
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "5.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
boi()
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "6.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
boi()
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
WAITMS(50)
-
Спасибо . Большое за помощь :). смоделировал по вашему варианту скрипт. Попробовал искать одного моба .скрипт его находит кликает на него.и Далее должен открывать подпрограмму с боем но он дальше начинает кликать на поиск.Я возможно понял где ошибка.но как исправить ее ума не приложу :( В итоге вот что получилось
-
SUB(1)
Скрипт боя..
GETSCREEN
IF_PICTURE_IN (695,392, 724,417, "11.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
ELSE
WAIT(2)
GETSCREEN
IF_PIXEL_IN(689,548, 704,557, 12670857)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(742,548, 762,561, 4234223)
LCLICK($_return1, $_return2)
WAITMS(1)
END_IF
GETSCREEN
IF_PIXEL_IN(766,389, 784,411, 5737133)
LCLICK($_return1, $_return2)
WAITMS(1)
END_IF
GETSCREEN
IF_PIXEL_IN(680,438, 718,474, 5390376)
LCLICK($_return1, $_return2)
WAITMS(1)
END_IF
GETSCREEN
IF_PIXEL_IN(766,390, 784,411, 2763306)
LCLICK(932, 400)
WAITMS(100)
END_IF
END_SUB
9:
LCLICK(986,369) Клик для поиска моба...
WAIT(2)
GETSCREEN
IF_PIXEL_IN(388,519, 403,533, 2768619) Кординаты моба изменил на пиксель
LCLICK($_return1, $_return2)
WAITMS(100)
mysub(1)
goto(9)
END_IF
WAITMS(50)
-
8 строка, что это за ELSE? К чему оно?
Разве так пишется подпрограмма?
Правильно так
SUB(имя) // описание подпрограмма
// тело выполняется только после вызова
END_SUB
имя() // вызов подпрограммы (обязательно ниже описания подпрограммы)
Зачем там этот переход гото?
SUB(mysub)
GETSCREEN
IF_PICTURE_IN (695,392, 724,417, "11.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
WAIT(2)
GETSCREEN
IF_PIXEL_IN(689,548, 704,557, 12670857)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(742,548, 762,561, 4234223)
LCLICK($_return1, $_return2)
WAITMS(1)
END_IF
GETSCREEN
IF_PIXEL_IN(766,389, 784,411, 5737133)
LCLICK($_return1, $_return2)
WAITMS(1)
END_IF
GETSCREEN
IF_PIXEL_IN(680,438, 718,474, 5390376)
LCLICK($_return1, $_return2)
WAITMS(1)
END_IF
GETSCREEN
IF_PIXEL_IN(766,390, 784,411, 2763306)
LCLICK(932,400)
WAITMS(100)
END_IF
END_SUB
LCLICK(986,369)
WAIT(2)
GETSCREEN
IF_PIXEL_IN(388,519, 403,533, 2768619)
LCLICK($_return1, $_return2)
WAITMS(100)
mysub()
END_IF
WAITMS(50)
-
Версия 4.12..Я не спец возможно правильно так . гото я запихал так как отказывалась запускаться подпрограмма
-
;DНУ да согласен.Только подпрограмма не запускается .как бы я ее не писал. не знаю в чем причина. и при запускании выше предложенного скрипта кликер проходит мимо нее
-
Выполнение не может проходить мимо если скрипт написан верно. Разобраться в происходящем поможет запись в лог.
SUB(mysub)
LOGWRITE ("Начало подпрограммы mysub")
GETSCREEN
IF_PICTURE_IN (695,392, 724,417, "11.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("Найдено 11.bmp")
END_IF
WAIT(2)
GETSCREEN
IF_PIXEL_IN(689,548, 704,557, 12670857)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("Найден цвет 12670857")
END_IF
GETSCREEN
IF_PIXEL_IN(742,548, 762,561, 4234223)
LCLICK($_return1, $_return2)
WAITMS(1)
LOGWRITE ("Найден цвет 4234223")
END_IF
GETSCREEN
IF_PIXEL_IN(766,389, 784,411, 5737133)
LCLICK($_return1, $_return2)
WAITMS(1)
LOGWRITE ("Найден цвет 5737133")
END_IF
GETSCREEN
IF_PIXEL_IN(680,438, 718,474, 5390376)
LCLICK($_return1, $_return2)
WAITMS(1)
LOGWRITE ("Найден цвет 5390376")
END_IF
GETSCREEN
IF_PIXEL_IN(766,390, 784,411, 2763306)
LCLICK(932,400)
WAITMS(100)
LOGWRITE ("Найден цвет 2763306")
END_IF
LOGWRITE ("Конец подпрограммы mysub")
END_SUB
LCLICK(986,369)
WAIT(2)
GETSCREEN
IF_PIXEL_IN(388,519, 403,533, 2768619)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("Найден цвет 2768619")
mysub()
END_IF
WAITMS(50)
-
Всем спасибо! За уделенное внимание . Буду сам что нить придумывать. То достану тупыми вопросами) С записью в лог скрипт совсем перестал кликать на искомый цвет ну да ладно)