Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: lahesis333 on November 10, 2020, 10:33:35 PM

Title: Однократный "проход" картинок.
Post by: lahesis333 on November 10, 2020, 10:33:35 PM
Подскажите пожалуйста, что исправить в коде чтобы каждая из картинок когда находится выполнялась один раз и после этого искалась следующая, даже если предыдущая картинка не пропала с экрана?
Code: [Select]
FOR($var = 0 ,$var < 1)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (710,230,730,260, "деятельность.bmp", -1, 100)//нашлась первая картинка
IF($click1 < $_ms)
LCLICK(840,260)//клик в окно1
WAIT(1)
FOR($i=1,$i<=TFCOUNT("музыка.txt"))// берем строку из файла
TOCLIP(TFREAD("музыка.txt", $i)) //копируем строку в буфер
WAITMS(1000)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(50)
END_CYC
$click1 = $_ms+1000
END_IF
END_CYC
else
FOR($var = 1 ,$var < 2)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (730,360,770,400, "интересы.bmp", -1, 100)//нашлась вторая картинка
IF($click1 < $_ms)
LCLICK(840,260)
WAIT(1)
FOR($i=1,$i<=TFCOUNT("интересы.txt")) // берем строку из файла
TOCLIP(TFREAD("интересы.txt", $i)) //копируем строку в буфер
WAITMS(1000)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(50)
END_CYC
$click1 = $_ms+1000
END_IF
END_CYC
else
END_IF
END_IF
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 12, 2020, 02:32:48 PM
Скажите, может я непонятно объяснил суть проблемы? Или какие то еще нюансы? Не думаю что данная задача столь сложна, что за нее никто не хочет браться.(или как раз по этому??)Я правда уже перепробовал не один вариант. Может проблема в том, что идет цикл в цикле? Поэтому не получается настроить кликер?
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 12, 2020, 03:46:28 PM
Непонятно. Но до того как станет понятно, нужно код исправить, он не рабочий.
Перепутаны окончания блоков. Откуда-то появились else в циклах FOR

Ошибки в строках 19, 20, 39, 40, 41, 42
Как там должно быть, зависит от того, что ты хотел.
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 12, 2020, 03:50:02 PM
Подскажите пожалуйста, что исправить в коде чтобы каждая из картинок когда находится выполнялась один раз и после этого искалась следующая, даже если предыдущая картинка не пропала с экрана?
А дальше что должно произойти? Когда начинать снова искать уже найденные.
Они должны искаться независимо друг от друга или вторая только после того, как нашлась первая?

Что хотели получить вот этим?
Code: (clickermann) [Select]
IF($click1 < $_ms)...Своими словами.
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 12, 2020, 06:04:27 PM
Подскажите пожалуйста, что исправить в коде чтобы каждая из картинок когда находится выполнялась один раз и после этого искалась следующая, даже если предыдущая картинка не пропала с экрана?
А дальше что должно произойти? Когда начинать снова искать уже найденные.
Они должны искаться независимо друг от друга или вторая только после того, как нашлась первая?

