<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: таймер в скрипте]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8107&amp;type=atom" />
	<updated>2013-02-28T19:58:57Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8107</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69861#p69861" />
			<content type="html"><![CDATA[<p>Благодарю Вас <strong>creature.ws</strong> за подробный ответ, теперь вопрос можно считать исчерпанным. Буду использовать Ваш скрипт.</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-28T19:58:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69861#p69861</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69844#p69844" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>При нажатии и удержании клавиши F сначала однократно отправляется код клавиши</p></blockquote></div><p>Это следствие выполнения условия:<br /></p><div class="quotebox"><blockquote><p>Если же я нажимаю эти клавиши как обычно (использую их собственную функию, т.е простую отправку F или G соотвественно)</p></blockquote></div><p>К сожалению, autohotkey не умеет нарушать принцип причинности, как было сказано,&nbsp; скрипт не может знать наперёд «как обычно» вы собираетесь нажать клавишу, или «нажать и удерживать».</p><p>Подобные вопросы не раз обсуждались на форуме, возможно, в прежних темах вы найдёте понятное объяснение, почему приходится использовать «прозрачную» горячую клавишу, или использовать отправку нажатия при физическом отпускании клавиши.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-02-28T18:45:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69844#p69844</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69834#p69834" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Grey пишет:</cite><blockquote><div class="quotebox"><cite>elektrovenik пишет:</cite><blockquote><p>...работают к сожалению неверно.</p></blockquote></div><p>Да, торопился уходить, как результат - не внимательность, извините. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></blockquote></div><p>Как-то сразу не ответил. В этом нет ничего страшного и это не стоит извинений. Я учусь практически на каждом Вашем скрипте, извлекая для себя полезные моменты. И очень рад, что Вы <strong>Grey</strong>, всегда стараетесь помочь.</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-28T16:01:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69834#p69834</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69833#p69833" />
			<content type="html"><![CDATA[<p>Благодарю тщепетильного <strong>creature.ws</strong> за помощь )).<br />Позвольте сказать 2 момента :<br />1. Я форумулирую желаемую задумку и обращаюсь сюда, к знатокам ahk, за помощью, если сам не додумываюсь как реализовать. Ваш форум предназначен не для этого?<br />2. Если тем людям, которые отзываются на мои просьбы, пытающимся мне помочь, это не удается с первого раза или вообще, мне промолчать, или солгать сказав &quot;да все супер, спасибо!&quot;. Вы скажите, не стесняйтесь, я прислушаюсь к Вашему мнению. Просто это уже второе Ваше сообщение, с негативом в мою сторону. Скажите если я Вам чем-то не угодил, я сделаю выводы.</p><p>По поводу скрипта : результат двоякий, с одной стороны, в игре этот скрипт полностью обеспечивает мне комфортное нахождение. Если же смотреть как срабатывает скрипт в блокноте, получается следующее :<br />При нажатии и удержании клавиши F сначала однократно отправляется код клавиши, далее срабатывает переназначение.</p><div class="codebox"><pre><code>fnf</code></pre></div><p> В любом случае, для игры скрипт годится, т.к. тот скил, что стоит на клавише F, появляется только после нажатия клавиши N, тоесть первое нажатие F просто проходит в пустоту. Если бы условия были несколько иными, как пример с блокнотом, скрипт бы не подошел.<br />Еще кто-то из знатоков ahk готов поломать голову над задачкой, или она действительно не осуществима в том виде, как я задумал?</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-28T15:56:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69833#p69833</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69828#p69828" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>~vk46::
    KeyWait, vk46, T.25
    if (ErrorLevel) {
        Send {vk4E}{vk46}
        KeyWait vk46
    }
    return</code></pre></div><p>Предвижу дальнейший диалог…</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-02-28T14:39:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69828#p69828</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69824#p69824" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Что значит &quot;долго выполняется собственная функция&quot;?</p></blockquote></div><p>Вот Ваш скрипт<br /></p><div class="codebox"><pre><code>$vk46::
   loop
   {
      If (A_TimeSinceThisHotkey&gt;250) {
         Send {vk4e}{vk46}
         Break
      }
      if !GetKeyState(SubStr(A_ThisHotkey,2), &quot;P&quot;) {
         Send {vk46}
         Break
      }     
   }
   KeyWait, vk46
Return</code></pre></div><p>Запускаем его и пишем слово &quot;папа&quot;. Вот что вышло у меня : ппаа. Надеюсь так понятно, что значит &quot;долго&quot;?</p><p>Распишу наиболее корректно суть идеи, котору я хочу реализовать, на пальцах : <br />Я зажал кнопку F на 250мс, скрипт не дожидаясь физического отпускания клавиши, единажды отправляет последовательное нажатие клавиши N и клавиши F. Тоже самое с клавишей G (N и G). Если же я нажимаю эти клавиши как обычно (использую их собственную функию, т.е простую отправку F или G соотвественно), я хочу получить быстрое их исполнение, как при обычном нажатии, без всяких задержек. Это возможно?</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-28T10:38:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69824#p69824</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69822#p69822" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>elektrovenik пишет:</cite><blockquote><p>...работают к сожалению неверно.</p></blockquote></div><p>Да, торопился уходить, как результат - не внимательность, извините. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2013-02-28T07:48:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69822#p69822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69821#p69821" />
			<content type="html"><![CDATA[<p>Что значит &quot;долго выполняется собственная функция&quot;? <br />Она сработает в момент отпускания, если время нажатия менее 250мс. А вы хотите, чтоб она сработала в момент нажатия? Увы, в АНК нет такого функционала, как чтение мыслей, чтоб узнать, на какой период времени пользователь нажмет клавишу.&nbsp; Это становится известно только в момент отпускания клавиши. </p><p>По поводу конструкции: в хоткее имеется префикс $, для возможности посыла хоткеем самого себя (можно прочитать в справке).<br />GetKeyState(A_ThisHotkey) не выдает верного результата из-за префикса, поэтому его отсекаем с помощью SubStr. Надеюсь, так понятно.</p><p><strong>Upd</strong>&nbsp; &nbsp;И вообще, в данном случае проще написать<strong>&nbsp; if !GetKeyState(&quot;vk46&quot;, &quot;P&quot;)</strong> и не изобретать велосипед <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-02-28T07:04:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69821#p69821</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69803#p69803" />
			<content type="html"><![CDATA[<p>Интересный скрипт, задумка выполняется. Одно маленькое но - горячая клавиша, без переназначения, исполняется увы долго. Тоесть, это практически &quot;перевернутая&quot; с ног на голову проблема того скрипта, что получился у меня. Там собственная функция горячей клавиши исполнялась мгновенно, а переназначение - после отпускания клавиши, тут же с точностью до наоборот. Можно что-то еще придумать?<br />P.S Если не сложно расшифруйте суть условия</p><div class="codebox"><pre><code>if !GetKeyState(SubStr(A_ThisHotkey,2), &quot;P&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-27T14:47:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69803#p69803</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69799#p69799" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>$vk46::
   loop
   {
      If (A_TimeSinceThisHotkey&gt;250) {
         Send {vk4e}{vk46}
         Break
      }
      if !GetKeyState(SubStr(A_ThisHotkey,2), &quot;P&quot;) {
         Send {vk46}
         Break
      }     
   }
   KeyWait, vk46
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-02-27T13:04:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69799#p69799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69797#p69797" />
			<content type="html"><![CDATA[<p>Приветствую Вас <strong>Grey</strong>, попробовал оба скрипта - работают к сожалению неверно. Происходит следующее : пока я зажимаю клавишу, ожидая истечения времени таймера, и соотвественного срабатывания переназначения, происходит отправка кода данной клавиши(спам), после того, как время таймера истекло, идет такой же &quot;спам&quot; уже переназначенных клавиш.<br /></p><div class="codebox"><pre><code>fffffffffffffffffnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfffff</code></pre></div><p> Я же преследовал цель, в отправке &quot;одноразовых&quot; нажатий. Помимо этого, пропадает исходный функционал горячей клавиши - при её нажатии (недолговременном) тоже происходит спам.</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-27T12:24:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69797#p69797</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69794#p69794" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#UseHook

vk46::
   While, GetKeyState(A_ThisHotkey, &quot;P&quot;)
   {
      If A_TimeSinceThisHotkey&gt;500
         Send, {vk4e}{vk46}
      Else
         Send, {vk46}
       Sleep, 5
   }
   Return</code></pre></div><div class="codebox"><pre><code>#MaxHotkeysPerinterval, 1000
#UseHook

vk46::
   While, GetKeyState(A_ThisHotkey, &quot;P&quot;)
      Send, % &quot;{&quot;(A_TimeSinceThisHotkey&gt;500 ? &quot;vk4e&quot;:&quot;&quot;)&quot;}{vk46}&quot;
   Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2013-02-27T09:09:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69794#p69794</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: таймер в скрипте]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69792#p69792" />
			<content type="html"><![CDATA[<p>Здравствуйте. Прошу мне помочь. Имеется очень простая идея : при нажатии и удержании клавиши N определенный интервал времени, должны происходить какие-то следующие действия. Мои попытки вылились вот в это<br /></p><div class="codebox"><pre><code>$vk46::
KeyWait, vk46
If A_TimeSinceThisHotkey&gt;250 ; величина удержания
Send {vk4e}{vk46}
else
Send {vk46}
Return

$vk47::
KeyWait, vk47
If A_TimeSinceThisHotkey&gt;250 ; величина удержания
Send {vk4e}{vk47}
else
Send {vk47}
Return</code></pre></div><p>Минус в том, что выполнение происходит при отпускании клавиши, а мне бы хотелось, чтобы при удержании.</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-27T06:34:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69792#p69792</id>
		</entry>
</feed>
