Что нового

[Мышь, клавиатура] Сочетание клавиш в игре

ExtraLayt

Новичок
Сообщения
3
Репутация
0
Версия AutoIt: 3.3.8.1

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

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

Сочетание довольно таки простое.

Бесконечное повторение нажатия клавиш 7 3 1 ожидание 10 секунд и снова 7 3 1 и т.д.


Буду рад если кто то поможет или подскажет как написать чтобы небыло ошибок.
Я пробовал писать но не вышло, либо в самом скрипте писало 731731731 и т.д. либо просто не запускался из за ошибок.
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
659
Так ?:
Код:
HotKeySet('{F1}', '_Start')
HotKeySet('{ESC}', '_Exit')

While 1
	Sleep(100)
WEnd

Func _Start()
	While 1
		Send('731')
		Sleep(10000)
	WEnd
EndFunc

Func _Exit()
	Exit
Endfunc
 
Автор
E

ExtraLayt

Новичок
Сообщения
3
Репутация
0
[Мышь, клавиатура] Re: [Мышь, клавиатура] Сочетание клавиш в игре

Всё так только вот в самой игре это не работает.

Нажимаю F1 в игре и ничего не происходит никаких действий.

Не знаю может это как то поможет, нажатие кнопок 7 , 3 , 1 это использование способностей в игре, такие как выбор врага и удары по нему. тоесть своего рода автокач.
 

Feeze

Новичок
Сообщения
18
Репутация
1
попробуй ControlSend использовать вместо Send
 
Автор
E

ExtraLayt

Новичок
Сообщения
3
Репутация
0
Код:
HotKeySet('{F1}', '_Start')
HotKeySet('{ESC}', '_Exit')

While 1
    Sleep(100)
WEnd

Func _Start()
    While 1
        ControlSend('7')
		Sleep(100)
        ControlSend('1')
        Sleep(10000)
    WEnd
EndFunc

Func _Exit()
    Exit
Endfunc


В таком ввиде не работает, да и ни в каком не работает, такое ощущение что не видит окно с игрой, в любом файле или самом скрипте пишет.

Если есть ещё идеи поделитесь.


Добавлено:
Сообщение автоматически объединено:

У меня ощущение что может стоит добавить

Код:
Opt("SendKeyDelay",...)
Opt("SendKeyDownDelay",...)


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

Feeze

Новичок
Сообщения
18
Репутация
1
Код:
; Identify the Notepad window that contains the text "this one" and get a handle to it

; Get the handle of a notepad window that contains "this one"
Local $handle = WinGetHandle("[CLASS:Notepad]", "this one")
If @error Then
    MsgBox(4096, "Error", "Could not find the correct window")
Else
    ; Send some text directly to this window's edit control
    ControlSend($handle, "", "Edit1", "AbCdE")
EndIf

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

Код:
#include'winapiex.au3'
Opt("WinTitleMatchMode", 4)
HotKeySet('{f4}','fu'); по нажатию ф4 активируется окно
$run=Run('notepad.exe'); запускаем искомую программу
Sleep(1000)
$ha=_WinAPI_EnumProcessWindows($run); это определяет handle
While 1
    Sleep(100)
WEnd
Func fu ()
    WinActivate($ha[1][0])
EndFunc
 
Верх