Что хотели получить вот этим?
Code: (clickermann) [Select]
IF($click1 < $_ms)...Своими словами.
Если честно, то брал за основу один из кодов с форума. Если отбросить мои произведения, то в чистом варианте нужно:
 чтобы картинка1 нашлась-выполнились действия(в моем случае это клик в области картинки и вставка после клика текста из файла)-затем нашлась вторая картинка и действия аналогичны с первой.При этом ни картинка 1 ни картинка 2 с экрана не пропадают. Они могут искаться независимо друг от друга(т.к. они одновременно появляются на экране). Т.е. может находиться сначала 2 и наоборот сначала 1(без разницы). Они друг к другу отношения не имеют.
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 12, 2020, 09:21:35 PM
Code: (clickermann) [Select]
SUB(action, $filename)
    IF($click1 < $_ms)
        LCLICK(840, 260)
        WAIT(1)
        FOR($i=1, $i <= TFCOUNT($filename))
            TOCLIP(TFREAD($filename, $i))
            WAITMS(1000)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            KEYUP(#CTRL)
            WAITMS(50)
        END_CYC
        $click1 = $_ms+1000
    END_IF
END_SUB

IF($find1 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(710,230,730,260, "деятельность.bmp", -1, 100) //нашлась первая картинка
        $find1 = 1
        action("музыка.txt")       
    END_IF
END_IF
IF($find2 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(730,360,770,400, "интересы.bmp", -1, 100) //нашлась вторая картинка
        $find2 = 1
        action("интересы.txt")
    END_IF
END_IF
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 10:59:41 AM
Code: (clickermann) [Select]
SUB(action, $filename)
    IF($click1 < $_ms)
        LCLICK(840, 260)
        WAIT(1)
        FOR($i=1, $i <= TFCOUNT($filename))
            TOCLIP(TFREAD($filename, $i))
            WAITMS(1000)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            KEYUP(#CTRL)
            WAITMS(50)
        END_CYC
        $click1 = $_ms+1000
    END_IF
END_SUB

IF($find1 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(710,230,730,260, "деятельность.bmp", -1, 100) //нашлась первая картинка
        $find1 = 1
        action("музыка.txt")       
    END_IF
END_IF
IF($find2 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(730,360,770,400, "интересы.bmp", -1, 100) //нашлась вторая картинка
        $find2 = 1
        action("интересы.txt")
    END_IF
END_IF
Ой спасибо! А скажите, если у меня таких картинок не две а например 3-4 и более это будет выглядеть так:
Code: [Select]
IF($find1 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(710,230,730,260, "деятельность.bmp", -1, 100) //нашлась первая картинка
        $find1 = 1
        action("музыка.txt")       
    END_IF
END_IF
IF($find2 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(730,360,770,400, "интересы.bmp", -1, 100) //нашлась вторая картинка
        $find2 = 1
        action("интересы.txt")
    END_IF
IF($find3 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(710,230,730,260, "деятельность.bmp", -1, 100) //нашлась первая картинка
        $find3 = 1
        action("музыка.txt")       
    END_IF
END_IF
IF($find4 = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(730,360,770,400, "интересы.bmp", -1, 100) //нашлась вторая картинка
        $find4 = 1
        action("интересы.txt")
    END_IF
И как сделать, чтобы при новом появлении этих картинок(после того как было выполнено условие их однократного нахождения в первый раз) они снова находились и так же выполнялись по одному разу? Сейчас при запуске кода все ок, но при повторном их появлении действий не выполняется...
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 19, 2020, 11:57:05 AM
Если 3-4 то проще так. Аналогия правильная. Только END_IF в конце не хватает.
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 11:59:37 AM
Если 3-4 то проще так. Аналогия правильная. Только END_IF в конце не хватает.
Ну это я как быстрый пример-правильно ли я понял))А нет разницы, если у меня между этими "однократными" условиями будут картинки другие(которые могут искаться до момента пока не пропадают с экрана)?
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 12:01:32 PM
И как сделать, чтобы при новом появлении этих картинок(после того как было выполнено условие их однократного нахождения в первый раз) они снова находились и так же выполнялись по одному разу? Сейчас при запуске кода все ок, но при повторном их появлении действий не выполняется...
А вот с этой ерундой как разобраться?
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 19, 2020, 12:12:57 PM
Если больше, можно оптимизировать кучей способов.
Например:
Code: (clickermann) [Select]
SUB(action, $filename)
    IF($click1 < $_ms)
        LCLICK(840, 260)
        WAIT(1)
        FOR($i=1, $i <= TFCOUNT($filename))
            TOCLIP(TFREAD($filename, $i))
            WAITMS(1000)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            KEYUP(#CTRL)
            WAITMS(50)
        END_CYC
        $click1 = $_ms+1000
    END_IF
END_SUB

SUB(finder, $n_f, $x1_f, $x2_f, $y1_f, $y2_f, $pic_f, $act_f)
    IF($find[$n_f] = 0)
        GETSCREEN($x1_f, $x2_f, $y1_f, $y2_f)
        COLORMODE(6)
        IF_PICTURE_IN($x1_f, $x2_f, $y1_f, $y2_f, $pic_f)
            $find[$n_f] = 1
            action($act_f)
        END_IF
    END_IF
END_SUB

IF($repeat = 0)
    $repeat = 1
    STRSEPARATE("0:0:0:0:0:0:0", ":", $find)
END_IF

finder(0, 710,230,730,260, "деятельность.bmp", "музыка.txt")
finder(1, 730,360,770,400, "интересы.bmp", "интересы.txt")
finder(2, 200,200,222,222, "ехали.bmp", "ехали.txt")
finder(3, 300,300,333,333, "медведи.bmp", "медведи.txt")
finder(4, 300,300,333,333, "на.bmp", "на.txt")
finder(5, 300,300,333,333, "велосипеде.bmp", "велосипеде.txt")
finder(6, 300,300,333,333, "конец.bmp", "конец.txt")
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 19, 2020, 12:18:18 PM
И как сделать, чтобы при новом появлении этих картинок(после того как было выполнено условие их однократного нахождения в первый раз) они снова находились и так же выполнялись по одному разу? Сейчас при запуске кода все ок, но при повторном их появлении действий не выполняется...
Зачем ты мне приписываешь свои слова?  :)

Весь смысл скрипта и был в этом, согласно твоему первому вопросу:
Подскажите пожалуйста, что исправить в коде чтобы каждая из картинок когда находится выполнялась один раз и после этого искалась следующая, даже если предыдущая картинка не пропала с экрана?

Чтобы было как раньше, не используй этот код  ;D
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 19, 2020, 12:25:47 PM
Перезадай весь вопрос по другому с самого начала. Правильно продумай что тебе нужно, какие действия в какой ситуации должны происходить.


Вот с самого начала чуствовалась недосказанность, потому что 'Просто не учитывать уже найденные' - такое бывает. Но гораздо чаще их потом опять нужно учитывать. Когда наступает этот момент не указано. Решение простое для простого случая, но я не хочу предполагать и озвучивать его, лучше точно узнать что нужно в этом конкретном случае.
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 12:43:35 PM
Можно я задам вопрос с примером самого простого варианта с обычными кликами чтобы хотя бы понять вообще как это выглядит с простейшими условиями?))А то очень хочется не просто заниматься копипастом кодов с добавлением своих данных а хотя бы приблизительно понять как это работает :o
Code: [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file1.bmp", -1, 100)  //картинка1 появилась-нажимается пока не пропадет-пропала-ждем картинка2
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file2.bmp", -1, 100)   //картинка2 появилась-нажимается пока не пропадет-пропала- ждем картинка3
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
IF($find1 = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file3.bmp", -1, 100)  //картинка3 появилась-нажалась однократно-не пропала-ждем картинка4
$find1 = 1//этот однократный клик повторять каждый раз после выполнения картинки5 и "старта цикла сначала" с картинки1   
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
IF($find2 = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file4.bmp", -1, 100) // картинка4 появилась-нажалась однократно-не пропала-ждем картинка5
$find2 = 1 //этот однократный клик повторять каждый раз после выполнения картинки5 и "старта цикла сначала" с картинки1
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file5.bmp", -1, 100) //картинка5 появилась-нажимается пока не пропадет-пропала-ждем картинка1
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
Под "стартом цикла сначала" я подразумеваю что картинка5 нашлась и снова появляется картинка1,2,3 и тд.
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 01:28:05 PM
Я не слишком тупой для формирования вопроса? :'(А то мне кажется, что мои желания как то не вяжутся с принципами работы кликера...
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 19, 2020, 03:31:45 PM
Quote
//картинка3 появилась-нажалась однократно-не пропала-ждем картинка4
Давай так назовём: ждём картинку - это конкретно ждём появления именно этой картинки. Ничего в это время другое не делаем и не ищем! И дальше продолжаем только после того как нашлась.
Ждать можно и появления одной из N картинок
Или ждать пока не появятся все из N картинок.

Есть просто ищем картинку. Поиск происходит здесь и сейчас в момент выполнения этого куска кода. В не зависимости нашли или нет, код после этого продолжается дальше.

Вот твоё описание
Quote
//картинка1 появилась-нажимается пока не пропадет-пропала-ждем картинка2
//картинка2 появилась-нажимается пока не пропадет-пропала- ждем картинка3
//картинка3 появилась-нажалась однократно-не пропала-ждем картинка4
//картинка4 появилась-нажалась однократно-не пропала-ждем картинка5
//картинка5 появилась-нажимается пока не пропадет-пропала-ждем картинка1

Здесь есть непонятки. "картинка1 появилась" мы её ждём или просто ищем? Так же и со всеми остальными.

Как я понял
// ждём картинку 1. Как появилась - ждём пока не пропадёт нажимая каждый раз. (Пропала - идём дальше.)
// ждём картинку 2. Как появилась - ждём пока не пропадёт нажимая каждый раз. (Пропала - идём дальше.)
// ждём картинку 3. Как появилась - нажали (идём дальше)
// ждём картинку 4. Как появилась - нажали (идём дальше)
// ждём картинку 5. Как появилась - ждём пока не пропадёт нажимая каждый раз. (Пропала - идём дальше.)

Это правильно?
В начале ты писал, что картинки 1 и 2 независимы. Если независимы мы не можем ждать одну иначе она заблокирует поиск второй.
Или ждём или ждём одну из двух или ищем мгновенно.
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 04:08:50 PM
Я конечно дико извиняюсь! Можно я в видео покажу в чем проблема))А то своими туманными объяснениями я просто трачу ваше время))
Вот сам код
Code: [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (850,560,880,590, "палемун.bmp", -1, 100) //открыть браузер
WAIT(1)
DBLCLICK($_return1 + 1, $_return2 + 1)
WAITMS(500)
END_IF
IF_PICTURE_IN (960,420,990,450, "выборпрофиля.bmp", -1, 100)  //выбор профиля
WAITMS(300)
KEYPRESS(#DOWN)
WAITMS(500)
KEYPRESS(#ENTER)
END_IF
IF($fuck1 < 1)
IF_PICTURE_IN (250,90,280,120, "новаявкладка.bmp", -1, 100) //закрыть текущую вкладку  и создать новую
WAITMS(150)
LCLICK($_return1 + 1, $_return2 + 1)
WAITMS(250)
LCLICK(237,99)
WAITMS(50)
INC($fuck1,1)
END_IF
END_IF
IF_PICTURE_IN (690,270,720,300, "привязкамыла.bmp", -1, 100)  //убрать окно с почтой(если выскочит)
LCLICK(1844,249)
END_IF   
IF_PICTURE_IN (20,90,110,120, "новаявкладка2.bmp", -1, 100)  //ввод адреса в новую вкладку
WAITMS(500)
LCLICK(811,43)
TOCLIP("https://vk.com/id569503422")  //ввод страницы1 вк
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
WAITMS (50)
KEYUP (#CTRL)
KEYPRESS(#ENTER)
END_IF
IF_PICTURE_IN (680,440,720,480, "подписаться.bmp", -1, 100) //добавить в друзья
WAITMS (1500)
LCLICK($_return1 + 1, $_return2 + 1)
WAITMS (1500)
LCLICK(468,42)
TOCLIP("https://vk.com/id620194329") ////ввод страницы2 вк
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
WAITMS (50)
KEYUP (#CTRL)
KEYPRESS(#ENTER)
END_IF
IF_PICTURE_IN (670,440,720,480, "добавитьдрузья.bmp", -1, 100)//добавить в друзья
WAITMS (1500)
LCLICK($_return1 + 1, $_return2 + 1)
WAITMS (1500)
LCLICK(1893,6)
END_IF
Я прекрасно понимаю что данный метод просто ужасен своей примитивностью, но мне хотелось бы разобрать решение именно на нем. ЧТобы, в случае необходимости, можно было идти в своих познаниях дальше))и
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 04:16:00 PM
Вот видео работы кода.https://yadi.sk/i/WF6HWoZuPDUJEw (https://yadi.sk/i/WF6HWoZuPDUJEw)
То есть проблема возникает при повторном запуске браузера когда не выполняется условие закрытия вкладки.
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 19, 2020, 05:29:13 PM
Так ты сам завернул закрытие вкладки в
Code: (clickermann) [Select]
IF($fuck1 < 1)
    ...
    INC($fuck1,1)
END_IF
что делает её выполнение 1 раз при старте скрипта.

Я понимаю почему ты это сделал. Потому, что закрывало не вовремя.
А всё это потому, что ты не контролируешь скрипт. Ты не знаешь в любой момент на какой строке сейчас идёт выполнение.
Ты так построил скрипт. У тебя он гоняет по кругу как бешенный конь. На видео до второй загрузки скрипт прошёл по кругу минимум 5 раз. Скорее всего не 5, а 50 или больше.
Все поиски у тебя мгновенные. Ты ничего не ждёшь. Не ждёшь реакции на твои действия. Нет задержек. Нет гетскринов, он вообще один в начале!

Каждый проход ищутся все эти 7 картинок и обрабатывается одна из семи ситуаций какая подвернулась под руку. Всё, на этом круге ничего уже не будет, только на новой итерации.

Нужно всё поменять.
IF($fuck1 < 1) убираешь вместе с окончанием.
Убираешь все задержки идущие после строк с IF_PICTURE_IN
1,2, и 3 поиск делаешь по шаблону Графика ==>> Ожидание картинки
После открытия новой вкладки и закрытия старой ждёшь примерно 1 сек.
4 поиск делаешь по шаблону Графика ==>> Ожидание картинки с таймером. Таймер ставишь на время в течении которого может выскочить окно с почтой.
5 поиск - сам поиск убираешь и оставляешь только действия
Делаешь поиск 7  "добавитьдрузья" и если не нашёл поиск 6 подписаться
Делаешь паузу чтобы все запросы ушли нормально.
Закрываешь браузер.

Это если на примере как ты хотел. А по нормальному выкидываешь первые 3 поиска +ввод адреса из пятого и запускаешь браузер с параметрами адреса и нужной учётки. В конце закрываешь браузер горячими клавишами.
Title: Re: Однократный "проход" картинок.
Post by: lahesis333 on November 19, 2020, 07:16:02 PM
Вот это ответ!! Спасибо большое за разъяснение! Сделал как ты сказал. Вот что получилось по итогу
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
  COLORMODE(6)
   IF_PICTURE_IN (850,560,880,590, "палемун.bmp", -1, 100)
LOGWRITE ("Сообщение")
   
      $check = 1
  WAITMS(1000)
     
      DBLCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
$check = 0
WHILE($check = 0)
   GETSCREEN
COLORMODE(6)
   IF_PICTURE_IN (960,420,990,450, "выборпрофиля.bmp", -1, 100)
      $check = 1
      KEYPRESS(#DOWN)
WAITMS(500)
KEYPRESS(#ENTER)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
$check = 0
WHILE($check = 0)
   GETSCREEN
  COLORMODE(6)
   IF_PICTURE_IN (250,90,280,120, "новаявкладка.bmp", -1, 100)
      $check = 1
      WAITMS(1000)
      LCLICK($_return1 + 1, $_return2 + 1)
WAITMS(1000)
LCLICK(237,99)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
  WAITMS(1000)
LCLICK(811,43)
TOCLIP("https://vk.com/id569503422")
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
WAITMS (50)
KEYUP (#CTRL)
KEYPRESS(#ENTER)
$check = 0
WHILE($check = 0)
   GETSCREEN
  COLORMODE(6)
   IF_PICTURE_IN (670,440,720,480, "добавитьдрузья.bmp", -1, 100)
      $check = 1
        WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
  WAITMS(1000)
LCLICK(468,42)
TOCLIP("https://vk.com/id620194329")
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
WAITMS (50)
KEYUP (#CTRL)
KEYPRESS(#ENTER)
else
$check = 0
WHILE($check = 0)
   GETSCREEN
COLORMODE(6)
   IF_PICTURE_IN (80,440,720,480, "подписаться.bmp", -1, 100)
      $check = 1
        WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
  WAITMS(1000)
LCLICK(468,42)
TOCLIP("https://vk.com/id620194329")
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
WAITMS (50)
KEYUP (#CTRL)
KEYPRESS(#ENTER)
Но вот только после тогда как произвелся второй ввод адреса после добавления первой станицы в друзья, он уже не находит картинку добавить повторно. Просто иногда может быть при первом открытии страница "подписаться" а может быть "добавить". И так же со второй страницей.
То есть этот цикл выполняется всего один раз. При повторном появлении не выполняется
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
  COLORMODE(6)
   IF_PICTURE_IN (670,440,720,480, "добавитьдрузья.bmp", -1, 100)
      $check = 1
        WAITMS(1000)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Однократный "проход" картинок.
Post by: Vint on November 20, 2020, 05:23:29 PM
Ну ты накрутил. Вроде я расписал как делать.
Code: (clickermann) [Select]
//открыть браузер
$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(850,560,880,590, "палемун.bmp")
        $check = 1
        DBLCLICK($_return1, $_return2)
        WAITMS(200)
    ELSE
        WAITMS(50)
    END_IF
END_CYC

//выбор профиля
$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(960,420,990,450, "выборпрофиля.bmp")
        $check = 1
        KEYPRESS(#DOWN)
        WAITMS(500)
        KEYPRESS(#ENTER)
        WAITMS(100)
    ELSE
        WAITMS(50)
    END_IF
END_CYC

//закрыть текущую вкладку  и создать новую
$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(250,90,280,120, "новаявкладка.bmp")
        $check = 1
        LCLICK($_return1 + 1, $_return2 + 1)
        WAITMS(1000)
        LCLICK(237,99)
    ELSE
        WAITMS(50)
    END_IF
END_CYC
WAITMS(1000)

//убрать окно с почтой(если выскочит)
$time = $_ms + 1500
WHILE($time > $_ms)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(690,270,720,300, "привязкамыла.bmp")
        $time = 0
        LCLICK($_return1, $_return2)
        WAITMS(700)
    ELSE
        WAITMS(50)
    END_IF
END_CYC

//ввод адреса в новую вкладку
LCLICK(811,43)
TOCLIP("https://vk.com/id569503422")
WAITMS(100)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#V)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(50)
KEYPRESS(#ENTER)
WAITMS(200)


//добавить в друзья
$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(670,440,720,480, "добавитьдрузья.bmp")
        $check = 1
        LCLICK($_return1, $_return2)
        WAITMS(100)
    ELSE
        // или подписаться
        IF_PICTURE_IN (680,440,720,480, "подписаться.bmp")
            $check = 1
            LCLICK($_return1 + 1, $_return2 + 1)
            WAITMS(1500)
            LCLICK(468,42)
            TOCLIP("https://vk.com/id620194329")
            WAITMS(100)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            WAITMS(50)
            KEYUP(#CTRL)
            WAITMS(50)
            KEYPRESS(#ENTER)
            WAITMS(2000)
        ELSE
            WAITMS(50)
        END_IF
    END_IF
END_CYC
Title: Re: Однократный "проход" картинок.
Post by: anton1993 on November 27, 2020, 11:34:44 PM
Ну ты накрутил. Вроде я расписал как делать.
Наконец-то удалось применить ваш код к моей игре))Вроде бы все работает. Но есть одно НО. Делал все по образу и подобию, но с вашим кодом после нахождения последней картинки в коде, когда появляется новая, то кликер стартует с начала(т.е. постоянно работает по кругу от первой картинки к последней). У меня же почему-то выполняется ТОЛЬКО один проход. После выполнения последней картинки когда появляется первая, то ничего не происходит((
Вот само творение
Code: [Select]
$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(490,200,530,240, "входвк.bmp")
        $check = 1
         WAITMS(200)
        LCLICK(539,49)
        WAITMS(200)
        TOCLIP("https://vk.com/bestmoba?ad_id=group_posting_-.pt-gift.gt-portal_petxp_egg.cq-3_5000_10.-#gift_id=Rn9esfinGL")
            WAITMS(100)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            WAITMS(50)
            KEYUP(#CTRL)
            WAITMS(50)
            KEYPRESS(#ENTER)
            WAITMS(100)
            LCLICK(743,43)
            KEYPRESS(#ENTER)
         WAITMS(50) 
 
 LOGWRITE ("6")
    ELSE
        WAITMS(50)
    END_IF
END_CYC

$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(470,180,500,210, "вводлогина.bmp")
        $check = 1
WAITMS(100)
LCLICK(530,226)
        WAITMS(1000)
              WAITMS(1000) 
              INC($i,1)
TOCLIP(TFREAD("логины.txt", $i)) //копируем строку в буфер
WAITMS(500)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(500)
LCLICK(548,286)               
   INC($ii,1)
TOCLIP(TFREAD("пароли.txt", $ii)) //копируем строку в буфер
WAITMS(500)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)   
        WAITMS(100)
 LCLICK(549,336) 
      WAITMS(5000)
 LCLICK(83,49)    
    END_IF   
END_CYC
     $time = $_ms + 35000
WHILE($time > $_ms)
    GETSCREEN
    COLORMODE(6)
   IF_PICTURE_IN(1490,240,1530,280, "чпзакрыть.bmp")
        $time = 0
        LCLICK($_return1, $_return2)
        WAITMS(700)
    ELSE
        WAITMS(50)
    END_IF
END_CYC
$check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
     IF_PICTURE_IN(590,270,630,310, "входпрофиль.bmp")
        $check = 1
         WAITMS(200)
        LCLICK($_return1 + 1, $_return2 + 1)
       WAITMS(200)
         ELSE
       WAITMS(50) 
       END_IF
END_CYC
    $check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(590,270,630,310, "входпрофиль.bmp")
        $check = 1
         WAITMS(200)
        LCLICK($_return1, $_return2)
 ELSE
        WAITMS(50)
    END_IF
END_CYC
     $check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(970,730,1010,770, "сменасерва.bmp")
        $check = 1
         WAITMS(200)
        LCLICK($_return1, $_return2)
         ELSE
        WAITMS(50)
    END_IF
END_CYC

     $check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(790,370,830,400, "74серв.bmp")
        $check = 1
         WAITMS(200)
        LCLICK(1366,700)
        WAITMS(500)
        LCLICK(1366,700)
        WAITMS(500)
        LCLICK(1366,700)
        WAITMS(500)
       LCLICK(1366,700)
        WAITMS(500)
        LCLICK(1002,604)
        WAITMS(500)
        LCLICK(1030,752)
WAIT(2)
LCLICK(539,49)
WAITMS(100)
TOCLIP("https://vk.com/bestmoba?ad_id=group_posting_-.pt-gift.gt-portal_petxp_egg.cq-3_5000_10.-#gift_id=Rn9esfinGL")
            WAITMS(100)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            WAITMS(50)
            KEYUP(#CTRL)
            WAITMS(250)
            KEYPRESS(#ENTER)
             WAIT(25)
LCLICK(1519,137)
WAITMS(2000)
LCLICK(1394,310)            
 ELSE
 IF_PICTURE_IN(790,370,830,400, "51серв.bmp")
        $check = 1
         WAITMS(200)
       LCLICK(1365,452)
        WAITMS(500)
        LCLICK(1365,452)
        WAITMS(500)
     LCLICK(1365,452)
        WAITMS(500)
      LCLICK(1365,452)
        WAITMS(500)
      LCLICK(1026,514)
        WAITMS(500)
        LCLICK(1030,752)
        WAIT(2)
LCLICK(539,49)
WAITMS(100)
TOCLIP("https://vk.com/bestmoba?ad_id=group_posting_-.pt-gift.gt-portal_petxp_egg.cq-3_5000_10.-#gift_id=Rn9esfinGL")
            WAITMS(100)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            WAITMS(50)
            KEYUP(#CTRL)
            WAITMS(250)
            KEYPRESS(#ENTER)
             WAIT(25)
LCLICK(1519,137)
WAITMS(2000)
LCLICK(1394,310)
         ELSE
               WAITMS(50)
    END_IF               
    END_IF
END_CYC

 $check = 0
WHILE($check = 0)
    GETSCREEN
    COLORMODE(6)
    IF_PICTURE_IN(800,370,830,400, "51серв.bmp")
        $check = 1
         WAITMS(200)
      LCLICK(1365,452)
        WAITMS(500)
       LCLICK(1365,452)
        WAITMS(500)
      LCLICK(1365,452)
        WAITMS(500)
       LCLICK(1365,452)
        WAITMS(500)
             LCLICK(1026,514)
        WAITMS(500)
        LCLICK(1030,752)
        WAIT(2)
LCLICK(539,49)
WAITMS(100)
TOCLIP("https://vk.com/bestmoba?ad_id=group_posting_-.pt-gift.gt-portal_petxp_egg.cq-3_5000_10.-#gift_id=Rn9esfinGL")
            WAITMS(100)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            WAITMS(50)
            KEYUP(#CTRL)
            WAITMS(250)
            KEYPRESS(#ENTER)
             WAIT(25)
LCLICK(1519,137)
WAITMS(2000)
LCLICK(1394,310)
 ELSE
 IF_PICTURE_IN(790,370,830,400, "74серв.bmp")
        $check = 1
         WAITMS(200)
        LCLICK(1366,700)
        WAITMS(500)
        LCLICK(1366,700)
        WAITMS(500)
        LCLICK(1366,700)
        WAITMS(500)
       LCLICK(1366,700)
        WAITMS(500)
        LCLICK(1002,604)
        WAITMS(500)
        LCLICK(1030,752)
      WAIT(2)
LCLICK(539,49)
WAITMS(100)
TOCLIP("https://vk.com/bestmoba?ad_id=group_posting_-.pt-gift.gt-portal_petxp_egg.cq-3_5000_10.-#gift_id=Rn9esfinGL")
            WAITMS(100)
            KEYDOWN(#CTRL)
            WAITMS(50)
            KEYPRESS(#V)
            WAITMS(50)
            KEYUP(#CTRL)
            WAITMS(250)
            KEYPRESS(#ENTER)
             LCLICK(1519,137)
WAIT(25)
LCLICK(1519,137)
WAITMS(2000)
LCLICK(1394,310)
         ELSE
               WAITMS(50)
    END_IF               
    END_IF
END_CYC
Title: Re: Однократный "проход" картинок.
Post by: anton1993 on November 28, 2020, 01:56:24 PM
Всем спасибо! Вроде разобрался))