TheAwesomeNoob
Новичок
- Сообщения
- 6
- Репутация
- 0
Здравствуйте. Есть скрипт с несколькими функциями переключаемыми по хот-клавише, каждая отвечает за свой стиль игры и переключается по ходу. Возникла необходимость сделать имитацию анти-отдачи в функции после PixelSearch, т.е. чтобы при нахождении нужного цвета, кликер делал выстрел и перемещал не курсор, а "центр экрана" вниз на несколько точек если была кликнута/зажата ЛКМ. Знаю, что нужно использовать нечто на подобие:
Но у меня не шибко получается подружить со своим скриптом конкретно в игре, т.к. для этого должна быть отдельная функция, а мне нужно, чтобы код выполнялся одновременно с пикселсирчем, или проще говоря, встроить в функцию кликера.
Примерно так. Хотя бы подтолкните в нужном направлении, а то я совсем нуб еще, все текущие попытки приводят к тому, что в окружении рабочего стола все работает, а в игре нет. Спасибо.
UPD: Вроде все работает, но отдельно, не пойму почему он путает кнопки. Т.е. пикселсирч исправно кликает, когда находит нужный цвет, при этом когда физически нажимаешь ЛКМ, происходит сдвиг курсора вниз, а на нажатия ЛКМ кликером не реагирует.
В общем туплю, решение было под носом - решил проблему при помощи
А вот переместить относительно центра текущего окна не выходит (т.е. переместить непосредственно сам "центр экрана"), упирается в пол, пробовал по разному (вычисление центра от @DesktopWidth и @DesktopHeight /2 например) вроде:
Есть способ решить такую проблему? Чтобы курсор улетал не относительно своего текущего положения, а улетал в центр и оттуда на указанное значение пикселей в сторону?
Код:
while(_ispressed(01)
$pos = mousegetpos()
mousemove($pos[0], $pos[1]-5)
wend
Но у меня не шибко получается подружить со своим скриптом конкретно в игре, т.к. для этого должна быть отдельная функция, а мне нужно, чтобы код выполнялся одновременно с пикселсирчем, или проще говоря, встроить в функцию кликера.
Код:
#include <WinAPIEx.au3>
#include <misc.au3>
Global $Paused
Global $refreshRate = Floor(1000/@DesktopRefresh)
HotKeySet("{F2}", "Semi")
HotKeySet("{F7}", "togglestate")
While 1
Semi()
Wend
Func Semi()
$var = 1
while $var = 1
ToolTip('Semi', 0, 0)
PixelSearch(@DesktopWidth/2-25,@DesktopHeight/2-25,@DesktopWidth/2+25,@DesktopHeight/2+25, 0xD61317, 10 )
If Not @error Then
MouseClick("Left")
Sleep(100)
ElseIf @error Then
Sleep($refreshRate)
EndIf
wend
EndFunc
Примерно так. Хотя бы подтолкните в нужном направлении, а то я совсем нуб еще, все текущие попытки приводят к тому, что в окружении рабочего стола все работает, а в игре нет. Спасибо.
UPD: Вроде все работает, но отдельно, не пойму почему он путает кнопки. Т.е. пикселсирч исправно кликает, когда находит нужный цвет, при этом когда физически нажимаешь ЛКМ, происходит сдвиг курсора вниз, а на нажатия ЛКМ кликером не реагирует.
В общем туплю, решение было под носом - решил проблему при помощи
Код:
If _WinAPI_GetAsyncKeyState
Код:
Func Semi()
$var = 1
while $var = 1
ToolTip('Semi', 0, 0)
PixelSearch(@DesktopWidth/2-25,@DesktopHeight/2-25,@DesktopWidth/2+25,@DesktopHeight/2+25, 0xED1C24, 10)
If Not @error Then
MouseClick("Left")
$pos = MouseGetPos()
$ypos = $pos[0]
$xpos = $pos[1]
If _WinAPI_GetAsyncKeyState(0x01) = True Then
MouseMove($ypos, $xpos+50)
Sleep(100)
EndIf
EndIf
Wend
EndFunc
А вот переместить относительно центра текущего окна не выходит (т.е. переместить непосредственно сам "центр экрана"), упирается в пол, пробовал по разному (вычисление центра от @DesktopWidth и @DesktopHeight /2 например) вроде:
Код:
$iWidth = @DesktopWidth
$iHeight = @DesktopHeight
$iX = $iWidth / 2
$iY = $iHeight / 2
MouseMove($iX, $iY+50)
Есть способ решить такую проблему? Чтобы курсор улетал не относительно своего текущего положения, а улетал в центр и оттуда на указанное значение пикселей в сторону?