<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; «AHK: Создание скрипта для игры на антиотдачу орудия».]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=9528</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9528&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме ««AHK: Создание скрипта для игры на антиотдачу орудия».».]]></description>
		<lastBuildDate>Thu, 24 Apr 2014 10:46:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: «AHK: Создание скрипта для игры на антиотдачу орудия».]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=82245#p82245</link>
			<description><![CDATA[<p><span style="color: #008800"><strong>amigos8572</strong>, ознакомьтесь с <a href="http://forum.script-coding.com/viewtopic.php?id=6148">этой</a> темой, отредактируйте заголовок.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 24 Apr 2014 10:46:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=82245#p82245</guid>
		</item>
		<item>
			<title><![CDATA[«AHK: Создание скрипта для игры на антиотдачу орудия».]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=82228#p82228</link>
			<description><![CDATA[<p>Здравствуйте!<br />С помощью человека с Рубоард был написан следующий макрос, который мной был немного доретуширован под мои нужды:<br /></p><div class="codebox"><pre><code>toggleHotkeys := true
fireCorrectionMode := [[[0, 100, 100, 10000], [0, 100, 100, 10000]], [[0, 0, 0, 0], [0, 0, 0, 0]]] 
F12::ExitApp
F4::toggleHotkeys := !toggleHotkeys

#if toggleHotkeys 
    ~Xbutton1::gunType := 1
    ~sc002::gunType := 1
    ~Xbutton2::gunType := 2
    ~sc003::gunType := 2
    ~sc004::gunType := 0
    ~sc005::gunType := 0
    ~sc006::gunType := 0
    ~*WheelUp::gunType := 0
    ~*WheelDown::gunType := 0
    !Wheelup::gunType := 0

#if gunType &amp;&amp; toggleHotkeys
    ~*LButton:: 
        Autofire() 
        return 
#if 
 
Autofire() 
{ 
    global gunType, fireCorrectionMode 
 
    while GetKeyState(&quot;LButton&quot;, &quot;P&quot;) 
{ 
        mode := fireCorrectionMode[gunType, GetKeyState(&quot;LControl&quot;, &quot;P&quot;)? 1 : 2]
    Click down
    Sleep mode[3]
        DllCall(&quot;mouse_event&quot;,uint,1,int,mode[1],int,mode[2],uint,0,int,0)  
    Click up
        Sleep mode[4] 
    } 
}</code></pre></div><p>Смысл следующий: На боковые кнопки мышки и на кнопки 1 и 2 установлено 2 типа орудия.<br />Каждое из орудий имеет свою отдачу. Причем отдача отличается из того, в каком положении я стреляю (сидя - нажат Контрол) или стоя (ничего дополительно не нажимается).<br />Выполнен скрипт так: при нажатии кнопки клавы или мыши задается номер орудия (0 - ничего не задано, 1 - 1 орудие, 2 - 2 орудие). При нажатии Контрола выбирается подтип антиотдачи для соответствующего орудия.<br />При нажатии ЛКМ происходят выстрелы сколько-то сек, которые я задаю, потом отпускание кнопки мыши и пауза.<br />При этом в скрипте учитываются ситуации, что я могу сменить тип орудия и должна сменится антиотдача, могу встать и также должна антиотдача сменится.</p><p>В итоге в этом скрипте возникли 2 проблемы:<br />1) Отключение Антиодачи - нажатие кнопки F4 ни как не влияет на работу антиотдачи, она работает всегда.<br />2) После первого нажалтия ЛКМ и удержания ее, работает все как часы. Но если я отпускаю ЛКМ и потом вновь нажимаю, то выстрелы длятся больше положенного по мс. Например, тут задано 100мс на 1 орудие (его пока и тестю, настраиваю), а по факту выстрелы длятся сек 4-5, потом лишь происходит смещение на 100 вниз.<br />Понять с чем это связано не могу.<br />PS Есть предположение, что это связано с паузой после отпускания мышки в скрипте. Если выставляю не 5000, а 1000 - все работает как часы. Не понимаю этой зависимости.</p><p>Вопроса 2: Может как-то ввести повторную проверку по нажатию кнопки, чтобы не ждать 5 секунд при повтороном нажатии ЛКМ, пока скрипт сообразит, что ЛКМ зажата.<br />И 2 вопрос, почему же, когда F4 я нажимаю, реакции нет никакой на скрипт. Он также при повторном нажатии стреляет и через сек 5 делает смещение.<br />Есть ли в программе возможность отслеживания шаг за шагом, что происходит в скрипте, чтобы понять, где происходит сбой работы его?<br />Спасибо за внимание.<br />PPS Вопрос снимаю, т.к. экспериментальным путем выяснил, что время в команде Sleep влияет на работу скрипта целиком, и чем она меньше, тем меньше задержка между между выполнением скрипта ,и уже не эти 5 сек, а при установке паузы в 3 сек будет лишь 3 сек и т.д.</p>]]></description>
			<author><![CDATA[null@example.com (amigos8572)]]></author>
			<pubDate>Thu, 24 Apr 2014 02:06:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=82228#p82228</guid>
		</item>
	</channel>
</rss>
