Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: andrei on January 24, 2017, 10:33:56 PM
-
прошу помощи!
задача такая, ищем одну из 6 картинок из массива, если не нашли делаем клик LCLICK(1810,925) перелистываем и опять ищем,процесс должен завершится после того как нашли одну из картинок из массива или по ограничению циклов поиска (35), но что то идет не так, процесс завершается после 6 перелистываний. что то я не так на сделал )))
$arr[0] = "BMP\A032.bmp" // Названия картинок, включая относительный путь, помещаем в массив
$arr[1] = "BMP\A033.bmp"
$arr[2] = "BMP\A030.bmp"
$arr[3] = "BMP\A031.bmp"
$arr[4] = "BMP\005.bmp"
$arr[5] = "BMP\006.bmp"
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
FOR($i = 0, $i < 6) // Выполнится 6 раз (по количеству искомых картинок в массиве) и без задержек
IF_PICTURE_IN (0,0,200,60, $arr[$i], -1, 80) // красный крестик
$check = 1
LCLICK(1000,540)
WAITMS(500)
$i = 6 // Завершаем поиск, если изображение найдено
ELSE
waitms(500)
LCLICK(1810,925)
WAITMS(4000)
INC($skript_count,1) ///ограничение циклов
IF($skript_count = 35) //количество циклов
$skript_count = 0
reset()
wait(1)
goto (m1)
END_IF
END_IF
END_CYC
спасибо))
-
в редакторе кликера есть кнопка "расставить отступы" - волшебная палочка. жмякай ее, и увидишь, что не хватает одного завершения цикла. выпрыгивать из цикла(ов) на метку по Goto категорически запрещено, будут проблемы.
а вообще, алгоритм твой какойто замудреный. вот написал чисто по твоему описанию:
ищем одну из 6 картинок из массива, если не нашли делаем клик LCLICK(1810,925) перелистываем и опять ищем,процесс должен завершится после того как нашли одну из картинок из массива или по ограничению циклов поиска (35)
$arr[0] = "BMP\A032.bmp" // Названия картинок, включая относительный путь, помещаем в массив
$arr[1] = "BMP\A033.bmp"
$arr[2] = "BMP\A030.bmp"
$arr[3] = "BMP\A031.bmp"
$arr[4] = "BMP\005.bmp"
$arr[5] = "BMP\006.bmp"
FOR($skript_count = 0, $skript_count < 35) //проверяем 35 раз
GETSCREEN
COLORMODE(6)
FOR($i = 0, $i < ARRSIZE($arr)) //выполнится столько раз, сколько элементов в массиве.
IF_PICTURE_IN (0,0,200,60, $arr[$i], -1, 80)
LCLICK(1000,540) // если нашли одну из картинок, чегото жмем
WAITMS(500)
$i = 999999 // и завершаем циклы.
$skript_count = 999999
END_IF
END_CYC
IF($i = ARRSIZE($arr)) //если не найдено ниодной картинки из тех что в массиве
waitms(500)
LCLICK(1810,925) //перелистываем
WAITMS(4000)
END_IF
END_CYC
//а уже после завершения циклов, можно делать другие действия и прыгать на метки.
//возможно потребуется добавить условия выполнения этих действий. (процесс должен завершится после того как нашли одну из картинок из массива или по ограничению циклов поиска 35)
// а вот что должно произойти если картинка нашлась ... или если не нашлась, ты не написал
reset()
wait(1)
goto (m1)
-
спасибо)))
если картинка нашлась то выполняем скрипт дальше , а вот если не нашлась , то нужно сделать перезагрузку браузера это подпрограмма reset() и потом перейти на метку goto (m1)
если в двух словах то ищем одну из картинок с массива, если ничего не нашли то перелистываем и опять ищем , и так пока не найдем или пока не наступит второе условие ,перелистнули 35 раз. если картинку нашли то делаем клик и выполняем скрипт дальше , а если пролистали 35 раз и не нашли то нужно перезагрузить и перейти на метку m1. вот как то так. я не художник, я только учусь )) вот по этому у меня такой корявый скрипт ;D
-
вот теперь понятнее. всё просто :
$arr[0] = "BMP\A032.bmp" // Названия картинок, включая относительный путь, помещаем в массив
$arr[1] = "BMP\A033.bmp"
$arr[2] = "BMP\A030.bmp"
$arr[3] = "BMP\A031.bmp"
$arr[4] = "BMP\005.bmp"
$arr[5] = "BMP\006.bmp"
FOR($skript_count = 0, $skript_count < 35) //проверяем 35 раз
GETSCREEN
COLORMODE(6)
FOR($i = 0, $i < ARRSIZE($arr)) //выполнится столько раз, сколько элементов в массиве.
IF_PICTURE_IN (0,0,200,60, $arr[$i], -1, 80)
LCLICK(1000,540) // если нашли одну из картинок, чегото жмем
WAITMS(500)
$i = 999999 // и завершаем циклы.
$skript_count = 999999
END_IF
END_CYC
IF($i = ARRSIZE($arr)) //если не найдено ниодной картинки из тех что в массиве
waitms(500)
LCLICK(1810,925) //перелистываем
WAITMS(4000)
END_IF
END_CYC
IF($skript_count = 35) // если картинка не найдена за 35 пролистываний
reset() //то перезагрузка и прыжок
wait(1)
goto (m1)
END_IF
//тут выполняем скрипт дальше, если одна из картинок всеже нашлась.
-
ОГРОМНОЕ СПАСИБО!!!