1

Тема: AHK: Макрос возвращающий курсор в исходную точку

Доброго времени суток. Подскажите как сделать макрос для игры . При стрельбе из оружия возникает увод ствола или отдача (у каждого оружия индивидуально) . Задумка такая , при нажатии на "LButton" уводящая курсор отдача (вверх , влево или вправо) , возвращала бы курсор в исходную точку.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2

Re: AHK: Макрос возвращающий курсор в исходную точку

Воспользуйтесь поиском по строке "скрипт на антиотдачу".

3 (изменено: Ядрён, 2014-05-01 21:26:32)

Re: AHK: Макрос возвращающий курсор в исходную точку

Irbis пишет:

Воспользуйтесь поиском по строке "скрипт на антиотдачу".

Скрипт  на анти отдачу у меня есть , меня интересует скрипт конкретно возвращающий курсор в исходную точку (неважно на сколь уводится курсор и в какую сторону) важно чтобы без настроек
курсор возвращался в исходную точку, оружия много просто не реально настроить под всё оружие , настройка одного оружия происходит в идеале 15 -20 минут. И вообще такое сотворить реально?

Вот мой скрипт если интересно.

#SingleInstance force
#Persistent
#NoEnv
SendMode Input
SetBatchLines, -1
#MaxHotkeysPerInterval
#HotkeyInterval, -1


DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1)
Gui, Color, 9CEE90
Gui, Font, s11 Bold, Cambria
Gui, Add, Text, x82 y10 w40 h20 cBlue, Y pos
Gui, Add, Edit, x92 y40 w30 h20 cRed vDllCall3 -WantReturn Limit gMySubroutine, 
Gui, Add, Text, x12 y10 w40 h20 cBlue, X pos
Gui, Add, Edit, x22 y40 w30 h20 cRed vDllCall1 -WantReturn Limit gMySubroutine, 
Gui, Add, Text, x162 y10 w40 h20 cBlue, Delay
Gui, Add, Edit, x162 y40 w30 h20 cRed vDllCall2 -WantReturn Limit gMySubroutine,
Gui, Add, Text, x12 y130 w180 h40 cBlue, Skorostrel
Gui, Add, Checkbox, x92 y130 w20 h20 gClickON, 
Gui, Add, Text, x12 y80 w70 h20 cBlue, Pause
Gui, Add, Hotkey, x62 y80 w30 h20 vHotkey1, G
Gui, Add, Hotkey, x132 y80 w30 h20 vHotkey2,
Gui, Add, Hotkey, x202 y80 w30 h20 vHotkey3,
Gui, Add, Button, x192 y130 w42 h20 gSave, Save
Gui, Add, Button, x122 y130 w42 h20 gOpen, Open
Gui, Show, x557 y130 h171 w255, LightGreen = {:-) 
GuiControl,, DllCall3, 13
GuiControl,, DllCall1, 5 
GuiControl,, DllCall2, 19
return

HKLabel:
Suspend, On
return

HKLabel2:
Suspend, On
return

HKLabel3:
Suspend, On
return

~vk79::
Suspend, Off
ExitApp
return

~vk78::
Suspend, Off
return

*~WheelUp::
Suspend, Off
stop = 0
MoveOFF = 1
Return

ClickON:
ClickON := !ClickON
*~vk51::  ; Q
MoveOFF = 0
stop:=1
return

*~WheelDown::
stop = 0

Return


*~vk1::
while GetKeyState("vk1","P")
{

If MoveOFF
DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0)
DllCall("Sleep", UInt, Time)
DllCall("Sleep", UInt, Timee)
if ClickON
 If stop
Click 4
}
Return

Save:
Gui Submit, NoHide
FileSelectFile, SelectedFile, S24, , Сохранить макрос, *.ini

IniWrite, %DllCall3%, %SelectedFile%.ini, xdirectory, dir3 
IniWrite, %DllCall1%, %SelectedFile%.ini, ydirectory, dir1 
IniWrite, %DllCall2%, %SelectedFile%.ini, sldirectory, dir2  

FileDelete, .ini
Return

Open:
Gui Submit, NoHide
FileSelectFile, SelectedFile, 24, , Загрузить макрос, *.ini

