<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Устранение паузы в обработке хоткея]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=11301</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11301&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Устранение паузы в обработке хоткея».]]></description>
		<lastBuildDate>Sun, 07 Feb 2016 21:41:24 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Устранение паузы в обработке хоткея]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=100923#p100923</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (m00slim25)]]></author>
			<pubDate>Sun, 07 Feb 2016 21:41:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=100923#p100923</guid>
		</item>
	</channel>
</rss>
