Что нового

Обнаружение нужного цвета пикселя в маленьком окошке и нажатие кнопки

bFF

Новичок
Сообщения
8
Репутация
0
Код
Код:
$hWnd = WinGetHandle("СтритРейсеры - настоящие уличные гонки! - Opera")
$pixel = PixelSearch(340, 511, 357, 537, 0x4933E1)
If IsArray($pixel) = True Then
   MouseMove($pixel [0], $pixel [1], 1)
   EndIf
Что нужно: При обнаружении цвета пикселя в небольшом радиусе скрипт нажимал кнопку "D" ИЛИ "ЛКМ." Скрипт очень маленький и сильно не доработанный, я новенький, и мало что понимаю, но на рабочем столе при нахождении нужного цвета мышка перемещается к нему. Взял готовый скрипт, хотел убрать перемещение мышки и сделать вместо перемещения, эмуляцию нажатия, но не вышло.Может кто нибудь помочь, что то добавить?

Используйте для AutoIt кода тег [autoit]
autoit.gif

madmasles.
 

Вложения

  • Безымянный.JPG
    Безымянный.JPG
    141.1 КБ · Просмотры: 19

edyapd

Осваивающий
Сообщения
380
Репутация
30
Какие значения MouseCoordMode и PixelCoordMode?
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
$hWnd = WinGetHandle("СтритРейсеры - настоящие уличные гонки! - Opera")
$pixel = PixelSearch(340, 511, 357, 537, 0x4933E1, 0, 1, $hWnd); найти пиксель в окне hWnd
If IsArray($pixel) = True Then; если пиксель найден, то
  Send("D", 1); нажать кнопку D
EndIf
 
Автор
B

bFF

Новичок
Сообщения
8
Репутация
0
alex33 сказал(а):
Код:
$hWnd = WinGetHandle("СтритРейсеры - настоящие уличные гонки! - Opera")
$pixel = PixelSearch(340, 511, 357, 537, 0x4933E1, 0, 1, $hWnd); найти пиксель в окне hWnd
If IsArray($pixel) = True Then; если пиксель найден, то
  Send("D", 1); нажать кнопку D
EndIf
Благодарю, но можете сказать как им пользоваться? Запустил игру, сжал окно браузера до окна что бы было видно то место где должен быть пиксель (ничего не закрывает и не перекрывает его), запускаю скрипт, но реакции ноль.
P.s у меня есть подозрение, что имя окна я называю неправильно, процесс
chrome.exe а название окна "СтритРейсеры - настоящие уличные гонки! - Google Chrome" может быть я что то не так делаю?
После редактирования координат скрипт выглядит так:
Код:
$hWnd = WinGetHandle("СтритРейсеры - настоящие уличные гонки! - Opera")
$pixel = PixelSearch(218, 155, 501, 580, 0xE13349, 0, 1, $hWnd); найти пиксель в окне hWnd
If IsArray($pixel) = True Then; если пиксель найден, то
  Send("D", 1); нажать кнопку D
EndIf
Все таки я хочу попробывать через Opera у меня с ним игра не лагает. Все ли я правильно сделал? Вот как выглядит окно(вложение). Прошу прощения, если размер картинки слишком большой.
 

Вложения

  • Безымянный.JPG
    Безымянный.JPG
    189.6 КБ · Просмотры: 12

alex33

Скриптер
Сообщения
1,457
Репутация
186
Попробуйте в самое начало скрипта добавить строки:
Код:
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
 
Автор
B

bFF

Новичок
Сообщения
8
Репутация
0
alex33 сказал(а):
Попробуйте в самое начало скрипта добавить строки:
Код:
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
Код:
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode", 2)
$hWnd = WinGetHandle("СтритРейсеры - настоящие уличные гонки! - Google Chrome")
$pixel = PixelSearch(218, 155, 501, 580, 0xE13349, 0, 1, $hWnd); найти пиксель в окне hWnd
If IsArray($pixel) = True Then; если пиксель найден, то
  Send("D", 1); нажать кнопку D
EndIf
Не помогло, в этой игре уже была подобная программа, но была в *.exe и имела свое окно а не чистый скрипт. Тоже написана через AutoIt, что я не так делаю? Написать целую программу я не прошу, просто макрос который отслеживает в нужном окне цвет пикселя и если условие выполнено нажимает кнопку.
Кстати, я слышал про разброс цветов RGB через AutoIt может быть можно что то сделать? Важно или нет, но если при включенной игре (уже в гонке) нажать за пределы браузера окно темнеет.


Добавлено:
Сообщение автоматически объединено:

Help me please!
 

Ksaan

Знающий
Сообщения
207
Репутация
15
А координаты или цвет верные? Просто скрипт рабочий в твоих данных проблема.
OffTopic:
А может скрипт в цикл взять нужно? :scratch:
 

qqww22

Новичок
Сообщения
115
Репутация
4
Когда ты наводишь курсор на спидометр цвет меняется,нужно морозить процесс и брать цвет.
 
Автор
B

bFF

Новичок
Сообщения
8
Репутация
0
qqww22 сказал(а):
Когда ты наводишь курсор на спидометр цвет меняется,нужно морозить процесс и брать цвет.
За прошлую прогу давали бан. Можно по подробнее, что я не так сделал? Из-за этого код не работает?
 
Верх