<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Устранение паузы в обработке хоткея]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11301&amp;type=atom" />
	<updated>2016-02-07T21:41:24Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11301</id>
		<entry>
			<title type="html"><![CDATA[Устранение паузы в обработке хоткея]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=100923#p100923" />
			<content type="html"><![CDATA[<p>Доброго дня!<br />Написал скрипт<br /></p><div class="codebox"><pre><code>
#NoEnv
#Warn
SetWorkingDir %A_ScriptDir%
UIMenuState := 0

SendMode, Event
SetKeyDelay, 0, 50

SetScrollLockState, Off	; Используется для индикации работы скрипта
Suspend					; Выключаем по умолчанию

~ScrollLock::Suspend	; Собственно сам выключатель

; При посадке (включается клавишей выпуска шасси) клавиши {r}{w} работают как боковые трастеры
; поэтому лучше вообще отключать скрипт

; **********************************************

#IfWinActive, Elite - Dangerous (CLIENT)

; Игра позволяет назначить несколько функций на одну клавишу
; в зависимости от того в каком режиме полета, либо элементе интерфейса мы находимся

~2::					; ****************************
~3::					; Проверка - в меню ли мы (их в интерфейсе корабля 3 шт)
~4::					; ****************************
If UIMenuState = 0
    UIMenuState := 1
Else
    UIMenuState := 0	; Из меню можно выйти кнопкой самого меню {2}{3}{4} или кнопкой выхода {LShift}
Return

~LShift::				; У клавиши 2 функции: 1. Вертикальный трастер 2. Выход из меню
UIMenuState := 0
KeyWait, LShift
Return

~*z::					; Подаем энергию на подсистему двигателей
Send, {Up}{Up}{Up}{Up}
Return

~*w::					; Если мы в меню - листаем вкладки меню влево. Иначе - подаем энергию на подсистему щитов
If UIMenuState = 0
    Send, {Left}{Left}{Left}{Left}
Return

~*r::					; Если мы в меню - листаем вкладки меню вправо. Иначе - подаем энергию на подсистему орудий
If UIMenuState = 0
    Send, {Right}{Right}{Right}{Right}
Return
</code></pre></div><p>Все работает. Все прекрасно. Есть лишь одно маленькое неудобство - если зажат Shift (работает вертикальный трастер), и нажать любую из клавиш {r}{w}{z}, то действие Shift&#039;а кратковременно прерывается, а после отпускания {r}{w}{z} - возобновляется.</p><p><span style="color: blue">Подсказали решение: добавить {Blind} в команды Send. Все получилось. Теперь скрипт работает идеально.</span></p>]]></content>
			<author>
				<name><![CDATA[m00slim25]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33666</uri>
			</author>
			<updated>2016-02-07T21:41:24Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=100923#p100923</id>
		</entry>
</feed>
