MouseGetCursor ( ) возвращает 0, то есть
Возвращаемое значение
Один и следующих идентификаторов ID Number:
0 = UNKNOWN
Определить цвет курсора мыши
-
Frost_Imp
Re: Определить цвет курсора мыши
- Вложения
-
[Расширение jpg было запрещено, вложение больше недоступно.]
-
[Расширение jpg было запрещено, вложение больше недоступно.]
-
Creat0R
Re: Определить цвет курсора мыши
Frost_Imp,
Примерно так:
Код:
Тут в цикле проверяем цвет пикселя под курсором, если совпадает, то выводим сообщение. Таким же способом можно указать целую палитру цветов, чтобы определить что курсор над нужным элементом (предметом).
Примерно так:
Код:
Код: Выделить всё
While 1
$aMousePos = MouseGetPos()
$nColor = "0x" & Hex(PixelGetColor($aMousePos[0], $aMousePos[1]), 6)
If $nColor = 0x343924 Then
MsgBox(64, 'Title', "Cursor changed")
;do something
EndIf
Sleep(10)
WEndТут в цикле проверяем цвет пикселя под курсором, если совпадает, то выводим сообщение. Таким же способом можно указать целую палитру цветов, чтобы определить что курсор над нужным элементом (предметом).
-
Frost_Imp
Re: Определить цвет курсора мыши
Ну тут получается скорее поиск цвета, нежели изменение самого цвета курсора. Тогда проще PixelSearch делать, там то участие человека не нужно, в твоем коде мышкой надо самостоятельно водить. Или MouseMove делать. Как решение глобальной задачи - реализуемо, уже проверил и протестил. Но вот конкретный вопрос (изменение цвета курсора) не решает
-
SyDr
Re: Определить цвет курсора мыши
1) Обрати внимание, что положение курсора в игре может отличаться от реального положения курсора на экране. То есть к примеру реальное положение курсора на экране - (100;200), а с виду "кажется", что он находится в координатах (200;250).
2) Курсор могут "перекрывать" различные игровые элементы. Ну... То есть немного менять его цвет. Или, к примеру, отображение какой-либо подсказки на экране может его вообще перекрыть.
3) PixelGetColor($aMousePos[0], $aMousePos[1]) получит цвет пиксела под реальным курсором. Попробуй добавить к координатам по 1 или больше (см. п. 1), чтобы получить цвет именно нужного пиксела.
2) Курсор могут "перекрывать" различные игровые элементы. Ну... То есть немного менять его цвет. Или, к примеру, отображение какой-либо подсказки на экране может его вообще перекрыть.
3) PixelGetColor($aMousePos[0], $aMousePos[1]) получит цвет пиксела под реальным курсором. Попробуй добавить к координатам по 1 или больше (см. п. 1), чтобы получить цвет именно нужного пиксела.