Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: JacsoN on November 15, 2019, 08:15:28 PM
-
доброй пятници ! ! ! помогите освоить условия хоть убей не понимаю как они взаимо действуют..... вот мой щяс скрипт.
Мысль такова нажимаем "5" следущее действие гринскрин поиск картинки..... если нашло кликает если нет нажимаем"5"
и все поновой ищем первую картинку.
если кликнуло ищем пексель нашли клик и так 3 раза ищем одинаковый пиксель но по разным кординатам P.S многие в личку не отвечают( или говорят разберайся сам.......Очень прошу обясните
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "666.bmp")
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(444,878, 471,910, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(461,735, 469,771, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(320,620, 459,637, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
GETSCREEN
IF_PIXEL_IN(326,569, 459,583, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
не ребят как раз ето именно практическое задание сейчас осваиваю все на практике, просто и так начал для себя с легкого что смог понять как пойму то стану великие дела делать Спасибо щяс попробую скопировать и разобраться для себя по вашему примеру
-
щяс пытаюсь понять почему именно было использованоLOGWRITE а не WHILE ?
-
а есть какаето более развернутая справка по описанию всех значений ?
то както мне все туго доходит все ети термины вроди читаешь а понять не можешь как все там происходит
-
ребята давайте сделаем для новичков таких как я какието технические задания для освоения програамы при поддержке бывалых
-
ребята такая проблемка как правельно подкоректировать нужно чтобы скрипт ждал найденый пиксель/картинку и не переходил к следуйщему действию ето реально ? ето для того чтобы не игратся с WAITMS(00) тоесть сам скрипт ждет появление картинки или ето будет сильно грузить проц?
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
END_IF
WAITMS(420)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
END_IF
WAITMS(300)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
END_IF
WAITMS(150)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
END_IF
WAITMS(400)
ELSE
LOGWRITE ("картинки нет")
END_IF
-
ребята такая проблемка как правельно подкоректировать нужно чтобы скрипт ждал найденый пиксель/картинку и не переходил к следуйщему действию ето реально ? ето для того чтобы не игратся с WAITMS(00) тоесть сам скрипт ждет появление картинки или ето будет сильно грузить проц?
В редакторе слева, меню "Шаблоны" -->> Графика -->> Ожидание картинки/Ожидание цвета/Ожидание цвета IF_PIXEL_IN
-
Тоесть если я все правельно сообразил мне надо сделать было так вот что я сделал но пока не могу проверить не начался рабочий день вот что у меня получилось поправте пожалусто если не так
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так шесть раз ищем одинаковый пиксель но по разным кординатам с ожиданием
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(400)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(420)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(400)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(300)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(150)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(400)
ELSE
LOGWRITE ("картинки нет")
END_IF
-
сделал так но фигня какаято кликает по Картинка 1 и замерает чтото не так (((
-
сделал так но фигня какаято кликает по Картинка 1 и замерает чтото не так (((
Всё правильно. Как ты и хотел
...нужно чтобы скрипт ждал найденый пиксель/картинку и не переходил к следуйщему действию
Он не замирает, он ждёт пиксель (сначала 213)
-
как то долго ладно буду тестировать Спасибо наверное надо поубирать waitms(300)
-
исправье чтоб последовательно ожидал картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (582,421, 859,1044, "zp.bmp", 80)
$check = 1
LCLICK($_return1+2, $_return2+2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(821,554, 854,583, 42870)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
-
Он и так ждёт.
Сначала ждёт "zp.bmp", потом цвет 42870
-
обьясните лудше примером
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
END_IF
WAITMS(420)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
END_IF
WAITMS(300)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
END_IF
WAITMS(150)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
END_IF
WAITMS(400)
HALT
ELSE
LOGWRITE ("картинки нет")
END_IF
GOTO(skip)
GOTO(skip) как ето использевать никогда не пользевался нужно чтобы скриптпосле HALT через 10 секунд скрипт по новой возобновил работу. читал что GOTO както можна использевать но незнаю как правельно
-
GOTO это грубый кастыль, нужен для перепрыгивания выполнения из одного места в другое.
HALT полностью останавливает выполнение, после этого уже не будет никакого продолжения.
Не знаю, это часть скрипта или есть еще, но если тебе нужно ждать 10 сек то удали HALT и вставть WAIT
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
END_IF
WAITMS(420)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
END_IF
WAITMS(300)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
END_IF
WAITMS(150)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
END_IF
WAIT(10) // задержка 10 сек
ELSE
LOGWRITE ("картинки нет")
END_IF
-
Ого я не ожидал что сам Oraven ответит ето для меня как личное приветствие )))
так теперь по делу почему етот скрипл с wiaitms LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
END_IF
WAITMS(420)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
END_IF
WAITMS(400)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
END_IF
WAITMS(300)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
END_IF
WAITMS(150)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
END_IF
WAITMS(400)
ELSE
LOGWRITE ("картинки нет")
END_IF
лудше работает чем етот который с ожиданием картинки ? поидее с ожиданием картинки должен лудше работать LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(400)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(420)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(400)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(300)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(150)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
ELSE
WAITMS(50)
END_IF
END_CYC
WAITMS(400)
ELSE
LOGWRITE ("картинки нет")
END_IF
пожалуста ответьте как лудше то иногда бывает так что скрипт который с waitms просто дает осечку ну задержка интернета и все скрипт тупит. порекомендуйте как лудше
-
Первый скрипт ищет пиксели 1 - 6, если не найдено переходит к следующему.
Второй скрипт перейдет к следующему только если пиксель найден.
Я не представляю что ты имеешь ввиду под "лучше работает". Если дело в скорости, так убери задержки между циклами второго скрипта, они там ненужны.
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
WAITMS(1200)
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(400)
LOGWRITE ("пиксель 6")
ELSE
WAITMS(50)
END_IF
END_CYC
ELSE
LOGWRITE ("картинки нет")
END_IF
-
орвен скажи для быстрого отклика как сделать разделить правильно свой скрипт задача: нужно чтобы LOGWRITE ("нажимаем 5")
KEYPRESS(#5) работала параллельно поиску первой картинки точнее из поиска сделать также ожидание и если первую нашло то пошло дальше как в етом скрипте тут 5 ищет и так покругу поправите если не так LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
ELSE
WAITMS(50)
END_IF
END_CYC
ELSE
LOGWRITE ("картинки нет")
END_IF
картинки улетают со скоростью света Отцы прошу на советы картинка размером 2x30 пиксель в длинну (примерно)
-
Вероятно вам нужно чтото такое.
Код не проверял щас далеко от компа так что если что сторожилы поправят.
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
-
Ребята как сделать так чтобы скрипт параллельно нажимал "5" c задержкой 1 сек(Wait(1)) и не мешая поиску первой картинки то есть 5 нажимается себе а поиск ищет себе и ето все одновременно? чтобы уменьшить скажем так шанс осечки. и все ето желательно в 1 запущенном Clicermann
P.S.
я проверю но для меня тут много непонятного) хотя все понятно но хз не работал так еще я завтра отпишу что как работает.
-
Ребята как сделать так чтобы скрипт параллельно нажимал "5" c задержкой 1 сек(Wait(1)) и не мешая поиску первой картинки то есть 5 нажимается себе а поиск ищет себе и ето все одновременно? чтобы уменьшить скажем так шанс осечки. и все ето желательно в 1 запущенном Clicermann
P.S.
я проверю но для меня тут много непонятного) хотя все понятно но хз не работал так еще я завтра отпишу что как работает.
А для чего у нас потоки?
THREAD(t1, 1) // данный поток выполняется независимо от задержек остального скрипта.
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAIT(1)
END_THREAD
GETSCREEN //следущее действие гринскрин
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp") // поиск картинки
SETTHREAD (t1, 2) // останавливаем поток нажатия "5"
LOGWRITE ("найдена картинка")
LCLICK($_return1, $_return2) // если нашло кликает
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("пиксель 6")
ELSE
WAITMS(50)
END_IF
END_CYC
SETTHREAD (t1, 1) // запускаем поток нажатия "5"
ELSE
LOGWRITE ("картинки нет")
END_IF
Но нужно понимать что выполнение функции IF_PICTURE_IN тормозит весь скрипт, потому что команды все равно выполняются дуг за другом по списку, и пока функция поиска не отработает ничто другое в скрипте в других потоках работать не будет.
-
Oraven скажи что ты думаешь на щет скрипта от ДЯДЯ ВИТЯ ? непонимаю а какая разница между
THREAD(t1, 1) // данный поток выполняется независимо от задержек остального скрипта.
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAIT(1)
END_THREAD
и просто keepres (#5)?
-
Создавать отдельный поток ради нажатия одной клавиши это как стрелять из пушки по воробьям))) Весело но не логично)))
Ну сделайте так)
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
KEYPRESS(#5) // Жмяк 5
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
KEYPRESS(#5)
WAITMS(1000)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
-
;D ;D ;D рассмешил! зачтено. но цифра 5 у меня задействована как обновление принудительно
-
Тоесть если я вас правильно понял, вам нужен следующий алгоритм. Жмем 5=обновляем. Картинка найдена=обновляем. Нашли первый пиксель=обновляем и так далие?
-
Если я вас правильно понял вот мой вариант решения.
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
LOGWRITE ("pix not fined")
WAITMS(50)
END_IF
END_CYC
end_sub
KEYPRESS(#5) // Жмяк 5
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
LOGWRITE ("picture not fined")
KEYPRESS(#5)
WAITMS(100)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
Ну и для любителей обьемного кода)) Такое решение)))
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
WAITMS(1000)
//Ждем картинку
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT666.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
ELSE
// Если картинка не нашлась то вероятно клавиша 5 не сработала. Жмяк еще раз ее. и снова проверяем наличие картинки через секунду
LOGWRITE ("picture not fined")
KEYPRESS(#5)
WAITMS(100)
END_IF
END_CYC
//если кликнуло ищем пексель нашли клик и так ЧЕТЫРЕ ! раза ищем одинаковый пиксель но по разным кординатам
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(486,963, 515,998, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 1")
ELSE
LOGWRITE ("pix 1 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(368,815, 451,837, 11513775)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 2")
ELSE
LOGWRITE ("pix 2 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 3")
ELSE
LOGWRITE ("pix 3 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(356,624, 500,637, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 4")
ELSE
LOGWRITE ("pix 4 not fined")
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(355,682, 499,697, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 5")
ELSE
LOGWRITE ("pix 5 not fined")
WAITMS(50))
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(361,606, 502,618, 213)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(50)
KEYPRESS(#5)
WAITMS(100)
LOGWRITE ("пиксель 6")
ELSE
LOGWRITE ("pix 6 not fined")
WAITMS(50)
END_IF
END_CYC
-
Так ребята Вопрос!!!! 8) 8) 8)
Как искать несколько картинок тут
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
-
Жду ответа от Знающих как искать несколько разных картинок ??? ?
-
Жду ответа от Знающих как искать несколько разных картинок ??? ?
Прописать несколько условий с поиском разных картинок, Ватсон...
-
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
LOGWRITE ("нажимаем 5")
KEYPRESS(#5) // 1. нажимаем "5" // 2. если нет нажимаем"5" и все поновой ищем первую картинку.
//Ждем картинку
$check = 0
WHILE($check = 0)
LOGWRITE ("нажимаем 5")
KEYPRESS(#5)
wait(1)
GETSCREEN
IF_PICTURE_IN (5,197, 559, 795, "KAT999.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(486, 963, 515, 998, 213)
Find_pix(368, 815, 451, 837, 11513775)
Find_pix(355, 682, 499, 697, 213)
Find_pix(356, 624, 500, 637, 213)
Find_pix(355, 682, 499, 697, 213)
Find_pix(361, 606, 502, 618, 213)
б"И"да пришла !! в етом скрипте произходит 2-3 клика по нужным картинкам а потом Сюрпрайз) что не так подскажите Скрипт Не мой в Ветке есть такойже но етот работает но тормозится ((
-
Вот так искать несколько картинок ? и если да то тут нужны Wait? или поубирать?
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(711,389, 773,956, 113282)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
а как тут теперь скорость поиска? дольше искать будет ? может выгоднее запустить несколько Кликерманов?
-
Не верные параметры в заголовке подпрограммы
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
Кликер не поддерживает пока присвоение переменным значения.
Правильно так:
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)
Но в случаи того скрипта $check там вообще нельзя писать, та как в вызове нет такого параметра. Отсюда и ошибка.
На счет твоего скрипта верно так
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (506,393, 779,1008, "zp.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(711,389, 773,956, 113282)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
-
а как тут теперь скорость поиска? дольше искать будет ? может выгоднее запустить несколько Кликерманов?
Искать будет картинки друг за другом, пока не совпадет. Скорость зависит от размера области поиска и размера картинки поиска.
-
а как тут теперь скорость поиска? дольше искать будет ? может выгоднее запустить несколько Кликерманов?
Искать будет картинки друг за другом, пока не совпадет. Скорость зависит от размера области поиска и размера картинки поиска.
Размер картинки 1x30-50 пикселей в длину примерно такая картинка , а еще что скажешь из личного опыта 2- запущенных кликермана медленнее будут работать чем 1 нос полным кодом? то есть если в каждом кликермане задать область допустим 1 половина экрана и 2 вторая половина экрана
-
Народ кто шарит может кинуть правильно смысл
(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))
Выдает ошибку, что не так ?
Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
-
Народ кто шарит может кинуть правильно смысл
(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))
Выдает ошибку, что не так ?
Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...
-
Народ кто шарит может кинуть правильно смысл
(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))
Выдает ошибку, что не так ?
Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...
А если два условия поставить это будет бред ?
Допустим:
(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
-
Народ кто шарит может кинуть правильно смысл
(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))
Выдает ошибку, что не так ?
Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...
А если два условия поставить это будет бред ?
Допустим:
(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
// Так ищем обе подстроки
IF(strpos($stroka, "Фраза1"))
IF(strpos($stroka, "Фраза2"))
LOGWRITE ("Обе подстроки найдены")
END_IF
END_IF
// А так ищем любую из подстрок
$flag = 0
IF(strpos($stroka, "Фраза1"))
$flag = 1
else
IF(strpos($stroka, "Фраза2"))
$flag = 1
END_IF
END_IF
IF($flag)
LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
-
Народ кто шарит может кинуть правильно смысл
(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))
Выдает ошибку, что не так ?
Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...
А если два условия поставить это будет бред ?
Допустим:
(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
// Так ищем обе подстроки
IF(strpos($stroka, "Фраза1"))
IF(strpos($stroka, "Фраза2"))
LOGWRITE ("Обе подстроки найдены")
END_IF
END_IF
// А так ищем любую из подстрок
$flag = 0
IF(strpos($stroka, "Фраза1"))
$flag = 1
else
IF(strpos($stroka, "Фраза2"))
$flag = 1
END_IF
END_IF
IF($flag)
LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
Блин не хотел я else использовать :((( ну ладно спасибо hit <3 как обычно выручил, щас ещё подумаю если что дак этот использую
-
Блин не хотел я else использовать :(((
А чем else тебе не нравится...?
-
Блин не хотел я else использовать :(((
А чем else тебе не нравится...?
Посмотри пожалуйста
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if (strpos($HTML, "Фраза 1")) если фраза найдена
if(wndfind($pack1)) // если окно не открыто
else
Выполняем действия для открытия окна
END_IF
END_IF
if (strpos($HTML, "Фраза1")) Тут через else тоесть если фраза не найдена
else
if(wndfind($pack1)) А окно открыто
Выполняем действия для закрытия окна
END_IF
END_IF
Дак вот я понял что на сайте может быть 2 разные фразы, и мне нужно сделать так чтобы он искал обе фразы
-
Блин не хотел я else использовать :((( ну ладно спасибо hit <3 как обычно выручил, щас ещё подумаю если что дак этот использую
вот тебе без ELSE, в чем проблема то?..
// Так ищем обе подстроки
IF((strpos($stroka, "Фраза1") > 0) & (strpos($stroka, "Фраза2") > 0))
LOGWRITE ("Обе подстроки найдены")
END_IF
// А так ищем любую из подстрок
IF((strpos($stroka, "Фраза1") > 0) | (strpos($stroka, "Фраза2") > 0))
LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
Посмотри пожалуйста
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if (strpos($HTML, "Фраза 1")) если фраза найдена
if(wndfind($pack1)) // если окно не открыто
else
Выполняем действия для открытия окна
END_IF
END_IF
if (strpos($HTML, "Фраза1")) Тут через else тоесть если фраза не найдена
else
if(wndfind($pack1)) А окно открыто
Выполняем действия для закрытия окна
END_IF
END_IF
Дак вот я понял что на сайте может быть 2 разные фразы, и мне нужно сделать так чтобы он искал обе фразы
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if ((strpos($HTML, "Фраза 1") > 0) | (strpos($HTML, "Фраза 2") > 0)) // если фраза найдена
if(wndfind($pack1) = 0) // если окно не открыто
// Выполняем действия для открытия окна
END_IF
ELSE // Тут через else тоесть если фраза не найдена
if(wndfind($pack1) > 0) // А окно открыто
// Выполняем действия для закрытия окна
END_IF
END_IF
-
Блин не хотел я else использовать :((( ну ладно спасибо hit <3 как обычно выручил, щас ещё подумаю если что дак этот использую
вот тебе без ELSE, в чем проблема то?..
// Так ищем обе подстроки
IF((strpos($stroka, "Фраза1") > 0) & (strpos($stroka, "Фраза2") > 0))
LOGWRITE ("Обе подстроки найдены")
END_IF
// А так ищем любую из подстрок
IF((strpos($stroka, "Фраза1") > 0) | (strpos($stroka, "Фраза2") > 0))
LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
Посмотри пожалуйста
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if (strpos($HTML, "Фраза 1")) если фраза найдена
if(wndfind($pack1)) // если окно не открыто
else
Выполняем действия для открытия окна
END_IF
END_IF
if (strpos($HTML, "Фраза1")) Тут через else тоесть если фраза не найдена
else
if(wndfind($pack1)) А окно открыто
Выполняем действия для закрытия окна
END_IF
END_IF
Дак вот я понял что на сайте может быть 2 разные фразы, и мне нужно сделать так чтобы он искал обе фразы
$pack1 = "Окно1"
$close1 = WNDFIND("Окно1")
$HTML = HTTPGET ("Ссылка на сайт")
if ((strpos($HTML, "Фраза 1") > 0) | (strpos($HTML, "Фраза 2") > 0)) // если фраза найдена
if(wndfind($pack1) = 0) // если окно не открыто
// Выполняем действия для открытия окна
END_IF
ELSE // Тут через else тоесть если фраза не найдена
if(wndfind($pack1) > 0) // А окно открыто
// Выполняем действия для закрытия окна
END_IF
END_IF
Я так понимаю это оптимизация моего кода D:
Все было так просто , спасибо большое ::)
-
Не верные параметры в заголовке подпрограммы
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check = 0)
Кликер не поддерживает пока присвоение переменным значения.
Правильно так:
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)
Но в случаи того скрипта $check там вообще нельзя писать, та как в вызове нет такого параметра. Отсюда и ошибка.
Всем привет вот я внес изминения по твоим рекомендациям и всеравно такое высвечивается скрин Ниже подскажите как проправить чтобы работало на ура
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (117,141, 183,1016, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (117,141, 183,1016, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (117,141, 183,1016, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(397, 797, 412, 803, 213) // Жду
Find_pix(462, 636, 485, 642, 213) // есть
с сабами не работал никогда для меня все новое пока разбираюсь
-
подскажите как проправить чтобы работало на ура
Количество параметров в вызове меньше чем установленных переменных в заголовке подпрограммы.
Find_pix(496, 945, 498, 950, 213)
SUB(Find_pix, $x, $y, $x1, $y1, $color, $check)
//Оптимизируем код так как он повторяется 6 раз
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (117,141, 183,1016, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (117,141, 183,1016, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (117,141, 183,1016, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(397, 797, 412, 803, 213) // Жду
Find_pix(462, 636, 485, 642, 213) // есть
-
Неоднократно замечал, что своевременные и дельные ответы форумчан пропадают из тем, а вместо них появляются ответы какого-то оравена.
Думал что люди увидев после своего более полный ответ, просто удаляют самостоятельно, чтоб не плодить повторений в одной теме.
Но вот сегодня столкнулся с тем, что и мои ответы украдены и подменены ответами того-же человека.
Может кто понимающий может объяснить, зачем это делается?
Если для дела, то пойму, но пока такие массовые подмены, мной воспринимаются, как обычное воровство для набора совершенно незаслуженной популярности. Даже если человек уверен, что отвечает правильнее и полнее, то со стороны такая деятельность выглядит очень некрасиво.
-
Неоднократно замечал, что своевременные и дельные ответы форумчан пропадают из тем, а вместо них появляются ответы какого-то оравена.
Думал что люди увидев после своего более полный ответ, просто удаляют самостоятельно, чтоб не плодить повторений в одной теме.
Но вот сегодня столкнулся с тем, что и мои ответы украдены и подменены ответами того-же человека.
Может кто понимающий может объяснить, зачем это делается?
Если для дела, то пойму, но пока такие массовые подмены, мной воспринимаются, как обычное воровство для набора совершенно незаслуженной популярности. Даже если человек уверен, что отвечает правильнее и полнее, то со стороны такая деятельность выглядит очень некрасиво.
к чему ето сообщение ? не понимаю
-
Спасибо вроди заработало хотя я вчера Check убирал не работало магия какаято ))
-
какого-то оравена
Это ты супермодератора называешь каким-то...? )))) Oraven и Vint - это те люди, которые нам - олухам, отвечают наиболее полно и готовыми примерами, без лишних разговоров и уже далеко не первый год.
-
какого-то оравена
Это ты супермодератора называешь каким-то...? )))) Oraven и Vint - это те люди, которые нам - олухам, отвечают наиболее полно и готовыми примерами, без лишних разговоров и уже далеко не первый год.
Не надо, смешивать всё и всех в одну кучу. Я привёл конкретно свой случай, так- как ситуация очень странная.
Олухам может и всё равно, а нормальные форумчане замечают даже скрытое редактирование своих сообщений!
Везде где администрация, что-то подчищает или удаляет, то об этом остаются служебные сообщения, а тут вырезали из твоего сообщения, код и ты выглядишь не опытным программером, а дурачком-балаболкой.
Если кто-то понимает, происходящее и может объяснить, то буду благодарен, если нет, то и ладно везде свои странности и особенности, здесь такие-вот, на других форумах свои.
-
ребята всем добрый день задача как то произвольно усложнилась (((
нужно искать слово "БУЛЬВАР" в картинке 3 квадрата (см картинка) и в каком квадрате нахожу слово в том и продолжаем скрипт НО
если нахожу слово "БУЛЬВАР" и не находит дальше по скрипту переходит заново поиск по квадратам слова "БУЛЬВАР" если нашло то по списку дальше и так по кругу
не могу понять как ето сделать (((
у нас к примеру во 2 и 3 картинках есть слово БУЛЬВАР а по условию скрипта к примеру 2 квадрат слово есть а дальше нам не подходит и мы ето должны пропустьть не смотря что есть найдено БУЛЬВАР а в 3 квалдрате есть и бульвар и нам подходит условие скрипта.
Тоесть для чего надо делить на квадраты какимто образом при нахождении БУЛЬВАР нажимало там где нашло а не где попало.
Поправте и простите если коряво обьяснил )
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (281,214, 523,1020, "бульвар.bmp") // слово ищем
$check = 1
LOGWRITE ("есть ! ! !")
// ========================================
IF_PICTURE_IN (117,141, 183,1016, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE // ночь
IF_PICTURE_IN (117,141, 183,1016, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (117,141, 183,1016, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(397, 797, 412, 803, 4342338) // Жду
Find_pix(437, 633, 498, 652, 213) // есть
Find_pix(464, 699, 489, 711, 213) // вроди как ок нажал
Find_pix(567, 901, 575, 906, 16777215) // кнопка назад
-
ребята всем добрый день задача как то произвольно усложнилась (((
Опять циклы запихнул... Ппц... :(
-
НУ цикл ищет а саб делает все ок было а что изменить ?
-
ребят кто более точно проконсультирует по поводу моего вопроса который в Ответ 50 написан
как реализовать поиск в заданных координатах если их может быть несколько сразу ?
-
как правельно задать область поиска после нахождения? тоесть нужно както резко задать квадрат в котором нашло первую картинку и чтобы не вылезло за приделы границ тут как я понимаю надо делать переменную а для меня ето как серпом по яйкам )
К примеру етот скрипт не подходит находит 1 ячейку и тычит по второй(
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 2628842)
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 13387583)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
HALT
-
А что тут трудного?
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$x = $_return1 // записываем координаты в переменные
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "file2.bmp", -1, 100) // ищем в зоне относительно начала красной полоски
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
-
я просто не компьютерный гений я только учусьи мне ето дается тяжело а можно попросить дополнить сообщение выше обяснением как ты узнал
($x-116,$y-51, $y+268,$y+690,
сколько нужно добавить и сколько нужно убавить? пожалусто
и проблема если искать чисто пиксель... то всеравно находит 2 картинку а надо третья ...GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 2299883)
$x = $_return1
$y = $_return2
IF_PIXEL_IN($x-200,$y-200, $y+500,$y+500, 13387583)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
halt
-
ану ребята подкоректируйте вроди должно работать
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (117,141, 183,1016, "кат.bmp")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "кат.bmp") // тут не понятно какая зона рамки... но вроди работает
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (263,90, 391,1033, " есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC
-
ану ребята подкоректируйте вроди должно работать
Путаница с окончаниями
Так правильно
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (117,141, 183,1016, "кат.bmp")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "кат.bmp") // тут не понятно какая зона рамки... но вроди работает
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (263,90, 391,1033, " есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "кат.bmp") // тут не понятно какая зона рамки... но вроди работает
$x и $y до этого не объявлены а значит при первом упоминании будут 0
итого зона поиска будет такой
-116,-51, 268,690
-
так товариш оравен подкоректировал скрипт ваш под себя .можно очень подробно про строку 21 22 23
$x-116,$y-51, $y+268,$y+690
как найти правельно кординаты которые вводить зону поиска может какойто пример порекомендуете? SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 553,1037, "аптека.bmp")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // тут не понятно какая зона рамки... но вроди работает
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (263,90, 391,1033, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
-
ребят опять мудрую как быть ...... вот что у меня щяс получается вроди работает но строка 20
ето первый поиск если находит нужно чтобы искал 23 и 25 по очереди ...... а мне кажится он зависает при таком написании может чтото подправить ? SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 553,1037, "кат.bmp") // ее ищем сразу если она есть ищем ниже 23 25 строки
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "11.bmp") // если нету ищем ниже
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "33.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
он вообще Зависает и комп виснет чтото не то делаю......
но вот ето исполнение скрипта не тормозит комп вродибы что скажите
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 553,1037, "кат.bmp")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "11.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (112,211, 553,1037, "кат.bmp")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "33.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
и если такая картинка то ничего не произходит хотя должно кликнуть по нижней голова не понимает как подкооректировать
-
ребята может ето все както в цикл?
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 552,406, "кат.bmp") // ищем если есть ищем 42 строку
$check = 1
$x = $_return1
$y = $_return2
WAITMS(100)
ELSE
IF_PICTURE_IN (112,211, 552,406, "кат.bmp") // ищем если есть ищем 42 строку
$check = 1
$x = $_return1
$y = $_return2
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
END_CYC
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // ищем если есть клик если нету
LOGWRITE ("0")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // ищем если есть клик если нету
LOGWRITE ("1")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // ищем если есть клик если нету переходим к 18 строке и в ето все в цикл
LOGWRITE ("2")
LCLICK($_return1, $_return2)
WAITMS(100)
WAITMS(50)
END_IF
END_IF
END_IF
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
не научился понимать как добавлять циклы ))))
-
ребята может ето все както в цикл?
Циклы в цикл? А потом и этот цик в принципе можно в цикл закатать.
-
ребята может ето все както в цикл?
Циклы в цикл? А потом и этот цик в принципе можно в цикл закатать.
да дядя имено вот набросил визуально задание так мне легче понять и другим обьяснить вот пока что сложил но оно не работает ........
картинкаhttps://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing (https://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing)
.SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
$gc = 0 // произвольная переменная только не могу ее пременить правельно
While($gc ! 1)
// ================================1111111================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,208, 557,408, "кат.bmp") // первый красный квадрат
$x = $_return1 // переменная кординаты квадрата
$y = $_return2
$check = 1
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_IF
$check = 0
WHILE($check = 0)
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // используем переменную с верху
$check = 1
LOGWRITE ("0")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // // используем переменную с верху
$check = 1
LOGWRITE ("1")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // используем переменную с верху
$check = 1
LOGWRITE ("2")
LCLICK($_return1, $_return2)
WAITMS(100)
WAITMS(50)
END_IF
END_IF //==================== Не нашло переходим к поиску во втором квадрате как ето реализовать?
END_IF
END_CYC
//===========================================2222222222222222==============================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (111,407, 552,629, "кат.bmp") // второй красный квадрат
$x = $_return1
$y = $_return2 // переменная кординаты квадрата
$check = 1
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // ищем если есть клик если нету
$check = 1
LOGWRITE ("0")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // ищем если есть клик если нету
$check = 1
LOGWRITE ("1")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // ищем если есть клик если нету переходим к 21 строке и в ето все в цикл
$check = 1
LOGWRITE ("2")
LCLICK($_return1, $_return2)
WAITMS(100)
WAITMS(50)
END_IF
END_IF
END_IF
END_CYC
END_CYC
HALT
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
-
во проснулся ночью...... и на свежую голову попробывал свои силы в переменных... но чтото пока не работает не понимаю как циклу сказать что я от него хочу описание в картинке https://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing (https://drive.google.com/file/d/1ehIv7cCw0oKmuy_IdnhPLOwJc4mW3KfK/view?usp=sharing)
$gc = 0 // основная переменная всего скрипта которая возвращяет цикл если не нащлось $gc3 $gc5
While($gc ! 1)
$gc2 = 0 //переменная 1 квадрата
While($gc2 ! 1) //условие если $gc2= 1 ищем @gc3
// ================================1111111================
LOGWRITE ("начало GC2")
GETSCREEN
IF_PICTURE_IN (112,208, 557,408, "кат.bmp") // первый красный квадрат
$x = $_return1 // переменная кординаты квадрата
$y = $_return2
WAITMS(100)
ELSE
$check = 1
END_IF
LOGWRITE ("вышли и погнали дальше")
$gc3 = 0 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
While($gc3 ! 1) //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
GETSCREEN($x,$y)
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // используем переменную с верху
LOGWRITE ("0")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // // используем переменную с верху
LOGWRITE ("1")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // используем переменную с верху
LOGWRITE ("2")
LCLICK($_return1, $_return2)
WAITMS(100)
WAITMS(50)
ELSE //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
$check = 1 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
END_IF
END_IF //==================== Не нашло переходим к поиску во втором квадрате как ето реализовать?
END_IF
END_CYC
END_CYC
LOGWRITE ("начало GC3")
//===========================================2222222222222222==============================
$gc3 = 0 //переменная 2 квадрата
While($gc3 ! 1) //условие если $gc3= 1 ищем @gc4
GETSCREEN
IF_PICTURE_IN (111,407, 552,629, "кат.bmp") // второй красный квадрат
$x = $_return1
$y = $_return2 // переменная кординаты квадрата
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$gc4 = 0 //переменная синего квадратика если есть нажал погнали дальше
While($gc4 ! 1) //условие если $gc2= 1 ищем @gc3
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // ищем если есть клик если нету
LOGWRITE ("0")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // ищем если есть клик если нету
LOGWRITE ("1")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // ищем если есть клик если нету переходим к 21 строке и в ето все в цикл
LOGWRITE ("2")
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
$check = 1 //@@@@@@@@@@@@
END_IF
END_IF
END_IF
END_CYC
END_CYC
-
Народ кто шарит может кинуть правильно смысл
(strpos($Масив в котором ищем, "Фраза1", "Фраза2"))
Выдает ошибку, что не так ?
Мне нужно чтобы он любую из двух фраз искал, а не обе сразу
Clickermann -> Справка -> Язык сценариев -> Строки и строковые файлы -> strpos
strpos вроде только одну подстроку ищет...
А если два условия поставить это будет бред ?
Допустим:
(strpos($Масив в котором ищем, "Фраза1"))
(strpos($Масив в котором ищем, "Фраза2"))
// Так ищем обе подстроки
IF(strpos($stroka, "Фраза1"))
IF(strpos($stroka, "Фраза2"))
LOGWRITE ("Обе подстроки найдены")
END_IF
END_IF
// А так ищем любую из подстрок
$flag = 0
IF(strpos($stroka, "Фраза1"))
$flag = 1
else
IF(strpos($stroka, "Фраза2"))
$flag = 1
END_IF
END_IF
IF($flag)
LOGWRITE ("Одна из подстрок, или обе присутствуют.")
END_IF
чтото вроди етого нудно в моем скрипте но непонимаю.....
-
Что ж тебе проще-то не живется...?
SUB(клик, $x, $y)
IF($click_time < $_ms)
LCLICK($x, $y)
$click_time = $_ms+1000
END_IF
END_SUB
GETSCREEN
$var = 0
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем зеленую строку в первом красном квадрате
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем синюю картинку
$var = 1
клик ($_return1, $_return2)
END_IF
END_IF
IF($var = 0)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем зеленую строку во втором красном квадрате
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Ищем синюю картинку
клик ($_return1, $_return2)
END_IF
END_IF
END_IF
WAITMS(50)
-
ух ты какой я тут два дня ломаю голову как сказать скрипту чтобы он искал по очереди два квадрата и проверял если есть строка ищем если нету пропускаем .....
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color) // саб делает 2 функции строка 130
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$all = 0
IF($all = 0 )
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 553,1037, "кат.bmp") // картинка в первом квадрате зеленая
LOGWRITE ("ЕСТЬ КАТ")
//============================ОБЯЗАТЕЛЬНО ЧИТАТЬ НИЖЕ========================
// а вот тут надо както сказать кликеру чтобы он если нету первой зеленой картинки в первом квадрате чтобы искал во втором квадрате так сказать какоето проверочное условие ......
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
LOGWRITE ("нету КМ")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
LOGWRITE ("нету КМ")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
LOGWRITE ("нету КМ")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")// синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=3")
ELSE
LOGWRITE ("нету ищю снова ")
$all = 0
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
END_IF
//======================тут вроди как поиск второго квадрата все так
//Ждем картинку ===========================================================
$all = 0
IF($all = 0 )
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (111,411, 555,605, "кат.bmp") // картинка в первом квадрате зеленая
LOGWRITE ("ЕСТЬ КАТ")
//============================ОБЯЗАТЕЛЬНО ЧИТАТЬ НИЖЕ========================
// а вот тут надо както сказать кликеру чтобы он если нету первой зеленой картинки в первом квадрате чтобы искал во втором квадрате так сказать какоето проверочное условие ......
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp") // синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
LOGWRITE ("нету КМ")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp") // синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
LOGWRITE ("нету КМ")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp") // синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
LOGWRITE ("нету КМ")
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")// синяя
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=3")
ELSE
LOGWRITE ("нету ищю снова ")
$all = 0
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
END_IF
//Если картинка найдена то ищем пиксели итд.
Find_pix(496, 945, 498, 950, 213) // Есть
Find_pix(369, 819, 433, 835, 4342338) // Жду
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
шах и мат......... как тебе такое ?? как теперь твой саб с моим склеить? или можна мой както подправить ?
-
кароче раз оно так плохо идет то легче запустить два кликера раз не могу понять ....... и все будет работать
-
как сказать скрипту чтобы он искал по очереди два квадрата и проверял если есть строка ищем если нету пропускаем .....
Так что тебе не понравилось в том, что я дал?
-
Реебята надоело работать с двумя и более окнами кликермана ...... хочу в один скрипт помнеститься... вот мозг не срабатывает где правельно поставить End_IF
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===============ПЕРВАЯ ЧСТЬ============================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 553,405, "кат.bmp")
LOGWRITE ("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=3")
ELSE
LOGWRITE ("нету ищю снова ")
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
//==========================================ВТОРАЯ ЧАСТЬ ПРИСОЕДИНИЛ КАК ЧТОБЫ ОДНИМ ГЕТ СКРИНОМ ВСЕ РАБОТАЛО ????????
IF_PICTURE_IN (112,411, 553,605, "катерина низ.bmp")
LOGWRITE ("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=3")
END_IF
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213) // Есть
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAIT(7)
LCLICK(580,911) // 1250067
WAIT(1)
LCLICK(574,907) // 1250067
ELSE
WAITMS(50)
END_IF
END_CYC
WAIT(6)
-
В строке 90 почему стоит END_CYC вместо END_IF?
Перед 58 поставь GETSCREEN
Остальное непонятно что не устраивает.
Аааа... там и в 56 END_IF. Что ты хочешь куда затолкать? Вторую часть внутрь цикла первой? Последовательно с существующими условиями или вложено?
-
Так что ли?
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 553,405, "кат.bmp")
LOGWRITE ("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=3")
ELSE
LOGWRITE ("нету ищю снова ")
END_IF
END_IF
END_IF
END_IF
END_IF
//==========================================ВТОРАЯ ЧАСТЬ ПРИСОЕДИНИЛ КАК ЧТОБЫ ОДНИМ ГЕТ СКРИНОМ ВСЕ РАБОТАЛО ????????
IF_PICTURE_IN (112,411, 553,605, "катерина низ.bmp")
LOGWRITE ("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "3.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=3")
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
А лучше опиши словами что хочешь. Понять по неправильному коду это невозможно.
-
ну так как ты показал я пробывал вроди не работает щяс буду тестировать еще....не мог понять куда ставить END_IF
вот пример 2 скрипта как их обьеденить в один
Первый скрипт
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (112,211, 555,405, "кат.bmp")
LOGWRITE ("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
WAITMS(50)
LOGWRITE ("нету ищю снова ")
END_IF
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213) // Есть
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAIT(5)
LCLICK(580,911) // 1250067
WAIT(1)
LCLICK(574,907) // 1250067
ELSE
WAITMS(50)
END_IF
END_CYC
WAIT(6)
И второй они одинаковы только зоны поиска немного разные
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (111,411, 555,605, "катерина низ.bmp")
LOGWRITE ("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=0")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=1")
ELSE
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "2низ.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("нашел=2")
ELSE
LOGWRITE ("нету ищю снова ")
END_IF
END_IF
END_IF
END_IF
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213) // Есть
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAIT(5)
LCLICK(580,911) // 1250067
WAIT(1)
LCLICK(574,907) // 1250067
ELSE
WAITMS(50)
END_IF
END_CYC
WAIT(5)
нехватает опыта как ето обьеденить
-
SUB(Find_pix, $x, $y, $x1, $y1, $color)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN($x, $y, $x1, $y1, $color)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE ("pix fined")
ELSE
WAITMS(50)
END_IF
END_CYC
end_sub
//Ждем картинку ===========================================================
$check = 0
WHILE($check = 0)
GETSCREEN(112,211, 555,405)
IF_PICTURE_IN(112,211, 555,405, "кат.bmp")
LOGWRITE("ЕСТЬ КАТ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "0.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("нашел=0")
ELSE
IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("нашел=1")
ELSE
IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "2.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("нашел=2")
END_IF
END_IF
END_IF
END_IF
GETSCREEN(111,411, 555,605)
IF_PICTURE_IN(111,411, 555,605, "катерина низ.bmp")
LOGWRITE("ЕСТЬ КАТ низ")
$x = $_return1
$y = $_return2
IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "0низ.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("нашел=0низ")
ELSE
IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "1.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("нашел=1")
ELSE
IF_PICTURE_IN($x-116,$y-51, $y+268,$y+690, "2низ.bmp")
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("нашел=2низ")
END_IF
END_IF
END_IF
END_IF
WAITMS(50)
END_CYC
//Если картинка найдена то ищем пиксели итд.
Find_pix(494, 959, 503, 963, 213) // Есть
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (246,812, 468,844, "ПРИНЯТЬ ЗАКАЗ.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (233,65, 407,1034, "Есть.bmp", -1, 100) // ето последнее действие после САБА
$check = 1
LCLICK($_return1, $_return2)
WAIT(5)
LCLICK(580,911) // 1250067
WAIT(1)
LCLICK(574,907) // 1250067
ELSE
WAITMS(50)
END_IF
END_CYC
WAIT(6)
-
Vint Спасибо тоесть делать GETSCREEN(222,244 666,777) по кординатам ето быстрее?...... чем в миох скриптах....
ок буду тестировать а щяс буду на форуме искаить скрипт как выставить окно в точно заданые кординаты я его на форуме встречал))
Ненашел собрал сам....
LDOWN(1033,27) // место появления окна
WAITMS(50)
MOVE(354,34) // место куда перемещять
WAITMS(50)
LUP(354,34)
LOGWRITE ("переместил окно")
HALT
а еще вопрос сюда ....что продуктивнее поиск по пикселю.... или поиск ХЕШ? есть места где область картинки не изменяется .
GETSCREEN
$count = PXLCRC (10,20, 100, 40)
logwrite("Hash: ", $count)
TOCLIP ($count) // Сразу записывает хеш в буфер обмена - тебе уже не надо его копировать, чтоб вставить потом.
HALT // Скрипт сам остановится
-
ребята прошу вашей помощи.......в разборе данного параметра в скрипте
GETSCREEN(112,211, 555,405)
IF_PICTURE_IN (112,211, 555,405, "кат.bmp")
$x = $_return1
$y = $_return2
IF_PICTURE_IN ($x-116,$y-51, $y+268,$y+690, "0верхБД.bmp") // вот в етой строке интересует
как узнать охват зоны поиска по етим параметрам ? и как научится выщитывать ее самостоятельно
$x-116,$y-51, $y+268,$y+690
-
как узнать охват зоны поиска по етим параметрам ?
LOGWRITE ($x-116,",",$y-51,", ",$y+268,",",$y+690)
и как научится выщитывать ее самостоятельно
Нужно освоить математику.