<?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=12056</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=12056&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Прожатие скилов с заданным для каждого интервалом времени».]]></description>
		<lastBuildDate>Tue, 11 Oct 2016 06:26:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108303#p108303</link>
			<description><![CDATA[<p><strong>aaalberttt19</strong><br />Отвечу, позже, просто занят по работе.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 11 Oct 2016 06:26:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108303#p108303</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108296#p108296</link>
			<description><![CDATA[<p><strong>Indomito</strong> касаемо <strong>варианта от 09.10.016:</strong> не могу найти информацию по названию окон, чтобы прописать его в скрипт. В <strong>&quot;Общий обзор программы и краткое обучение&quot;</strong> AutoHotkey следующая справка:<br />&nbsp; &nbsp;<strong>Эмуляция нажатий клавиш и кликов мышью</strong><br />&quot;Клики мышью: для того, чтобы сообщить окну клик мышью, в первую очередь необходимо определить координаты X и Y, куда вы собираетесь делать клик. Это можно определить с помощью утилит AutoScriptWriter и Window Spy, которые поставляются вместе с AutoHotkey.<br />Вот как это делается с помощью Window Spy: запустите Window Spy. Активируйте интересующее Вас окно. Наведите курсор мыши на искомую точку и посмотрите в окне Window Spy её координаты. Используйте эти координаты для создания эмуляции клика мыши. Например:<br /> F7::MouseClick, Left, 112, 223<br />Примечание: координаты клика всегда считаются от левого верхнего угла активного окна. Окно при этом может находиться где угодно.<br />Для перемещения мыши без клика используйте команду MouseMove. Для перетаскивания или выделения мышью используйте команду MouseClickDrag.&quot;<br />&nbsp; &nbsp;Полагаю, это не совсем то, что требуется для того, чтобы <strong><span class="bbu">прописать активное окно.</span></strong><br />&nbsp; &nbsp;В <strong>варианте от 07.10.016</strong> менял задержку:<br /></p><div class="codebox"><pre><code>MButton::
  Loop
      {
         Send, {2} ; Запрыгиваем на ковер. Здесь менял на 3800
         Sleep, 30
         Send, {vk43 down} ; Зажимаем клавишу C
         Send, {1} ; Прожимаем дыхание небес
         Sleep, 30
         Send, {RButton} ; Удары по противнику
         Sleep, 30
         Send, {LButton} ; Тоже удары
         Sleep, 30
 
      if (A_TimeSincePriorHotkey&gt;3800 &amp;&amp;   A_ThisHotkey=A_PriorHotKey)
          tooltip, Send {2}
       Else
          tooltip

       Send, {vk43 up} ; Отжимаем клавишу C
         If GetKeyState(&quot;MButton&quot;, &quot;P&quot;) = 0
            Break
      }
Return</code></pre></div><p>К сожалению, безрезультатно.<br />&nbsp; &nbsp;Также пробовал разделить на 2 скрипта:<br /></p><div class="codebox"><pre><code>2::
  Loop
      {
         Send, {2} ; Запрыгиваем на ковер
         Sleep, 3950
         If GetKeyState(&quot;2&quot;, &quot;P&quot;) = 0
            Break
      }
  Return</code></pre></div><div class="codebox"><pre><code>MButton::
  Loop
      {
         Send, {vk43 down} ; Зажимаем клавишу C
         Send, {1} ; Прожимаем дыхание небес
         Sleep, 30
         Send, {RButton} ; Удары по противнику
         Sleep, 30
         Send, {LButton} ; Тоже удары
         Sleep, 30
         Send, {vk43 up} ; Отжимаем клавишу C
         If GetKeyState(&quot;MButton&quot;, &quot;P&quot;) = 0
            Break
      }
   Return</code></pre></div><p>Что также не принесло успеха: 1-й скрипт не работает, так как клавиша 2 <strong>не срабатывает ни автоматически, ни вручную.</strong></p>]]></description>
			<author><![CDATA[null@example.com (aaalberttt19)]]></author>
			<pubDate>Mon, 10 Oct 2016 00:23:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108296#p108296</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108285#p108285</link>
			<description><![CDATA[<p><strong>aaalberttt19</strong> Ты прописал активное окно, т.е. окно игры? <strong>Вариант от 09.10.2016</strong><br /></p><div class="quotebox"><cite>aaalberttt19 пишет:</cite><blockquote><p>вариант от 07.10.2016 работает прекрасно, в том числе и срабатывание скила клавиши 2 после ее &quot;отжимания&quot;. Единственная нестыковка: клавиша 2 прожимается каждые 30 мс, и, соответственно, умение не успевает откатиться.</p></blockquote></div><p> Требуется <em>&quot;урегулирование&quot;</em> задержек. Я же писал надо подгонять для игры их.... т.е. предупреждал. <br /><strong>C&#039;est La Vie</strong> - «Такова жизнь». <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><p>P.S. Скрипт для игры требует много, а не только нажатия клавиатуры. Как правило скрипт работает корректно в OS, а вот в игре - нет.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sat, 08 Oct 2016 21:41:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108285#p108285</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108284#p108284</link>
			<description><![CDATA[<p><strong>Indomito</strong> вот досада, вариант от 07.10.2016 работает прекрасно, в том числе и срабатывание скила клавиши 2 после ее &quot;отжимания&quot;. Единственная нестыковка: клавиша 2 прожимается каждые 30 мс, и, соответственно, умение не успевает откатиться. Вариант от 09.10.2016, к сожалению, вообще не реагирует на нажатие/зажатие колеса мышки. Пробовал запускать несколько раз: макрос запускается, но персонаж не реагирует.</p>]]></description>
			<author><![CDATA[null@example.com (aaalberttt19)]]></author>
			<pubDate>Sat, 08 Oct 2016 21:00:37 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108284#p108284</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108283#p108283</link>
			<description><![CDATA[<p><strong>aaalberttt19</strong> В результате получаем 100% срабатывание.</p><div class="codebox"><pre><code>;Скрипт не выгружается до явного определения - что бы было.
#Persistent
;Запрет повторного запуска - поставить то что нужно или не использовать
;#SingleInstance  Force  ;Ignore
cWinTitle:=&quot;Имя окна&quot;
Return

SetTitleMatchMode, 2
#If WinActive(cWinTitle)
#UseHook, On
Thread, NoTimers
Critical

MButton::
  While(GetKeyState(&quot;MButton&quot;, &quot;P&quot;))
      {
         Sleep, 25 ; Первая задержка - ОБЯЗАТЕЛЬНО!!!
         Send, {2} ; Запрыгиваем на ковер
 ;Убрал за ненадобность - при реальном cWinTitle снять комментарии!
 /*        
         Sleep, 30
         Send, {vk43 down} ; Зажимаем клавишу C
         Send, {1} ; Прожимаем дыхание небес
         Sleep, 30
         Send, {RButton} ; Удары по противнику
         Sleep, 30
         Send, {LButton} ; Тоже удары
         Sleep, 30
         Send, {vk43 up} ; Отжимаем клавишу C 
*/
      }
Return

Critical , Off
Thread, NoTimers, false
#UseHook, Off
#IfWinActive</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Sat, 08 Oct 2016 19:32:52 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108283#p108283</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108265#p108265</link>
			<description><![CDATA[<p><strong>aaalberttt19</strong> По сути просто, т.е. я ответил.</p><p>Убираем код </p><div class="codebox"><pre><code>2::
   if (A_TimeSincePriorHotkey&gt;3950 and A_ThisHotkey=a_priorhotkey)
   tooltip, Send {2}</code></pre></div><p>Модифицируем код </p><div class="codebox"><pre><code>MButton::
  Loop
      {
         Send, {2} ; Запрыгиваем на ковер
         Sleep, 30
         Send, {vk43 down} ; Зажимаем клавишу C
         Send, {1} ; Прожимаем дыхание небес
         Sleep, 30
         Send, {RButton} ; Удары по противнику
         Sleep, 30
         Send, {LButton} ; Тоже удары
         Sleep, 30
 
      if (A_TimeSincePriorHotkey&gt;3800 &amp;&amp;   A_ThisHotkey=A_PriorHotKey)
          tooltip, Send {2}
       Else
          tooltip

       Send, {vk43 up} ; Отжимаем клавишу C
         If GetKeyState(&quot;MButton&quot;, &quot;P&quot;) = 0
            Break
      }
Return</code></pre></div><p> Это грубое решение, но работать будет, но на 2-3 нажатие клавиши 2.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Fri, 07 Oct 2016 16:35:41 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108265#p108265</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108238#p108238</link>
			<description><![CDATA[<p><strong>Indomito</strong> к сожалению, ни один из предложенных вариантов не работает так как надо. Скил, назначенный на клавишу 2, не срабатывает ни автоматически, ни вручную. Кроме этого, обнаружилась новая трудность: при отпускании колеса мышки клавиша С продолжала быть зажатой, и, как следствие, приходилось вручную нажимать на С, чтобы персонаж мог двигаться при нажатии на левую клавишу мышки. Добавив в скрипт &quot;отжатие&quot;, проблема разрешилась. Остается только вопрос со скилом клавиши 2. Надеюсь на Вашу помощь.<br /></p><div class="codebox"><pre><code>MButton::
  Loop
      {
         Send, {2} ; Запрыгиваем на ковер
         Sleep, 30
         Send, {vk43 down} ; Зажимаем клавишу C
         Send, {1} ; Прожимаем дыхание небес
         Sleep, 30
         Send, {RButton} ; Удары по противнику
         Sleep, 30
         Send, {LButton} ; Тоже удары
         Sleep, 30
         Send, {vk43 up} ; Отжимаем клавишу C
         If GetKeyState(&quot;MButton&quot;, &quot;P&quot;) = 0
            Break
      }
2::
   if (A_TimeSincePriorHotkey&gt;3950 and A_ThisHotkey=a_priorhotkey)
   tooltip, Send {2}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (aaalberttt19)]]></author>
			<pubDate>Thu, 06 Oct 2016 19:50:43 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108238#p108238</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108213#p108213</link>
			<description><![CDATA[<p><strong>aaalberttt19</strong> Попробуй такой код </p><div class="codebox"><pre><code>2::
  if (A_TimeSincePriorHotkey&gt;3800)
      {
        tooltip, Send {2}
        Return
      }
    Else
      {
        tooltip
        Return
      }</code></pre></div><p>Срабатывание 100% с учётом <strong>if (A_TimeSincePriorHotkey&gt;3800)</strong>, если быстро нажать то сработает очистка. <br />А проблема в том, что <strong>A_PriorHotkey</strong> переменная пуста.</p><p>Читаем справку.<br /></p><div class="quotebox"><cite>A_PriorHotkey пишет:</cite><blockquote><p>Тоже самое, но относится к предыдущей горячей клавише. Изначально переменная пуста.</p></blockquote></div><div class="quotebox"><cite>A_TimeSincePriorHotkey пишет:</cite><blockquote><p>Число миллисекунд, прошедших с тех пор, как была нажата A_PriorHotkey. Имеет значение -1, пока A_PriorHotkey пуста</p></blockquote></div><p>И ещё...<br /></p><div class="quotebox"><cite>aaalberttt19 пишет:</cite><blockquote><p>При следующем варианте скрипта скил, назначенный на клавишу 2, не срабатывает ни автоматически, ни вручную.</p></blockquote></div><p> Ты сам переопределил клавишу 2 </p><div class="codebox"><pre><code>2::
  if (A_TimeSincePriorHotkey&gt;3950 and A_ThisHotkey=a_priorhotkey)
  tooltip, Send {2}
  Return</code></pre></div><p> Вот она и не срабатывает как положено, ибо <strong>tooltip, Send {2}</strong> это просто вывод на экран.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 04 Oct 2016 16:43:02 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108213#p108213</guid>
		</item>
		<item>
			<title><![CDATA[Re: Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108212#p108212</link>
			<description><![CDATA[<p><strong>aaalberttt19</strong> И так, начнем с конца.<br /></p><div class="codebox"><pre><code>2::
  if (A_TimeSincePriorHotkey&gt;3950 and A_ThisHotkey=a_priorhotkey)
  tooltip, Send {2}
  Sleep 500
  tooltip
  Return</code></pre></div><p> В такой версии от срабатывает на 3-5-7 нажатие.<br />Требуется переработать условия обнаружения, просто <strong>IF</strong> пропускает нажатие.<br />1. Все задержки сменить/заменить с 10ms на 25ms - как минимум, а лучше подбирать по игре.<br />2.&nbsp; Есть <strong>Send, {vk43 down} ; Зажимаем клавишу C</strong>, а где отпускание клавиши? Или оно не нужно?</p><p>Я не стал глобально переписывать весь скрипт, а то будет непонятно.<br />Лучше тебе и по шагам, у каждого свой стиль написания.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Tue, 04 Oct 2016 15:51:15 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108212#p108212</guid>
		</item>
		<item>
			<title><![CDATA[Прожатие скилов с заданным для каждого интервалом времени]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=108166#p108166</link>
			<description><![CDATA[<p>Доброго дня всем!<br />&nbsp; &nbsp;Требуется задать в макросе одновременное прожатие 4-х скилов с зажатием буквенной клавиши. Предварительно запущенный макрос приводится в действие зажатием колеса мышки. Далее последовательность действий: прожатие клавиши 2 каждые 4 сек (3950 мс), зажатие клавиши С, прожатие клавиш 1, левой и правой кнопок мыши каждые 0,5 сек. При отпускании колеса мышки макрос прекращает активные действия, но остается запущенным. Важно при этом, чтобы в период прекращения активных действий была возможность срабатывания скила клавиши 2 при ручном нажатии.<br />&nbsp; &nbsp;При следующем варианте скрипта скил, назначенный на клавишу 2, не срабатывает ни автоматически, ни вручную.<br />&nbsp; &nbsp;</p><div class="codebox"><pre><code>MButton::
  Loop
      {
         Send, {2} ; Запрыгиваем на ковер
         Sleep, 10
         Send, {vk43 down} ; Зажимаем клавишу C
         Send, {1} ; Прожимаем дыхание небес
         Sleep, 10
         Send, {RButton} ; Удары по противнику
         Sleep, 10
         Send, {LButton} ; Тоже удары
         Sleep, 10
         If GetKeyState(&quot;MButton&quot;, &quot;P&quot;) = 0
            Break
      }
2::
  if (A_TimeSincePriorHotkey&gt;3950 and A_ThisHotkey=a_priorhotkey)
  tooltip, Send {2}
  Return</code></pre></div><p>&nbsp; &nbsp;Заранее благодарен за помощь в редактировании скрипта!</p>]]></description>
			<author><![CDATA[null@example.com (aaalberttt19)]]></author>
			<pubDate>Mon, 03 Oct 2016 08:24:51 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=108166#p108166</guid>
		</item>
	</channel>
</rss>
