Tyr
valldar
Вы должны уяснить одно - в такого типа играх делать External Aimbot слишком трудно и не правильно, тем более средствами AutoIt.
На примере Call of Duty: MW
1) Запоминаем свой текущий угол камеры по X:
Но так как в других играх такой трюк не всегда провернешь - делайте так:
Как видно, я зафиксировал прицел на точке в текстуре.
2) Пишем простейший скрипт для расчета отношения движение мыши/угол:
HotKeySet( "{F6}", "__Move" )
HotKeySet( "{F8}", "__Exit" )
; ---
While 1
Sleep( 100 )
WEnd
Func __Move()
$aPos = MouseGetPos()
MouseMove( $aPos[0] + 390, $aPos[1], 5 )
; 390 - на сколько нужно сдвинуть мышь, что бы в игре прокрутить камеру на 360 градусов, подбираем руками.
;5 - о чем я и говорю, чем меньше скорость - тем больше шансов, что AutoIt коряво повернет мышь.
EndFunc
Func __Exit()
Exit 1488
EndFunc
3) Фактор из расчетов X по крайней мере в шутерах подойдет и к Y.
4) С помощью вашего External-костыля PixelSearch мы нашли нашу цель по координатам 50x400.
5) Предположим я знаю текущее значение Fov (включая его изменения при прицеле) - эта информация берется из процесса конечно же, но если в вашей игре Fov статичен всегда, то его можно взять единожды. У меня сейчас ~84 X, ~ 56 Y.
6) Размеры игрового окна 800x600.
И далее по предыдущему моему посту:
toX = 50 - ( GetMousePos[0])/ 2 )
toY = 400 - ( GetMousePos[0] / 2 )
aX = ( 84 / 800 ) * toX
aY = ( 56 / 600 ) * toY
MouseMove( ( X / Factor(тот самый, что мы рассчитали в самом верху) ) * aX, ( Y / Factor ) * aY)
P.S. Если вы не представите себе принцип действия, то сделать будет достаточно затруднительно. Даже у меня ничего толкового не вышло, игры(по крайней мере из серии CoD) - кривовато реагируют на подобные эмуляции движения мыши.