1 (изменено: sany16, 2011-05-29 20:30:28)

Тема: AHK: PixelGetColor +Variation

Доброго всем времени суток!
Помогите новичку пожалуйста!

Возможно ли в скрипт PixelGetColor вставить функцию скрипта PixelSearch-Variation?
То бишь для того, что бы PixelGetColor срабатывал на гамму цветов пикселя,а не на железноопределённый цвет?

Или помогите создать PixelSearch скрипт с поиском цвета пикселя строго под курсором.

2

Re: AHK: PixelGetColor +Variation

PixelGetColor срабатывает на любые цвета.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: PixelGetColor +Variation

teadrinker пишет:

PixelGetColor срабатывает на любые цвета.

F1::
     Loop
   {    
        MouseGetPos, MouseX, MouseY
        PixelGetColor,  color, %MouseX%, %MouseY%
        if (color = "0x3161C1")
        {
          MouseClick, left, %MouseX%, %MouseY%           
        }
        else
        {
            Sleep, 0
        }        
    }

сработает на любой цвет?))

4

Re: AHK: PixelGetColor +Variation

Да, но лучше так:

F1::
   Loop
   {    
      MouseGetPos, MouseX, MouseY
      PixelGetColor, color, MouseX, MouseY
      if color = 0x3161C1
         MouseClick, left, MouseX, MouseY          
      Sleep, 10       
   }

И нужно учесть, что PixelGetColor по умолчанию выдает цвет в BGR.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: PixelGetColor +Variation

sany16 пишет:

сработает на любой цвет?))

В смысле, на любой, который укажешь в строке

if color = 0x3161C1
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: PixelGetColor +Variation

Вы немного не правильно меня поняли.
Мне нужно заставить сработать скрипт даже когда цвет не 0x3161C1,а похож по гамме) Как срабатывает PixelSearch с заданным параметром Variation 0-255.

Или помогите создать PixelSearch скрипт с поиском цвета пикселя строго под курсором

7

Re: AHK: PixelGetColor +Variation

Как-то так:

F1::
   Loop
   {    
      MouseGetPos, MouseX, MouseY
      PixelSearch, X, Y, MouseX, MouseY, MouseX, MouseY, 0x3161C1, 10 ; здесь вместо 10 указать нужное отклонение
      if !ErrorLevel  
         MouseClick, left, MouseX, MouseY          
      Sleep, 10       
   }
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: PixelGetColor +Variation

teadrinker
Огромное спасибо!То что нужно!

9 (изменено: Aspin, 2011-06-02 10:45:01)

Re: AHK: PixelGetColor +Variation

А в PixelGetColor Можно задать нужное отклонение? просто PixelSearch работает медлено.
Cкажем извлекать цвет PixelGetColor , а потом к ниму отклонение по цветам ? такое реально ?

10

Re: AHK: PixelGetColor +Variation

Можно, но для начала попробуй в команде PixelSearch использовать режим Fast. Предыдущий код тогда будет выглядеть так:

F1::
   Loop
   {    
      MouseGetPos, MouseX, MouseY
      PixelSearch, X, Y, MouseX, MouseY, MouseX, MouseY, 0x3161C1, 10, Fast   ; здесь вместо 10 указать нужное отклонение
      if !ErrorLevel  
         MouseClick, left, MouseX, MouseY          
      Sleep, 10       
   }
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: PixelGetColor +Variation

Извиняюсь что влезаю в темку, но сегодня то же игрался с PixelGetColor. Пробовал на игре(Darkfall). В оконном режиме прекрасно определяет цвет, в полноэкранном же режиме значение всегда равно 0x000000. В чем может быть проблема?