Показать полную графическую версию : Выход из игры одной кнопкой
Just-ice
27-06-2009, 15:44
Всем привет.
Проблема такая - я играю в игру,и иногда случается так что надо оч.быстро выйти. Для этого надо нажать кнопку Esc, и затем либо навести мышью на Save and Exit, либо надать кнопку Вверх и Enter. При выходе чаще пользуюсь мышью...ну а когда ситуация критичная,то вечно промахиваюсь и попадаю куда-нибудь в настройки игры.
Слышал что с помощью программы AutoIT можно сделать так, что бы выход из игры производился одним единственным нажатием на клавиатуре (например на кнопку F1)
Скачал программу по вот этой ссылке (http://www.autoitscript.com/autoit3/downloads.shtml) ( AutoIt Full Installation...версия 3.3.0.0. как я понял) Установил. Но как осуществить задуманое - так и не разобрался. Скачал инструкцию по версии 3.2. от Валерия Иванова, но и она не помогла. Если кто может помочь, либо дать более подробную инструкцию (так сказать для чайников), то буду оч.благодарен.
CyberDaemon
27-06-2009, 15:53
ALT-F4 не срабатывает?
Just-ice
27-06-2009, 15:58
ALT-F4 не срабатывает? »
После нажатия ALT-F4 персонаж в игре ещё примерно 5-7 секунд находится, и ты им не контролируешь. Уже проверено.
Just-ice, попробуй эмуляций клавиатурных нажатий, функция Send. Т.е. выслать в окно игры те же клавиши, который нажимаешь когда сам выходишь.
Имею в виду, что можно попробовать, если игра поддерживает, просто выслать в окно программы те клавиши (ESC и т.д.), которые нажимает пользователь, когда выходит из игры. Т.е. полностью воссоздать (эмулировать) действия пользователя.
Just-ice
27-06-2009, 16:31
Чую FAQ надо искать, т.к. ничего из последнего сообщения не понял...
sashadeg
27-06-2009, 17:20
парень, я сначало думал так же как ты.... А только позже понял что скачал среду программирования - !!!Великий AutoIT!!!!(аплодисменты)
А оказалось все банально просто :)
HotKeySet("!d", "_ProcessClose")
While 1
Sleep(100)
WEnd
Func _ProcessClose()
ProcessClose("notepad.exe")
Exit
EndFunc
Вместо комбинации !d(Alt+d) можно подставить любою другую комбинацию
Тебе осталось сменить только имя процесса которое необходимо закрыть
Ну а если этот скрипт будет долго закрывать, то уже это не проблема скрипта, а железа компьютера :happy:
З.Ы. Только учти, она игру не сохраняет, а тупо принудительно вырубает ее(в данном случае блокнот)
Just-ice
27-06-2009, 17:43
Спасибо,работает.(как сделать чтобы выбивало через нажатие F1?Или эти клавиши не предназначены для этого?)
А как составить скрипт чтобы не полностью из игры выбивало, а через Save and Exit?
как сделать чтобы выбивало через нажатие F1?Или эти клавиши не предназначены для этого?) »
Надо вместо !d написать {F1}
Клавишу F12 использовать не получется т.к. она зарезервирована Windows
А как составить скрипт чтобы не полностью из игры выбивало, а через Save and Exit? »
Мне нужен заголовок активного окна. Т.е. как написано в диспетчере задач
HotKeySet("{F1}", "_ProcessClose")
While 1
Sleep(100)
WEnd
Func _ProcessClose()
WinWaitActive("Игра")
Send("{ESC}")
Sleep(100)
Send("{UP}")
Sleep(100)
Send("{ENTER}")
Exit
EndFunc
Думаю будет как то так... Вместо Игра нужноо ввести название в точности как отображается в диспетчере задач, иначе работать не будет
Just-ice
27-06-2009, 18:02
Приложения:
D2Loader v1.10b14 Build On Oct 29 2003
Процессы:
Diablo II.exe
__________________________
Выход из игры: клавиша Esc, стрелочка вверх, Enter.
А впринципе можно и вообще обойтись без WinWaitActive("Игра") . Удали эту строчку и все будет прекрасно :)
Just-ice
27-06-2009, 18:20
HotKeySet("{F1}", "_ProcessClose")
While 1
Sleep(100)
WEnd
Func _ProcessClose()
WinWaitActive("Игра")
Send("{ESC}")
Sleep(100)
Send("{UP}")
Sleep(100)
Send("{ENTER}")
Exit
EndFunc »
неа...не работает
оки....щас удалю
Just-ice,
1. Попробуйте без строчки: WinWaitActive("Игра")
2. Отрегулируйте Sleep - где больше значение, где меньше - так как, возможно, некоторые менюшки появляются быстро (в течение 10-100 мс), а некоторые, возможно, медленней - для этого необходимо увеличить время в Sleep
Just-ice
27-06-2009, 19:09
ОГРОМНОЕ СПАСИБО!!! Всё работает.
Ещё один вопрос...а можно сделать так чтобы этот скрипт был многоразового пользования? А то после первого нажатия F1 он исчезает (и приходиться включать его снова)
Belfigor
27-06-2009, 19:10
Убери Exit и тогда он не будет закрываться после нажатия Ф1
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.