Что нового

[Автоматизация] Универсальное управление координатами указателя мыши

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Написал код. Он хорошо работает, но там, где надо - не работает:
Код:
#Include <Misc.au3>
While 1
Sleep (50)	
$pos = MouseGetPos() ; получить текущие координыты указателя мыши
ToolTip("Mouse x,y: "& $pos[0] & "," & $pos[1], 0, 0) ; вывести визуально эти координаты
If _IsPressed(01) = 1 Then	; если вдруг нажмем ЛКМ, - вызвать функцию "MyCoordinate"
	Call("MyCoordinate")
EndIf
WEnd

Func MyCoordinate()
	While _IsPressed(01) = 1 ; пока зажата ЛКМ выполнять
	Sleep (20)	
	MouseMove($pos[0], $pos[1], 1) ; устанавливать указатель мыши по этим координатам		
	WEnd
EndFunc

Хотел приспособить его (мой код) для игры Counter Strike Source.
Цель - управление координатами указателя мыши (в игре - это прицел) в Counter Strike Source.
Не дает. Точнее дает (выбор опций и т.п. в игре- тут все работает), но вот в самом процессе игры - нет.
Либо это защита, или еще что. Сам вопрос:
Как это можно реализовать? Если, конечно, это вообще можно.
Может есть другие способы?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 713
В подобных играх перемещеие мыши не связано с Mouse... функциями, а реализовано по своим алгоритмам. Что бы как-то воздействовать на курсор, нужно ставить hook, причем после запуска игры.
 
Автор
Yuri

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Yashied
Спасибо за ответ.
Маленький примерчик по этому поводу приведете?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 713
Ну это будет не совсем маленький примерчик. Поищи на форуме примеры для Hook'а мыши. У CreatoR'а даже есть UDF на эту тему. Может быть полезным. Еще попробуй задать этот вопрос в разделе Боты для игр, это им ближе (я думаю).
 
Верх