Войти

Показать полную графическую версию : Выход из игры одной кнопкой


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 секунд находится, и ты им не контролируешь. Уже проверено.

proxy
27-06-2009, 16:23
Just-ice, попробуй эмуляций клавиатурных нажатий, функция Send. Т.е. выслать в окно игры те же клавиши, который нажимаешь когда сам выходишь.

Имею в виду, что можно попробовать, если игра поддерживает, просто выслать в окно программы те клавиши (ESC и т.д.), которые нажимает пользователь, когда выходит из игры. Т.е. полностью воссоздать (эмулировать) действия пользователя.

Just-ice
27-06-2009, 16:31
Чую FAQ надо искать, т.к. ничего из последнего сообщения не понял...

sashadeg
27-06-2009, 17:20
парень, я сначало думал так же как ты.... А только позже понял что скачал среду программирования - !!!Великий AutoIT!!!!(аплодисменты)

Medic84
27-06-2009, 17:28
А оказалось все банально просто :)

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?

Medic84
27-06-2009, 17:52
как сделать чтобы выбивало через нажатие 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.

Medic84
27-06-2009, 18:15
А впринципе можно и вообще обойтись без 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 »

неа...не работает



оки....щас удалю

proxy
27-06-2009, 18:23
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