1

Тема: GTA 5 - не работают скрипты

Версия компилятора AHK 1.1.24.00
В блокноте скрипт работает.
Windows 10. Пробовал запускать от имени администратора.

4:: ;taxi call
	SendInput {vk26 down}
	sleep 100
	SendInput {vk26 up} ;UP
	SendInput {vk08 down}{vk08 up} ;BackSpace
	SendInput {vk08 down}{vk08 up} ;BackSpace
	SendInput {vk08 down}{vk08 up} ;BackSpace
	SendInput {vk26 down}{vk26 up} ;UP
	SendInput {vk0d down}{vk0d up} ;enter
	SendInput {vk28 down}{vk28 up} ;DOWN
	SendInput {vk28 down}{vk28 up} ;DOWN
	SendInput {vk28 down}{vk28 up} ;DOWN
	SendInput {vk0d down}{vk0d up} ;enter
return

2

Re: GTA 5 - не работают скрипты

Первое, поменяй SendInput на обычный Send. Возможно из-за этого.

3 (изменено: Indomito, 2016-07-30 22:42:17)

Re: GTA 5 - не работают скрипты

Kokkolar
Попробуй так.

#UseHook, On ;Для надёжности, хотя излишне.

4:: ;taxi call
  Send {Up Down}
    KeyWait, % A_ThisHotkey
  Send {Up Up}
	
  Send {BackSpace Down} ;BackSpace
   KeyWait, % A_ThisHotkey
  Send {BackSpace Up} 

; И т.д. vk-code излишне для не модифицируемых клавиш.
Return

#UseHook, Off

Должно сработать.

P.S. Возможно требуется задержка, в разных местах кода от 25 до 50 ms.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

4

Re: GTA 5 - не работают скрипты

Доброго времени суток. Можно попробовать так.


4:: ;taxi call
	
DllCall("keybd_event", UInt, 0x26, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду NumpadUp

DllCall("Sleep", UInt, 100) ; задержка

DllCall("keybd_event", UInt, 0x26, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду NumpadUp

DllCall("keybd_event", UInt, 0x08, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду BackSpace

DllCall("keybd_event", UInt, 0x08, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду BackSpace

DllCall("keybd_event", UInt, 0x08, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду BackSpace

DllCall("keybd_event", UInt, 0x08, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду BackSpace

DllCall("keybd_event", UInt, 0x08, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду BackSpace

DllCall("keybd_event", UInt, 0x08, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду BackSpace

DllCall("keybd_event", UInt, 0x26, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду NumpadUp
	
DllCall("keybd_event", UInt, 0x26, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду NumpadUp
	
DllCall("keybd_event", UInt, 0x0d, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду Enter
	
DllCall("keybd_event", UInt, 0x0d, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду Enter

DllCall("keybd_event", UInt, 0x28, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду NumpadDown

DllCall("keybd_event", UInt, 0x28, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду NumpadDown

DllCall("keybd_event", UInt, 0x28, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду NumpadDown

DllCall("keybd_event", UInt, 0x28, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду NumpadDown

DllCall("keybd_event", UInt, 0x28, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду NumpadDown

DllCall("keybd_event", UInt, 0x28, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по vk коду NumpadDown

DllCall("keybd_event", UInt, 0x0d, Int, 0, Int, 0x0001, UInt, 0, Int, 0) ; нажать клавишу по vk коду Enter
	
DllCall("keybd_event", UInt, 0x0d, Int, 0, Int, 0x0002, UInt, 0, Int, 0) ; отпустить клавишу клавишу по Enter
	
return

Если так не получиться нужно поставить небольшую задержку после каждого нажания.

В таком ключе.

DllCall("Sleep", UInt, 20) ; задержка
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

5

Re: GTA 5 - не работают скрипты

Ядрён
Пробовал так:

4::
	DllCall("keybd_event", UInt, 0x26, Int, 0, Int, 0x0001, UInt, 50, Int, 0)
	DllCall("Sleep", UInt, 100)
	DllCall("keybd_event", UInt, 0x26, Int, 0, Int, 0x0002, UInt, 50, Int, 0)
Return

В блокноте работает, в игре полный игнор.

6

Re: GTA 5 - не работают скрипты

Indomito
Indomito
#UseHook - и правда оказался лишним
KeyWait, % A_ThisHotkey - тоже не понадобился
Пропись Up & Down для каждой эмуляции оказалась полезной, тк если просто писать Send {BackSpace}, происходят частые осечки.

Итого получилась вот такая простетская байда для вызова такси одной кнопкой:

~^F9::ExitApp
~F8::Suspend

#IfWinActive, Grand Theft Auto V

4:: ;taxi call
	Send {Up Down}{Up Up} ;phone
	sleep 700

	loop, 3
	{
		Send {BackSpace Down}{BackSpace Up} ;cancel
	}
	sleep 500
	
	Send {Up Down}{Up Up} ;phone
	sleep 200
	
	Send {Enter Down}{Enter Up} ;contacts
	sleep 500

	loop, 3
	{
		Send {Down Down}{Down Up} ;choose taxi
		sleep 150
	}

	Send {Enter Down}{Enter Up} ;call
Return

Всем спасибо за ответы!