1

Тема: Вопрос по игре Multi Theft Auto (MTA)

Приветствую, задумка такая - при запуске скрипта, нажимаются определенные кнопки. Всё функционирует в блокноте, в других играх. В MTA никакой реакции. Запуск от имени администратора так же не дал никаких результатов. Может в настройках что-то подкрутить, или попробовать другую программу. Буду рад любым советам и предложениям. Заранее Спасибо!

2 (изменено: stealzy, 2018-03-16 13:47:17)

Re: Вопрос по игре Multi Theft Auto (MTA)

Неоторые игры не улавливают слишком быстрое нажатие, тогда помогает увеличение промежутков между зажатием и отжатием клавиш:

#UseHook ; установка горячих клавиш ч/з хук также может помочь
; SendMode Input ; тоже можно попробывать
SetKeyDelay 100, 100 ; увеличение длительности зажатия до 100 мс, увеличение промежутка между нажатиями до 100 мс

Если это не помогает, значит античит игры ловит нажатия на уровне железа.
Чтобы игра не смогла отличить искусственные нажатия от настоящих, необходимо использовать специальные библиотеки:
Low-level keyboard/mouse emulation:
Interception driver / library for capturing / emulation.
WinRing0 doesn't support USB keyboard.
Class_DD used to simulate keys/mouse in hardware driver level.


MouseMove не работает в игре:
LLMouse - библиотека для низкоуровнего перемещения курсора = обертка над вызовом DllCall("mouse_event", ...).
Поскольку mouse_event принимает только относительные координаты для перемещения курсора, нужно узнать:
• координаты пикселя куда перемещаем,
• координаты курсора,
• вычесть из первых вторые и передать их в mouse_event для перемещения.

3 (изменено: svoboden, 2018-01-15 12:43:41)

Re: Вопрос по игре Multi Theft Auto (MTA)

Попробуй, например, так:

Send {Right Down}
Sleep 1000
Send {Right Up}
Sleep 1000

Вместо "Right" - нужная клавиша.

4

Re: Вопрос по игре Multi Theft Auto (MTA)

stealzy пишет:

Чтобы игра не смогла отличить искусственные нажатия от настоящих, необходимо использовать специальные библиотеки:
Low-level keyboard/mouse emulation:
Interception driver / library for capturing / emulation.
WinRing0 doesn't support USB keyboard.
Class_DD used to simulate keys/mouse in hardware driver level.


MouseMove не работает в игре:
LLMouse - библиотека для низкоуровнего перемещения курсора = обертка над вызовом DllCall("mouse_event", ...).
Поскольку mouse_event принимает только относительные координаты для перемещения курсора, нужно узнать:
• координаты пикселя куда перемещаем,
• координаты курсора,
• вычесть из первых вторые и передать их в mouse_event для перемещения.

Спасибо.
Проверил на AHKSpy - повороты колеса засчитываются как физические. А как можно проверить движения мыши на подобное?
И по клавишам - совсем не удалось разобраться. Скачал всё по ссылкам, даже внутрь заглянул, но понять как это всё использовать не сумел.
Помогите, пожалуйста!

5

Re: Вопрос по игре Multi Theft Auto (MTA)

В AHKSpy мышиные кнопки сделаны через горячие кнопки, а не через хук, соответственно проверка на физические сделана через GetKeyState, а он не в состоянии определять именно повороты колеса.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

6

Re: Вопрос по игре Multi Theft Auto (MTA)

То есть и тут никаких гарантий? Как же проверить?

7

Re: Вопрос по игре Multi Theft Auto (MTA)

Хочу пояснить, что я не какой-то чит для игры собираюсь писать, чтобы людям игру портить!
Просто хочу помочь своей хромающей координации. Например, для одних персонажей для подготовки атаки надо нажать "1", а для других "2". Зачастую я путаюсь, по привычке нажимаю "1" и там где нужна "2", и начинаю атаку безоружным. Что кончается предсказуемо плачевно.
Хотелось бы, чтобы автоматом в нужный момент при нажатии на "1" тут же отправлялась "2". Сам момент я научился распознавать, но боюсь, что обнаружив регулярную отсылку искусственных программных нажатий - игра меня заблокирует.  Слышал что из-за AHK-скриптов, правда другого назначения, людей уже банили.

8

Re: Вопрос по игре Multi Theft Auto (MTA)

Kurskador пишет:

То есть и тут никаких гарантий? Как же проверить?

В коллекции есть хук мыши, но если вы всю мышь эмулируете, то в AHKSpy можно посмотреть остальные кнопки мыши, а не только колёсико.

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

9

Re: Вопрос по игре Multi Theft Auto (MTA)

Не смог разобраться как это работает.
Подскажите, как сделать "физическую" замену клавиши "1" на "2"?

10

Re: Вопрос по игре Multi Theft Auto (MTA)

Понятно. Сколько будет стоить заказать готовую функцию для имитации физического нажатия клавиш, кнопок мыши и движения мыши, чтобы простыми средствами AHK можно было вписывать только необходимые последовательности типа:

F1::
Send,{Numpad3}
Random,ps,10,100
Sleep,%ps%
Send,{Up}
Random,ps,10,100
Sleep,%ps%
Send,{Lshift}{Lbutton}
Return

F2::
MouseMove,100,200
Random,ps,0,25
Sleep,%ps%
Send,{Lbutton}
Return

  Ну, или в другом виде, но без отхода от самых простых операций.