Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Yoko on May 24, 2019, 09:20:29 PM
-
В игре кликер не может передать нажатие кнопки ESC, подозреваю, что в игре стоит защита от виртуальной клавиатуры... Есть еще способы передать кратковременное нажатие кнопки ESC?
-
а как дела с остальными кнопками обстоят?
-
а вообще ниодно нажатие с клавиатуры не передается... странно.
-
А есть еще вариант, как передать нажатие кнопок в игру?
Мышка та работает... Правда вот так:
LDOWN(192,705)
WAITMS(100)
LUP(192,705)
WAITMS(100)
WAIT(3)
А вот так вот не работает:
LCLICK(192,705)
Правда с передачей нажатий кнопок такое не работает =(
-
По умолчанию задержка нажатия отжатия LCLICK равна 30 мс. Видимо в игре нужно большее время на зажитие клавиши.
-
как выше я написала, с мышкой разобралась...
С передачей кнопок с клавиатуры нет. Есть ли способ еще как-то передать нажатие кнопки ESC?
-
как выше я написала, с мышкой разобралась...
С передачей кнопок с клавиатуры нет. Есть ли способ еще как-то передать нажатие кнопки ESC?
Возможно поможет режим Ps2 при наличии клавиатуры подключенной в Ps2 разъем или ноутбука (не гарантированно).
В скрипте нужно написать директиву
#ps2_keyboard
-
А вот еще вопрос. Видимо что-то изменилось в новой версии программы кликермена...
В связи с тем, что кликермен не может передавать нажатия кнопок, хочется тогда добиться, что-бы хотя-бы распознавал картинки.
Как я делаю скриншот:
В программе вот такой вот код:
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
Вырезаю через пайнт кусочек изображения, сохраняю как 24бита БМП файл, и спользую вот так:
GETSCREEN
COLORMODE(6) // применяем цветокоррекцию того же уровня
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 70) // ищем картинку до 70% совпадения
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
Картинку не находит.
Игра запущена в оконном режиме... Указываю тогда диапазон поиска картинки
IF_PICTURE_IN (5,10,1028,804, $_xmax,$_ymax, "file.bmp", -1, 70)
Но картинка всеравно не находится...
Может как-то надо окно определить?
-
как выше я написала, с мышкой разобралась...
С передачей кнопок с клавиатуры нет. Есть ли способ еще как-то передать нажатие кнопки ESC?
Возможно поможет режим Ps2 при наличии клавиатуры подключенной в Ps2 разъем или ноутбука (не гарантированно).
В скрипте нужно написать директиву
#ps2_keyboard
#ps2_keyboard
я сразу использовала для пробы... не помогает.
-
Проверила другую программу - uopilot
Все передает (работает и мышка и клавиатура)
Значит я уверена, что кликермен тоже так может...
но решения пока не нашла =(
-
Раз клавиатура не работает, пытаюсь решить задачу хотя-бы методом определения цвета.
Нашла пример...
Пробую вот так вот:
// поиск красного пикселя
IF_PIXEL_IN (1014, 408, 1014, 408, 1054746)
HINTPOPUP("Сообщение", "Заголовок")
END_IF
1014, 408 - это координаты
1054746 - это цвет
Но пока ничего не выходит...
Как-же победить кликермена? =(
-
Если определяем цвет в конкретной координате то разумнее использовать PXL
GETSCREEN
IF(PXL(1014, 408) = 1054746)
LCLICK(1014, 408)
WAITMS(500)
END_IF
Вот таким скриптом можно определить код цвета по координате.
GETSCREEN
LOGWRITE ("Цвет: ", PXL(1014, 408))
LOGSHOW(1)
HALT
-
Если определяем цвет в конкретной координате то разумнее использовать PXL
GETSCREEN
IF(PXL(1014, 408) = 1054746)
LCLICK(1014, 408)
WAITMS(500)
END_IF
а обязательно нажимать левой кнопкой мышки именно по тем координатам, где определяется цвет пикселя?
Дело в том, что в отдельном месте если цвет пикселя красный, то нажимать надо по определенной области (т.е. по другим координатам)
Вот таким скриптом можно определить код цвета по координате.
GETSCREEN
LOGWRITE ("Цвет: ", PXL(1014, 408))
LOGSHOW(1)
HALT
В кликермене пишется же цвет пикселя... он может не совпадать?
Результат определения где отобразится?
-
С вопросом поторопилась по поводу кода:
GETSCREEN
LOGWRITE ("Цвет: ", PXL(1014, 408))
LOGSHOW(1)
HALT
Пишет в логах... Попробую, вдруг сработает.
-
а обязательно нажимать левой кнопкой мышки именно по тем координатам, где определяется цвет пикселя?
Это условие. Ты можешь вписать в него какие нужны команды. Кликай куда хочешь и сколько хочешь.
GETSCREEN
IF(PXL(1014, 408) = 1054746)
// здесь то что выполнится если цвет совпадает
END_IF
В кликермене пишется же цвет пикселя... он может не совпадать?
Результат определения где отобразится?
Бывает так что графика меняется, или цвет кнопки, при наведении на неё мыши может меняться.
Тогда можно получить цвет таким кодом без наведения курсора.
Также полезно в целях диагностики, вставлять запись в лог цвета по координате
GETSCREEN
LOGWRITE ("Цвет 1014, 408: ", PXL(1014, 408))
IF(PXL(1014, 408) = 1054746)
// здесь то что выполнится если цвет совпадает
END_IF
При выполнении кода сразу будет видно какой именно цвет там был в данный момент.
-
Ок. Тогда думаю последний вопрос, и начну собирать конструктор.
Вот условие:
GETSCREEN
LOGWRITE ("Цвет 1014, 408: ", PXL(1014, 408))
IF(PXL(1014, 408) = 1054746)
// здесь то что выполнится если цвет совпадает
END_IF
Задача состоит в том, что-бы пока этот цвет совпадает, выполнялся этот скрипт всего один раз:
LDOWN(513,54)
WAITMS(100)
LUP(513,54)
WAITMS(100)
WAIT(10)
Потом, цвет сменится и выполнялся другой скрипт скрипт...
Дальше по циклу... появился этот цвет, скрипт выполнился один раз...
-
GETSCREEN
IF(PXL(1014,408) = 1054746)
LDOWN(513,54)
WAITMS(100)
LUP(513,54)
WAITMS(100)
WAIT(10)
GETSCREEN
WHILE(PXL(1014,408) = 1054746) // ждем пока цвет исчезнет
WAITMS(100)
GETSCREEN
END_CYC
END_IF