<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Loop нажатия клавиш с переменным количеством нажатий]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=9161</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9161&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Loop нажатия клавиш с переменным количеством нажатий».]]></description>
		<lastBuildDate>Sat, 18 Jan 2014 12:27:33 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AHK: Loop нажатия клавиш с переменным количеством нажатий]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=79302#p79302</link>
			<description><![CDATA[<p>Здравствуйте.<br />Пробую написать скрипт для одной игры (Dark Souls), с учётом особенностей: там нет горячих клавиш, можно только в списке перелистывать по кругу. <br />Попытался сделать следующее - на NumPad&#039;ы назначить общее количество ячеек от 2 до 10 соответственно цифре клавиши:<br /></p><div class="codebox"><pre><code>Numpad3::
  SpellQuantity = 3 ;общее количество ячеек
  SpellCurrent = 1 ;текущий слот
  SpellNew = 1 ;новый слот
  SpellClick = 0 ;сколько раз нажать кнопку смены слотов
Return</code></pre></div><p>Здесь всё нормально, вроде бы. А вот дальше я попытался написать под каждую цифру на основной клавиатуре от 1 до 0 скрипт, и он не хочет работать - у меня мало навыков работы с этой программой, увы:<br /></p><div class="codebox"><pre><code>1::
 SpellNew = 1 ;значение новой ячейки (куда перемещаться) равно цифре нажатой клавиши
 if (SpellNew &gt; SpellCurrent)
 {
 SpellClick := (SpellNew - SpellCurrent)
 }
 else if (SpellNew &lt; SpellCurrent)
 {
 SpellClick := (SpellQuantity - SpellCurrent + SpellNew)
 }
 else if (SpellNew = SpellCurrent)
 {
 SpellClick = 0
 }
  Loop, %SpellClick%
    {
    Send, {r down}
    Sleep, 70
    Send, {r up}
    Sleep, 70
     }
  SpellCurrent = %SpellNew%
Return</code></pre></div><p>Получиться в итоге должно что-то вроде горячих клавиш. Но не получается - не работает. Подскажите, где я что упустил или написал не так.<br />Заранее спасибо.</p><p>Update. Скрипт работает в блокноте правильно - он жмёт мне r именно так, как нужно. Но в окне игры не пашет вообще никак, при том, что отдельный скрипт с заданным количеством повторов нажатия клавиши R при нажатии клавиши Y работает нормально. Не знаю, что с этим делать - может, кто сталкивался с подобным.<br />Там ещё ошибка была: не </p><div class="codebox"><pre><code>(SpellQuantity + SpellCurrent - SpellNew)</code></pre></div><p>, а </p><div class="codebox"><pre><code>(SpellQuantity - SpellCurrent + SpellNew)</code></pre></div><p>.</p><p>Update. <strong>Всё, всё сделал.</strong> Добавил $ перед каждой клавишей, всё заработало.</p>]]></description>
			<author><![CDATA[null@example.com (Rainroom)]]></author>
			<pubDate>Sat, 18 Jan 2014 12:27:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=79302#p79302</guid>
		</item>
	</channel>
</rss>
