<?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=14874</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=14874&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «АНК: каким условием отслеживать нажатие комбинации клавиш?».]]></description>
		<lastBuildDate>Mon, 29 Jul 2019 07:44:46 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135117#p135117</link>
			<description><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><div class="quotebox"><blockquote><p>вписал прибавление по +1 до значения =6 это не совсем в тему</p></blockquote></div><p>Сразу понятно, что не запускали. Вы запустите и расскажите чем это отличается от простыни в вашем первом сообщении. Тайминг там выставлен, кстати.</p></blockquote></div><p> Во многих случаях нужны совершенно разные значения sleep чтобы игра правильно считала и сбуферила всё это в комбо. Методом тыка я разобрался </p><div class="codebox"><pre><code>vkA0 &amp; vk44::                      ;низ 240 dm
send {vk20 up}
send {vk41 down}
Sleep, 19
send {vk64 down}
Sleep, 70
send {vk41 up}
Sleep, 10
send {vk64 up}
if !getkeystate(&quot;vk44&quot;, &quot;P&quot;) and !getkeystate(&quot;vk10&quot;, &quot;P&quot;)
Return
Sleep, 70
send {vk57 down}
Sleep, 15
send {vk65 down}
Sleep, 70
send {vk57 up}
Sleep, 20
send {vk65 up}
if !getkeystate(&quot;vk44&quot;, &quot;P&quot;) and !getkeystate(&quot;vk10&quot;, &quot;P&quot;)
Return
Sleep, 100
send {vk41 down}
Sleep, 70
send {vk41 up}
if !getkeystate(&quot;vk44&quot;, &quot;P&quot;) and !getkeystate(&quot;vk10&quot;, &quot;P&quot;)
Return
Sleep, 70
send {vk44 down}
Sleep, 19
send {vk68 down}
Sleep, 70
send {vk44 up}
Sleep, 10
send {vk68 up}
if !getkeystate(&quot;vk44&quot;, &quot;P&quot;) and !getkeystate(&quot;vk10&quot;, &quot;P&quot;)
Return
Sleep, 800
Return
</code></pre></div><p>Вот как-то в таком виде это работает как мне нужно. Всем спасибо. Помогли.</p>]]></description>
			<author><![CDATA[null@example.com (wolf_107)]]></author>
			<pubDate>Mon, 29 Jul 2019 07:44:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135117#p135117</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135035#p135035</link>
			<description><![CDATA[<p>Вам нужно поставить ещё один return. Ваши возвраты вложены в условия, а вот возврата от активации хоткеем нет, потому и скрипт запускает все подряд. Кстати может-быть так будет лучше:<br /></p><div class="codebox"><pre><code>vk10 &amp; vk53::
while (getkeystate(&quot;vk53&quot;, &quot;P&quot;) or getkeystate(&quot;vk10&quot;, &quot;P&quot;)) {
	send {vk31 down}
	Sleep, 100
	send {vk31 up}
	Sleep, 100
	send {vk32 down}
	Sleep, 100
	send {vk32 up}
	send {vk33 down}
	Sleep, 100
	send {vk33 up}
	Sleep, 100
}
return</code></pre></div><p>Если оставить or то для остановки подпрограммы нужно будет опустить обе клавиши. Если поставить and то нужно будет отпустить всего одну клавишу.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Fri, 26 Jul 2019 06:32:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135035#p135035</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135010#p135010</link>
			<description><![CDATA[<div class="codebox"><pre><code>vk10 &amp; vk53::
send {vk31 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk31 up}
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk32 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk32 up}
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return 
send {vk33 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk33 up}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return 
</code></pre></div><p>Вот так вроде работает как надо. Начинаю понимать. Спасибо.</p><p>Еще вопрос:<br />А как разделить алгоритмы для разных горячих клавиш в одном файле?<br /></p><div class="codebox"><pre><code>vk10 &amp; vk53::
send {vk31 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk31 up}
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk32 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk32 up}
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return 
send {vk33 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return
send {vk33 up}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk53&quot;, &quot;P&quot;)
Return 

vk10 &amp; vk52::
send {vk36 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return
send {vk36 up}
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return
send {vk37 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return
send {vk37 up}
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return 
send {vk38 down}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return
send {vk38 up}
Sleep, 100
if !getkeystate(&quot;vk10&quot;, &quot;P&quot;) and !getkeystate(&quot;vk52&quot;, &quot;P&quot;)
Return </code></pre></div><p>Если запустить верхний алгоритм с <em>vk10 &amp; vk53::</em> то следом воспроизводится второй с <em>vk10 &amp; vk52::</em> Как этого избежать.</p>]]></description>
			<author><![CDATA[null@example.com (wolf_107)]]></author>
			<pubDate>Wed, 24 Jul 2019 10:15:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135010#p135010</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135009#p135009</link>
			<description><![CDATA[<p>Спасибо за ответы. От belyankin12 методом тыка понял что в строке&nbsp; <em>if getkeystate</em> через кавычки можно указать клавишу которая будет отслеживаться. Stealzy вписал прибавление по +1 до значения =6 это не совсем в тему. Любопытно конечно, но я пытаюсь понять простейшие принципы скриптов запускаемых сочетанием клавиш.<br />Тема в разделе Games. Я пытаюсь написать команды для автоматического набора комбо в файтинге. Очень важны тайминги между нажатиями <em>(Sleep,)</em>. Мне нужен удобный функционал чтобы скрипт можно было прервать в любой момент и запуск скрипта сочетанием двух клавиш. Есть ли функция которая реагирует только на отпускание одной из кнопок которыми скрипт запускается? Чтобы запуск vk33 &amp; vk34:: и условие что-то вроде <em>&quot;if send {vk33 up} then return&quot;</em>.<br />Можно конечно сделать как в коде ниже. Любое нажатие <em>vk20</em> остановит скрипт. Но с отдельной кнопкой остановки не очень удобно.<br /></p><div class="codebox"><pre><code>vk10 &amp; vk53::
send {vk31 down}
Sleep, 100
if getkeystate(&quot;vk20&quot;, &quot;P&quot;)
Return
send {vk31 up}
if getkeystate(&quot;vk20&quot;, &quot;P&quot;)
Return
Sleep, 100
if getkeystate(&quot;vk20&quot;, &quot;P&quot;)
Return
send {vk32 down}
Sleep, 100
if getkeystate(&quot;vk20&quot;, &quot;P&quot;)
Return
send {vk32 up}
if getkeystate(&quot;vk20&quot;, &quot;P&quot;)
Return 
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wolf_107)]]></author>
			<pubDate>Wed, 24 Jul 2019 08:57:06 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135009#p135009</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135008#p135008</link>
			<description><![CDATA[<div class="codebox"><pre><code>#MaxHotkeysPerInterval 300
s::
	buttn := 0
	SetKeyDelay,, 100
	While GetKeyState(&quot;s&quot;)
		send % &quot;{Blind}&quot; buttn:=Mod(buttn, 6)+1
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Tue, 23 Jul 2019 15:37:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135008#p135008</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135006#p135006</link>
			<description><![CDATA[<div class="codebox"><pre><code>Loop {
	ToolTip, &quot;123&quot;
	if getkeystate(&quot;vk53&quot;, &quot;P&quot;) and getkeystate(&quot;vk44&quot;, &quot;P&quot;) {
		break
	}
}</code></pre></div><p>Справедливости ради стоит отметить что комбинация d + s так же остановит скрипт.</p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Tue, 23 Jul 2019 09:57:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135006#p135006</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135005#p135005</link>
			<description><![CDATA[<p><strong>wolf_107</strong><br /><span style="color: #008000">1. Выполните требования по исправлению ошибок в <a href="http://forum.script-coding.com/viewtopic.php?id=14868">этой теме</a>.<br />2. Код оформляется тегом code, а не прячется под спойлер. Исправьте ошибку.</span><br /><span style="color: #008000">Кроме того я рекомендую вам ознакомится с <a href="http://forum.script-coding.com/rules.html">полной версией правил форума</a>, либо с выпиской <a href="http://forum.script-coding.com/misc.php?action=rules">важнейших правил поведения на форуме</a> чтобы избежать подобных ошибок в будущем.</span></p><p>Если вы нашли решение своей проблемы, то это не значит, что можно не соблюдать обоснованные требования по исправлению недостатков в оформлении тем. Учтите, что наплевательское отношение к правилам форума не только не приветствуется со стороны местного комьюнити, но и может повлечь за собой более жесткие дисциплинарные меры, вплоть до полного ограничения доступа к форуму. Пожалуйста отнеситесь к соблюдению правил серьезно, от вас не требуют чего-то сверхъестественного.</p><p><span style="color: #FF0000">Обсуждение в теме временно прекращено.</span> <br />Пока оформление не будет приведено в порядок, ответы будут удаляться. Если в течение трех суток тема не будет оформлена должным образом, то будет удалена.</p><p>UPD: <span style="color: #008000">Обсуждение может быть продолжено.</span></p>]]></description>
			<author><![CDATA[null@example.com (belyankin12)]]></author>
			<pubDate>Tue, 23 Jul 2019 09:29:55 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135005#p135005</guid>
		</item>
		<item>
			<title><![CDATA[АНК: каким условием отслеживать нажатие комбинации клавиш?]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=135004#p135004</link>
			<description><![CDATA[<p>В скрипте <br /></p><div class="codebox"><pre><code>vk53::
send {vk31 down}
Sleep, 100
send {vk31 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return
Sleep, 100
send {vk32 down}
Sleep, 100
send {vk32 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
send {vk33 down}
Sleep, 100
send {vk33 up}
Sleep, 100
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
send {vk34 down}
Sleep, 100
send {vk34 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
Sleep, 100
send {vk35 down}
Sleep, 100
send {vk35 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
send {vk36 down}
Sleep, 100
send {vk36 up}
Sleep, 100
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return</code></pre></div><p>If !GetKeyState(A_ThisHotkey, &quot;P&quot;) отслеживает нажата ли vk53. Если не нажата то скрипт прекращается.<br />Как сделать такое же условие если скрипт будет запускаться через vk53 &amp; vk44::&nbsp; ?<br />Как правильно переписать команду If !GetKeyState(A_ThisHotkey, &quot;P&quot;) чтобы отслеживалось нажата ли комбинация vk53 &amp; vk44 ?<br /></p><div class="codebox"><pre><code>vk53 &amp; vk44::
send {vk31 down}
Sleep, 100
send {vk31 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return
Sleep, 100
send {vk32 down}
Sleep, 100
send {vk32 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
send {vk33 down}
Sleep, 100
send {vk33 up}
Sleep, 100
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
send {vk34 down}
Sleep, 100
send {vk34 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
Sleep, 100
send {vk35 down}
Sleep, 100
send {vk35 up}
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return 
send {vk36 down}
Sleep, 100
send {vk36 up}
Sleep, 100
If !GetKeyState(A_ThisHotkey, &quot;P&quot;)
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wolf_107)]]></author>
			<pubDate>Tue, 23 Jul 2019 09:01:42 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=135004#p135004</guid>
		</item>
	</channel>
</rss>
