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

Основной раздел => Общие вопросы => Topic started by: Yoko on May 24, 2019, 09:20:29 PM

Title: Не нажимается ESC
Post by: Yoko on May 24, 2019, 09:20:29 PM
В игре кликер не может передать нажатие кнопки ESC, подозреваю, что в игре стоит защита от виртуальной клавиатуры... Есть еще способы передать кратковременное нажатие кнопки ESC?
Title: Re: Не нажимается ESC
Post by: Johnny on May 25, 2019, 03:06:14 PM
а как дела с остальными кнопками обстоят?
Title: Re: Не нажимается ESC
Post by: Yoko on May 25, 2019, 10:06:52 PM
а вообще ниодно нажатие с клавиатуры не передается... странно.
Title: Re: Не нажимается ESC
Post by: Yoko on May 29, 2019, 10:45:33 PM
А есть еще вариант, как передать нажатие кнопок в игру?
Мышка та работает... Правда вот так:
Code: [Select]
LDOWN(192,705)
WAITMS(100)
LUP(192,705)
WAITMS(100)
WAIT(3)
А вот так вот не работает:
Code: [Select]
LCLICK(192,705)
Правда с передачей нажатий кнопок такое не работает =(
Title: Re: Не нажимается ESC
Post by: Oraven on May 30, 2019, 06:53:36 AM
По умолчанию задержка нажатия отжатия LCLICK равна 30 мс. Видимо в игре нужно большее время на зажитие клавиши.
Title: Re: Не нажимается ESC
Post by: Yoko on May 30, 2019, 08:46:49 AM
как выше я написала, с мышкой разобралась...
С передачей кнопок с клавиатуры нет. Есть ли способ еще как-то передать нажатие кнопки ESC?
Title: Re: Не нажимается ESC
Post by: Oraven on May 30, 2019, 06:18:12 PM
как выше я написала, с мышкой разобралась...
С передачей кнопок с клавиатуры нет. Есть ли способ еще как-то передать нажатие кнопки ESC?

Возможно поможет режим Ps2 при наличии клавиатуры подключенной в Ps2 разъем или ноутбука (не гарантированно).

В скрипте нужно написать директиву
Code: (clickermann) [Select]
#ps2_keyboard
Title: Re: Не нажимается ESC
Post by: Yoko on May 30, 2019, 08:27:43 PM
А вот еще вопрос. Видимо что-то изменилось в новой версии программы кликермена...

В связи с тем, что кликермен не может передавать нажатия кнопок, хочется тогда добиться, что-бы хотя-бы распознавал картинки.

Как я делаю скриншот:
В программе вот такой вот код:
Code: [Select]
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT

Вырезаю через пайнт кусочек изображения, сохраняю как 24бита БМП файл, и спользую вот так:
Code: [Select]
GETSCREEN
COLORMODE(6) // применяем цветокоррекцию того же уровня
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 70) // ищем картинку до 70% совпадения
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF

Картинку не находит.
Игра запущена в оконном режиме... Указываю тогда диапазон поиска картинки
Code: [Select]
IF_PICTURE_IN (5,10,1028,804, $_xmax,$_ymax, "file.bmp", -1, 70)Но картинка всеравно не находится...

Может как-то надо окно определить?
 
Title: Re: Не нажимается ESC
Post by: Yoko on May 30, 2019, 08:29:13 PM
как выше я написала, с мышкой разобралась...
С передачей кнопок с клавиатуры нет. Есть ли способ еще как-то передать нажатие кнопки ESC?

Возможно поможет режим Ps2 при наличии клавиатуры подключенной в Ps2 разъем или ноутбука (не гарантированно).

