Что нового

[WarCraft] Цвет пикселя не берется

worldmen

Новичок
Сообщения
14
Репутация
1
Пытаюсь определить цвет пикселя в игре WarCraft 1.26 с помощью:
Код:
$S = 0x303030	
$coord = PixelSearch( 25, 95, 50, 120, $S )

Но оказалось, что пиксель ищется не в игре, а на рабочем столе, как-будто игра свернута.
Почему так? Может как-то хендл окна указывать где-то?
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
Прописано?
Код:
Opt("PixelCoordMode", 2)            ;1=абсолютные, 0=относительные, 2=клиентские
 
Автор
W

worldmen

Новичок
Сообщения
14
Репутация
1
Не помогает. Игра в полноэкранном режиме. Как я проверял:
Код:
Sleep(5000)
Opt("SendKeyDelay", 200)
Opt("PixelCoordMode", 2)

$var = PixelGetColor( 50 , 117 )
ConsoleWrite(" Цвет = "& Hex($var, 6))

1. Открыл Блокнот
2. поставил его на место ( 50 , 117)
3. запустил скрипт
4. открыл игру (полноэкранный)
Смотрю в консоль, написано: Цвет = FFFFFF
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
worldmen
Если быть очень грубым, то рабочий стол - самый обыкновенный битмап. Именно там ваш код и ищет пиксель, однако D3D приложения в fullscreen-режиме(и не только) минуют его.

Возможные варианты(ограничиваясь возможностями AutoIt):
1) Запускайте игру в оконном режиме.
 
Верх