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

Основной раздел => Общие вопросы => Topic started by: SimplY on November 23, 2019, 12:38:01 PM

Title: Если картинка найдена, то переменная = 1. Если не найдена, то пустая
Post by: SimplY on November 23, 2019, 12:38:01 PM
Всем привет:)
Чтобы темы не плодить, собрал все вопросы здесь.

Вопрос 1
Как это сделать? Если картинка найдена, то переменная = 1, если не найдена, то игнорирует.
Code: (clickermann) [Select]
GETSCREEN(421,200,714,427)
IF_PICTURE_IN (421,200,714,427, "file.bmp", -1, 100)
   $a = 1 //Если картинка найдена, то переменная $a = 1
   WAITMS(100)
END_IF
//Дальнейший скрипт
WAITMS(500)
LCLICK(767,323)  // 16777215
WAITMS(200)
LCLICK(767,323)  // 16777215
WAITMS(500)
KEYSTRING($a)
Почему в итоге вставляет 0? Даже если картинка найдена. Если хоть одна из нескольких картинок найдена, то переменная $a должна быть всегда = 1. Например, из 5 картинок найдено 2 и соответственно кликер наткнулся на две строчки объявить переменную $a, то в этом случае в столбце $а кликер вставляет 1. Если не найдено ни одной, то переменная пустая и кликер оставляет ячейку в Excel пустой.

Должно быть так:
(http://skrinshoter.ru/i/231119/qZjQ4D5p.png)


Вопрос 2
Возможно сделать так, чтобы кликер открывал определенный файл ексель без кликов? Если файл уже открыт, то открывал открытый файл, а не второй.

Вопрос 3
Скрипт всегда открыт. Выполняется 50-60 раз в день. Раз в день в строгое время нужно производить определенное действие. Целесообразно ли в этом скрипте прописывать это действие, или лучше запускать копию кликермана? Если целесообразно, как сделать так, чтобы часть скрипта запускалась строго в 17:30 и до этого времени игнорировалась?

Вопрос 4
Какую реальную пользу несут потоки в автокликере? Я так понял, потоки делают сложные математические вычисления, пока остальной сценарий запущен. Также они воспроизводят два сценария одновременно, но не может ведь кликер в одно и то же время кликать дважды на экран? Где на практике они полезны?

Вопрос 5
Возможно ли сделать так, чтобы кликер выполнял определенное действие в браузере Google Chrome и одновременно в фоне действие в Excel?

Заключение
Дойду до банкомата и переведу разработчику деньжат:-)
Title: Re: Если картинка найдена, то переменная = 1. Если не найдена, то пустая
Post by: Ramzesia on November 24, 2019, 03:41:53 AM
Вопрос 1
Как это сделать? Если картинка найдена, то переменная = 1, если не найдена, то игнорирует.
Code: (clickermann) [Select]
GETSCREEN(421,200,714,427)
IF_PICTURE_IN (421,200,714,427, "file.bmp", -1, 100)
   $a = 1 //Если картинка найдена, то переменная $a = 1
   WAITMS(100)
END_IF
//Дальнейший скрипт
WAITMS(500)
LCLICK(767,323)  // 16777215
WAITMS(200)
LCLICK(767,323)  // 16777215
WAITMS(500)
KEYSTRING($a)
Почему в итоге вставляет 0? Даже если картинка найдена. Если хоть одна из нескольких картинок найдена, то переменная $a должна быть всегда = 1. Например, из 5 картинок найдено 2 и соответственно кликер наткнулся на две строчки объявить переменную $a, то в этом случае в столбце $а кликер вставляет 1. Если не найдено ни одной, то переменная пустая и кликер оставляет ячейку в Excel пустой.

Должно быть так:
(http://skrinshoter.ru/i/231119/qZjQ4D5p.png)
Потому что он не находит картинку, и переменная присваивает ноль. Попробуй уменьшить процент совпадения, со 100 на 90. Впиши после поиска картинки запись в лог, что бы знать точно находит или нет.
Code: (clickermann) [Select]
LOGWRITE ("Есть картинка")И если ты не хочешь писать ноль, то лучше поставить Else
Code: (clickermann) [Select]
GETSCREEN(421,200,714,427)
IF_PICTURE_IN (421,200,714,427, "file.bmp", -1, 100)
   $a = 1 //Если картинка найдена, то переменная $a = 1
   WAITMS(100)
   //Дальнейший скрипт
   WAITMS(500)
   LCLICK(767,323)  // 16777215
   WAITMS(200)
   LCLICK(767,323)  // 16777215
   WAITMS(500)
   KEYSTRING($a)
ELSE // если не найдена, то игнорирует.
   WAITMS(50)
END_IF
Title: Re: Если картинка найдена, то переменная = 1. Если не найдена, то пустая
Post by: Oraven on November 24, 2019, 09:46:02 PM
Вопрос 1 

Code: (clickermann) [Select]
GETSCREEN(421,200,714,427)
IF_PICTURE_IN (421,200,714,427, "file.bmp", -1, 100)
   $a = 1 //Если картинка найдена, то переменная $a = 1
ELSE
   $a = -1
END_IF

//Дальнейший скрипт
LCLICK(767,323)  // 16777215
WAITMS(200)

LCLICK(767,323)  // 16777215
WAITMS(500)

IF($a ! -1) // если переменная равна -1 действие не выполняется
   KEYSTRING($a)
   WAITMS(500)
END_IF

Вопрос 2

Code: (clickermann) [Select]
EXECUTE("Таблица.xlsx")
Вопрос 3
Чтобы действие выполнилось в заданное время нужно использовать поток.
Code: (clickermann) [Select]
THREAD(t1, 1)
   IF(($_time_h = 17)&($_time_m = 30)&($_time_s = 0)) // 17:00:00
      // действие
   ELSE
      WAITMS(100)
   END_IF
END_THREAD

Вопрос 4
Поток выполняет скрипт параллельно с другим скриптом. Строки скрипта все равно выполняются друг за другом только вперемешку с другим скриптом. Это не может ускорить выполнение. Например выполнение функции IF_PICTURE_IN полностью затормозит все потоки пока функция не отработает.