В скрипте нужно написать директиву
Code: (clickermann) [Select]
#ps2_keyboard
#ps2_keyboard
я сразу использовала для пробы... не помогает.
Title: Re: Не нажимается ESC
Post by: Yoko on May 31, 2019, 04:03:15 PM
Проверила другую программу - uopilot
Все передает (работает и мышка и клавиатура)
Значит я уверена, что кликермен тоже так может...
но решения пока не нашла =(
Title: Re: Не нажимается ESC
Post by: Yoko on May 31, 2019, 11:51:23 PM
Раз клавиатура не работает, пытаюсь решить задачу хотя-бы методом определения цвета.
Нашла пример...
Пробую вот так вот:
Code: [Select]
// поиск красного пикселя
IF_PIXEL_IN (1014, 408, 1014, 408, 1054746)
HINTPOPUP("Сообщение", "Заголовок")
END_IF
1014, 408 - это координаты
1054746 - это цвет
Но пока ничего не выходит...
Как-же победить кликермена? =(
Title: Re: Не нажимается ESC
Post by: Oraven on June 01, 2019, 06:07:53 AM
Если определяем цвет в конкретной координате то разумнее использовать PXL
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(1014, 408) = 1054746)
   LCLICK(1014, 408)
   WAITMS(500)
END_IF

Вот таким скриптом можно определить код цвета по координате.
Code: (clickermann) [Select]
GETSCREEN
LOGWRITE ("Цвет: ", PXL(1014, 408))
LOGSHOW(1)
HALT
Title: Re: Не нажимается ESC
Post by: Yoko on June 01, 2019, 02:28:40 PM
Если определяем цвет в конкретной координате то разумнее использовать PXL
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(1014, 408) = 1054746)
   LCLICK(1014, 408)
   WAITMS(500)
END_IF
а обязательно нажимать левой кнопкой мышки именно по тем координатам, где определяется цвет пикселя?
Дело в том, что в отдельном месте если цвет пикселя красный, то нажимать надо по определенной области (т.е. по другим координатам)
Вот таким скриптом можно определить код цвета по координате.
Code: (clickermann) [Select]
GETSCREEN
LOGWRITE ("Цвет: ", PXL(1014, 408))
LOGSHOW(1)
HALT
В кликермене пишется же цвет пикселя... он может не совпадать?
Результат определения где отобразится?
Title: Re: Не нажимается ESC
Post by: Yoko on June 01, 2019, 02:49:09 PM
С вопросом поторопилась по поводу кода:
Code: [Select]
GETSCREEN
LOGWRITE ("Цвет: ", PXL(1014, 408))
LOGSHOW(1)
HALT
Пишет в логах... Попробую, вдруг сработает.
Title: Re: Не нажимается ESC
Post by: Oraven on June 01, 2019, 03:26:32 PM
а обязательно нажимать левой кнопкой мышки именно по тем координатам, где определяется цвет пикселя?

Это условие. Ты можешь вписать в него какие нужны команды. Кликай куда хочешь и сколько хочешь.
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(1014, 408) = 1054746)
   
   // здесь то что выполнится если цвет совпадает
   
END_IF

В кликермене пишется же цвет пикселя... он может не совпадать?
Результат определения где отобразится?

Бывает так что графика меняется, или цвет кнопки, при наведении на неё мыши может меняться.
Тогда можно получить цвет таким кодом без наведения курсора.

Также полезно в целях диагностики, вставлять запись в лог цвета по координате
Code: (clickermann) [Select]
GETSCREEN
LOGWRITE ("Цвет 1014, 408: ", PXL(1014, 408))
IF(PXL(1014, 408) = 1054746)
   
   // здесь то что выполнится если цвет совпадает
   
END_IF

При выполнении кода сразу будет видно какой именно цвет там был в данный момент.
Title: Re: Не нажимается ESC
Post by: Yoko on June 01, 2019, 07:18:38 PM
Ок. Тогда думаю последний вопрос, и начну собирать конструктор.
Вот условие:
Code: [Select]
GETSCREEN
LOGWRITE ("Цвет 1014, 408: ", PXL(1014, 408))
IF(PXL(1014, 408) = 1054746)
 
   // здесь то что выполнится если цвет совпадает
 
END_IF
Задача состоит в том, что-бы пока этот цвет совпадает, выполнялся этот скрипт всего один раз:
Code: [Select]
LDOWN(513,54)
WAITMS(100)
LUP(513,54)
WAITMS(100)
WAIT(10)
Потом, цвет сменится и выполнялся другой скрипт скрипт...
Дальше по циклу... появился этот цвет, скрипт выполнился один раз...
Title: Re: Не нажимается ESC
Post by: Oraven on June 01, 2019, 07:29:21 PM
Code: (clickermann) [Select]
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