Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Kingbobkov on November 25, 2015, 05:53:30 PM
-
Доброго дня.
Третий день пытаюсь выполнить следующие условия.
Кто может подскажите пожалуйста, я в этом деле полный нуб.
1. Кликаем координаты
2. Ждём 30 сек.
3. Ищем картинку
4. Если находим картинку #1
5. Возвращаемся в п. #1.
6. Если находим картинку # 2
7. То кликаем новые координаты
* Картинки # 1 и 2 появляются в одних и тех же местах
-
Если не найдем картинку 2 то что? После седьмого пункта что?
LCLICK(100,100) // 1
WAIT(30) // 2
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100) // если находим 1 то ничего не делаем
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100) // если находим 2
LCLICK(300, 300) // то кликаем
WAITMS(100)
END_IF
END_IF
// после этого скрипт начнется заново
-
По задумке да.
Спасибо большое, приеду домой буду побывать.
-
Доброго дня побывал, побывал.Вот что получилось.Посмотрите что не так.Пожалуйста :)
$x=864
$y=520
$x2=758
$y2=346
$x3=829
$y3=188
DBLCLICK($x3,$y3)
KEYSTRING("#1")
LCLICK($x,$y) // Кликаем по координатам
WAIT(80) // Ждем 80 сек.(В идеале запустить поиск картинки и как только одна из двух появится делать следующие действия)
GETSCREEN
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) \\ Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(1)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#1")
LCLICK($x,$y)
WAIT(80)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) \\ Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#3")
LCLICK($x,$y)
WAIT(80) // Ждем 80 сек.(В идеале запустить поиск картинки и как только одна из двух появится делать следующие действия)
GETSCREEN \\ Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
SCREENSHOTEX ((543,377, 701,486)
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100)
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#1")
LCLICK($x,$y)
WAIT(80)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) \\ Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#9")
LCLICK($x,$y)
WAIT(80)
GETSCREEN
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100)
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#1")
LCLICK($x,$y)
WAIT(80)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100)
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#18")
LCLICK($x,$y)
WAIT(80)
GETSCREEN
SCREENSHOTEX ((543,377, 701,486)
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) \\ Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#1")
LCLICK($x,$y) WAIT(80)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) \\Если нашли картинку №2 то закрываем окно с координатами х2,у2 делаем запись в лог и в ночало.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
KEYSTRING("#52")
LCLICK($x,$y)
WAIT(80)
END_IF
\\И так по кругу до бесконечности
Спасибо
-
Вот схема задумки
-
Да кругом одни ошибки, что за
KEYSTRING("#52")
Ты что хочешь напечатать 52? Потому что эта функция именно так и работает.
Черты комментов не в ту сторону! Вот так правильно //
Лишние скобки и порядочное отсутствие END_IF
-
Ввод цифры 52 вуказанные координаты .
Он работает, но через раз.
Иногда отрабатвает, а иногда после нахождения 1 картинки останавливается.
И за чёрточки спасибо.
-
Я понимаю как сделать что бы одно из двух условий выполнить, но когда их больше не могу понять.
-
Вот все написал, теперь будет работать так как ты хочешь. Только не понял логику с увеличением числа? На сколько нужно увеличивать каждый раз и есть ли предел?
$x=864
$y=520
$x2=758
$y2=346
$x3=829
$y3=188
DBLCLICK($x3,$y3)
WAITMS(50)
KEYSTRING("1")
WAITMS(50)
LCLICK($x,$y) // Кликаем по координатам
WAITMS(50)
$check = 0
WHILE($check = 0) // Ждем rартинки и как только одна из двух появится делать следующие действия
GETSCREEN
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) // Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(1)
LCLICK($x2,$y2)
$check = 1
WAIT(1)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) // Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
WAITMS(50)
KEYSTRING("3") // не понял логику увеличения числа?!
WAITMS(50)
LCLICK($x,$y)
WAITMS(50)
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC
-
Вначале пишем 1 если не совпало первая картинка то
Потом 3
потом 9
потом 18
потом 36 если до сюда не попала картинка 1 то в начало с записью в лог.
как дальше сделать, чтобы в случии картинки 2 пошел дальнш?
-
:) Правда в отчаянии был.
-
Вот так тогда.
$x=864
$y=520
$x2=758
$y2=346
$x3=829
$y3=188
$count = 0
DBLCLICK($x3,$y3)
WAITMS(50)
KEYSTRING("1")
WAITMS(50)
LCLICK($x,$y) // Кликаем по координатам
WAITMS(50)
$check = 0
WHILE($check = 0) // Ждем картинки и как только одна из двух появится делать следующие действия
GETSCREEN
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) // Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(1)
LCLICK($x2,$y2)
$check = 1
WAIT(1)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) // Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
WAITMS(50)
INC($count,1)
SWITCH($count)
CASE(1)
KEYSTRING("3")
CASE(2)
KEYSTRING("9")
CASE(3)
KEYSTRING("18")
CASE(4)
KEYSTRING("36")
$check = 1
DEFAULT
END_SWITCH
WAITMS(50)
LCLICK($x,$y)
WAITMS(500)
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC
-
Спасибо.
Буду пробывать :)
Я бы в жизни не сообразил бы.
-
Что-то не пойму, это получается на уровне case 1, 2 и.т., если появится картинка 1 то кликер застывает а не возвращается в начало.
-
Сори все отлично .
Спасибо большое .
-
Доброго времени суток, это снова я :)
Последнее время все чаще чувствую себя деревянным
Не могу в этот скрипт прекрасно работающий
[spoiler]$x=864 // Кнопка Вверх
$y=520 // Кнопка Вверх
$x2=758 // Закрыть окно результата
$y2=346 // Закрыть окно результата
$x3=829 // Окно вводда
$y3=188 // Окно вводда
$count = 0
DBLCLICK($x3,$y3)
WAITMS(50)
KEYSTRING("1")
WAITMS(50)
LCLICK($x,$y) // Кликаем по координатам
WAITMS(50)
$check = 0
WHILE($check = 0) // Ждем картинки и как только одна из двух появится делать следующие действия
GETSCREEN
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) // Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(1)
LCLICK($x2,$y2)
$check = 1
WAIT(1)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) // Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
WAITMS(50)
INC($count,1)
SWITCH($count)
CASE(1)
KEYSTRING("3")
CASE(2)
KEYSTRING("9")
CASE(3)
KEYSTRING("18")
$check = 1
DEFAULT
END_SWITCH
WAITMS(50)
LCLICK($x,$y)
WAITMS(500)
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC[/spoiler]
Вставить этот
[spoiler]GETSCREEN
IF_PICTURE_IN (237,327, 712,511, "Ошибка.bmp", -1, 100)
WAIT(1)
LCLICK(685,356)
WAIT(1)
LCLICK(499,65)
ELSE [/spoiler]
Проблема в том, что время от времени появляется ошибка и все встает.
И проверку надо засунуть в начало перед первым кликом, когда я сам его туда вставляю
то скрипт не работает или работает честично.
Помогите убогому :)
-
:) Спасибо, бай бог здоровья :)
Буду побывать.
-
:'( не работает. Появляется ошибка и все встаёт.
Без потока срабатывает, если отдельно запускать находит и кликакт, если просто ставлю
THREAD(thr_name)// поток
// тело потока
END_THREAD
Не работает.
-
Версия программы у тебя какая? Надеюсь 4.11 003
-
Кликер 4.11.003
-
ну значит сектор поиска задан неверно или картинка ошибки несоответствует , той которая появляется.
возможно нужно предварительно навести курсор на кнопку, а потом только проходят клики?
-
Если так то все работает
GETSCREEN
IF_PICTURE_IN (237,327, 712,511, "Ошибка.bmp", -1, 100)
WAIT(1)
LCLICK(685,356)
WAIT(1)
LCLICK(499,65)
END_IF
Как только вставляются в поток все бездействует.
-
Ты покажи как вставляешь. И куда вставляешь.
-
Вот так весь скрипт работает, но при появлении ошибки зависает.
$x=864 // Кнопка Вверх
$y=520 // Кнопка Вверх
$x2=758 // Закрыть окно результата
$y2=346 // Закрыть окно результата
$x3=829 // Окно вводда
$y3=188 // Окно вводда
$count = 0
DBLCLICK($x3,$y3)
WAITMS(50)
KEYSTRING("1")
WAITMS(50)
LCLICK($x,$y) // Кликаем по координатам
WAITMS(50)
$check = 0
WHILE($check = 0) // Ждем картинки и как только одна из двух появится делать следующие действия
GETSCREEN
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) // Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(1)
LCLICK($x2,$y2)
$check = 1
WAIT(1)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) // Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
WAITMS(50)
INC($count,1)
SWITCH($count)
CASE(1)
KEYSTRING("3")
CASE(2)
KEYSTRING("9")
CASE(3)
KEYSTRING("18")
$check = 1
DEFAULT
END_SWITCH
WAITMS(50)
LCLICK($x,$y)
WAITMS(500)
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC
THREAD(thr_name)// поток
// тело потока
GETSCREEN
IF_PICTURE_IN (237,327, 712,511, "Ошибка.bmp", -1, 100)
WAIT(1)
LCLICK(685,356)
WAIT(1)
LCLICK(499,65)
END_IF
waitms(70) // задержка для разгрузки CPU
END_THREAD
Если включать только поис ошибки то находит и кликает
GETSCREEN
IF_PICTURE_IN (237,327, 712,511, "Ошибка.bmp", -1, 100)
WAIT(1)
LCLICK(685,356)
WAIT(1)
LCLICK(499,65)
END_IF
-
Странно всё это. У меня никаких ошибок нет.
Проблема в том, что время от времени появляется ошибка и все встает.
А ошибку то какую выдаёт?
Если это весь скрипт, то и потоки здесь ни к чему. Поиск картинки-ошибки вставить в череду поиска первых двух.
Можно первой.
И все дела.
$x=864 // Кнопка Вверх
$y=520 // Кнопка Вверх
$x2=758 // Закрыть окно результата
$y2=346 // Закрыть окно результата
$x3=829 // Окно вводда
$y3=188 // Окно вводда
$count = 0
DBLCLICK($x3,$y3)
WAITMS(50)
KEYSTRING("1")
WAITMS(50)
LCLICK($x,$y) // Кликаем по координатам
WAITMS(50)
$check = 0
WHILE($check = 0) // Ждем картинки и как только одна из двух появится делать следующие действия
GETSCREEN
IF_PICTURE_IN (237,327, 712,511, "Ошибка.bmp", -1, 100)
WAIT(1)
LCLICK(685,356)
WAIT(1)
LCLICK(499,65)
WAITMS(500)
ELSE
IF_PICTURE_IN (543,377, 701,486, "1.bmp", -1, 100) // Если нашли картинку №1 то закрываем окно с координатами х2,у2 и в начало
WAIT(1)
LCLICK($x2,$y2)
$check = 1
WAIT(1)
ELSE
IF_PICTURE_IN (543,377, 701,486, "2.bmp", -1, 100) // Если нашли картинку №2 то закрываем окно с координатами х2,у2 вводим текст в х3,у3 и кликаем в х,у.
WAIT(3)
LCLICK($x2,$y2)
WAIT(1)
DBLCLICK($x3,$y3)
WAITMS(50)
INC($count,1)
SWITCH($count)
CASE(1)
KEYSTRING("3")
CASE(2)
KEYSTRING("9")
CASE(3)
KEYSTRING("18")
$check = 1
DEFAULT
END_SWITCH
WAITMS(50)
LCLICK($x,$y)
WAITMS(500)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
-
Спасибо за помощь, буду пробывать.