<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Координаты курсора в игре постоянные]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11128&amp;type=atom" />
	<updated>2015-12-12T13:14:26Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=11128</id>
		<entry>
			<title type="html"><![CDATA[Re: Координаты курсора в игре постоянные]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=99642#p99642" />
			<content type="html"><![CDATA[<p>Здесь цикл вообще не нужен. Просто меняй расстояние, на которое перемещать мышку:<br /></p><div class="codebox"><pre><code>dx:=256 ; расстояние перемещения мыши

SPACE::
BlockInput, On

Send {D down}
DllCall(&quot;mouse_event&quot;,uint,1,int,dx,int,0,uint,0,int,0)
Send {D up}

sleep,1000

Send {A down}
DllCall(&quot;mouse_event&quot;,uint,1,int,-dx,int,0,uint,0,int,0)
Send {A up}

BlockInput, Off
Return

</code></pre></div><p><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx">mouse_event function</a></p><p><strong>OFF:</strong><br />Кстати, какой тип данных указывать для <em>ULONG_PTR</em>?</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2015-12-12T13:14:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=99642#p99642</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Координаты курсора в игре постоянные]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=99623#p99623" />
			<content type="html"><![CDATA[<p>Посмотрев другие темы, я нашел команды, которые, возможно, мне помогут:</p><div class="codebox"><pre><code>~*$vk44::
while GetKeyState(&quot;vk44&quot;,&quot;P&quot;)
{
DllCall(&quot;mouse_event&quot;,uint,1,int,100,int,0,uint,0,int,0)
DllCall(&quot;Sleep&quot;, UInt, 10)
}
Return
</code></pre></div><p>И действительно, при удержании клавиши D в игре происходит нужное мне перемещение мыши вправо. Теперь я написал следующий код:</p><div class="codebox"><pre><code>SPACE::
BlockInput, On
Send {D down}
while GetKeyState(&quot;vk44&quot;)
{
DllCall(&quot;mouse_event&quot;,uint,1,int,100,int,0,uint,0,int,0)
DllCall(&quot;Sleep&quot;, UInt, 10)
}
Send {D up}
Send {A down}
while GetKeyState(&quot;vk41&quot;)
{
DllCall(&quot;mouse_event&quot;,uint,1,int,-100,int,0,uint,0,int,0)
DllCall(&quot;Sleep&quot;, UInt, 10)
}
Send {A up} 
BlockInput, Off
Return
</code></pre></div><p>В моем коде получается, что условие выполняется бесконечно, пока нажата клавиша. Подскажите, как сделать так, чтобы удержание клавиши D и перемещение мыши длилось, допустим, 0.2 сек, а затем клавиша отпускалась? То есть, как остановить условие while?</p>]]></content>
			<author>
				<name><![CDATA[ciklon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33526</uri>
			</author>
			<updated>2015-12-11T14:49:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=99623#p99623</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Координаты курсора в игре постоянные]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=99555#p99555" />
			<content type="html"><![CDATA[<p>Здравствуйте. Хочу написать скрипт для auto-strafe в игре CS:GO. Заключается в следующем: по нажатию SPACE происходит нажатие клавиши D и <span class="bbu">одновременное</span> перемещение мыши, например, на 100 пикселей вправо относительно текущего положения, затем нажатие клавиши A и перемещение мыши на 100 пикселей влево.</p><p>Познакомившись с AHK только сегодня, я написал следующий код:</p><div class="codebox"><pre><code>SPACE::
BlockInput, On
Send {D down}  ; Нажать клавишу D.
Sleep 1000  ; Держать её нажатой 1 секунду.
Send {D up}  ; Отпустить.
MouseMove, 100, 0, 50, R
Send {A down}  ; Нажать клавишу А.
Sleep 1000  ; Держать её нажатой 1 секунду.
Send {A up}  ; Отпустить.
MouseMove, -100, 0, 50, R
BlockInput, Off
Return
</code></pre></div><p>Проблема в том, что в игре происходят странные движения мышью. Связано это, я думаю, с тем, что координаты мыши (прицела) в игре постоянные: 960;540 (мое разрешение 1920x1080). Подскажите, как осуществить движение мыши влево-вправо? И еще вопрос: как сделать одновременное нажатие клавиши и движение мыши, ведь в моем коде это происходит последовательно?</p>]]></content>
			<author>
				<name><![CDATA[ciklon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33526</uri>
			</author>
			<updated>2015-12-05T16:31:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=99555#p99555</id>
		</entry>
</feed>