IniRead, OutputVar3, %SelectedFile%, xdirectory, dir3, %A_Space%
IniRead, OutputVar1, %SelectedFile%, ydirectory, dir1, %A_Space%
IniRead, OutputVar2, %SelectedFile%, sldirectory, dir2, %A_Space%

GuiControl,, DllCall3, % OutputVar3
GuiControl,, DllCall1, % OutputVar1
GuiControl,, DllCall2, % OutputVar2

Return

MySubroutine:

Gui Submit, NoHide
Time := DllCall2
Timee := DllCall2
x := DllCall1
y := DllCall3
GuiControlGet, Hotkey
Hotkey, % Hotkey1, HKLabel, *~UseErrorLevel
Hotkey, % Hotkey2, HKLabel2, *~UseErrorLevel
Hotkey, % Hotkey3, HKLabel3, *~UseErrorLevel
Return
GuiClose:
ExitApp
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

4 (изменено: Dimaryo, 2014-05-11 12:35:32)

Re: AHK: Макрос возвращающий курсор в исходную точку

Вот ссылка на подходяшюю тему    http://forum.script-coding.com/viewtopic.php?id=7562

Вот чет похожее у меня получилось ,но в игре глюковато


#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

~*LButton:: 
MouseGetPos, X, Y

    While GetKeyState("LButton", "P")   { 
        Sleep 50
        
            MouseMove, -4, 6, 0, R 
       
    }  

MouseMove, X, Y, 0
    Return

Експериминтируй и отпишись если че-нить толковое выйдет. Ну или кто по опытней может подскажет.
Сержант ромашка

5

Re: AHK: Макрос возвращающий курсор в исходную точку

Да нет вы не поняли , мне нужно что бы как оружие не кидало бы, прицел  быстро возвращался туда откуда начал движение без всяких настроек .

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

6 (изменено: Dimaryo, 2014-05-18 00:09:40)

Re: AHK: Макрос возвращающий курсор в исходную точку


~*LButton:: 
MouseGetPos, X, Y

    While GetKeyState("LButton", "P")   
                                 
MouseMove, X, Y, 0
    Return

Зажми левую кнопку мыши и попробуй двигать курсор в разные стороны.

7

Re: AHK: Макрос возвращающий курсор в исходную точку

Привет ребята, подскажите как сделать, что бы этот макрос работал в RUST ?  В меню он работает , но как только входишь в игру нет.

~*LButton:: 
MouseGetPos, X, Y

    While GetKeyState("LButton", "P")   
                                 
MouseMove, X, Y, 0
    Return

В то время как этот работает и в игре и везде

LCtrl & ~LButton::
Loop
	If GetKeyState("LButton", "LCtrl") {
		Sleep, 5
		moveAmount := (moveAmount = 2) ? 3 : 0
 		mouseXY(moveAmount,3)

              
	}
	else

	break


	
Return



mouseXY(x,y)
{
DllCall("mouse_event",int,1,int,x,int,y,uint,0,uint,0)
}

8

Re: AHK: Макрос возвращающий курсор в исходную точку

sashalambin пишет:

Привет ребята, подскажите как сделать, что бы этот макрос работал в RUST ?  В меню он работает , но как только входишь в игру нет.

~*LButton:: 
MouseGetPos, X, Y

    While GetKeyState("LButton", "P")   
                                 
MouseMove, X, Y, 0
    Return

В то время как этот работает и в игре и везде

LCtrl & ~LButton::
Loop
	If GetKeyState("LButton", "LCtrl") {
		Sleep, 5
		moveAmount := (moveAmount = 2) ? 3 : 0
 		mouseXY(moveAmount,3)

              
	}
	else

	break


	
Return



mouseXY(x,y)
{
DllCall("mouse_event",int,1,int,x,int,y,uint,0,uint,0)
}

Вопрос еще актуален.

9

Re: AHK: Макрос возвращающий курсор в исходную точку

Ну по сути я думаю это не возможно ибо курсор у тебя всегда по центру экрана.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

10

Re: AHK: Макрос возвращающий курсор в исходную точку

Добрый день. Подскажите, чем я могу записать движения мышки на рабочем столе, с Х У координатами и таймингами , для дальнейшего использования в ahk скриптах ?