<?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=7846&amp;type=atom" />
	<updated>2012-12-08T21:13:54Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7846</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Макрос на Клик+смещение курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66785#p66785" />
			<content type="html"><![CDATA[<p><strong>Grey</strong><br /></p><div class="quotebox"><blockquote><p>И да!, я не учитывал в коде, что первичное оружие будет стрелять с отсечкой.</p></blockquote></div><p>Отсечка это придумка автора исходного кода, который я взял на форуме.<br />Мне не нужна отсечка. Это можно реализовать величиной задержки клика - ибо механику(скорострельность\пауза между выстр \отдача)&nbsp; авт. оружия полностью изменить извне нереально..Она на сервере или в клиенте прописанна и завязана на анимации в т.ч.<br />Вторгаться в работу самого клиента мне не хочется -бан не нужен )</p><p>Мой вариант &quot;усох&quot; до этого:</p><div class="codebox"><pre><code>Suspend On
Numpad2::
  Suspend Toggle
    if (!A_IsSuspended)
   {
    SoundBeep 2000, 400
   }
  Else
   {
    SoundBeep, 2000, 400
    SoundBeep, 2000, 400
   }
    return


~LButton::autofire()

autofire()

{
Loop
{
if GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
{
MouseClick, left,,,, 0, D
Sleep, 63
mouseXY(0, 3)
MouseClick, left,,,, 0, U
mouseXY(0, 1)
sleep, 63
}
else
break

} ;; loop
} ;; autofire()


mouseXY(x,y)
{
DllCall(&quot;mouse_event&quot;,uint,1,int,x,int,y,uint,0,int,0)
}</code></pre></div><p>Значения в&nbsp; первом и втором - mouseXY(0, 0), разные спецом. Иначе, либо курсор слишком резко вниз идет, или все равно ползет вверх (хоть и медленнее,чем без скрипта).<br />Особенности оружия.</p><p>Ваш вариант опробую после понедельника ) в выходные дежурство (</p>]]></content>
			<author>
				<name><![CDATA[Scorceni]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29220</uri>
			</author>
			<updated>2012-12-08T21:13:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66785#p66785</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Макрос на Клик+смещение курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66735#p66735" />
			<content type="html"><![CDATA[<p>Мой ответ показывал концепцию, вот так он выглядит на практике:</p><div class="codebox"><pre><code>VarSetCapacity(INPUT_, A_PtrSize=4 ? 28:40, 0)
NumPut(1, INPUT_, A_PtrSize=4 ? 16:20)
gameMode:=1, beginMove:=3, endMove:=9, valueMove:=25

Numpad2::
NumpadDown::
   Loop, % (isEnable:=!isEnable) ? 1:2
      SoundBeep, 2000, 400
   KeyWait, % A_ThisHotkey
   Return

#If isEnable
   ~1::gameMode:=1, beginMove:=3, endMove:=9, valueMove:=25 ; primary
   ~2::gameMode:=2, beginMove:=5, endMove:=7, valueMove:=5  ; secondary
   LButton::SomeFuncName(beginMove, endMove, valueMove, gameMode)

SomeFuncName(bMove, eMove, vMove, gMode)
{
   Global INPUT_
   increaseOffset:=refundOffset:=0

   If gMode=1
      Click, D
   While, GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
   {
      If gMode=2
         Click
      If % A_Index&gt;bMove And A_Index&lt;eMove
         refundOffset:=increaseOffset:=vMove, refundOffset*=A_Index-bMove
      NumPut(increaseOffset, INPUT_, A_PtrSize=4 ? 8:12)
      DllCall(&quot;SendInput&quot;, &quot;UInt&quot;, 1, &quot;Ptr&quot;, &amp;INPUT_, &quot;Int&quot;, A_PtrSize=4 ? 28:40)
      If % A_Index&gt;=eMove
         increaseOffset:=0, (refundOffset:=vMove)*=eMove-bMove
      Sleep, 50
   }
   If gMode=1
      Click, U
   If refundOffset
   {
      NumPut(-refundOffset, INPUT_, A_PtrSize=4 ? 8:12)
      DllCall(&quot;SendInput&quot;, &quot;UInt&quot;, 1, &quot;Ptr&quot;, &amp;INPUT_, &quot;Int&quot;, A_PtrSize=4 ? 28:40)
   }
}</code></pre></div><p>И да!, я не учитывал в коде, что первичное оружие будет стрелять с отсечкой.</p>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2012-12-06T12:43:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66735#p66735</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Макрос на Клик+смещение курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66637#p66637" />
			<content type="html"><![CDATA[<p><strong>Grey</strong> Спасибо что откликнулись, но в приложении почему то скрипт не работает..<br />То есть он работает в фоновом режиме(сзади игры), в игре при этом не работает левая кн. мыши - невозможно произвести выстрел..</p><p>Нашел на просторах вашего форума подходящее (как думается) решение:<br /></p><div class="codebox"><pre><code>#NoEnv
SendMode Input

_auto := true

~LButton::autofire()
MButton::_auto := ! _auto
F1::ExitApp

autofire()
{
global _auto
if _auto
{
Loop
{
if GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
{
MouseClick, left,,, 1, 0, D
Sleep, 45
if a_index &lt; 5
mouseXY(0, 1)
MouseClick, left,,, 1, 0, U
mouseXY(0, 1)
MouseClick, left,,, 1, 0, D
Sleep, 45
if a_index &lt; 5
mouseXY(0, 1)
MouseClick, left,,, 1, 0, U
mouseXY(0, 1)
sleep, 400
}
else
break

} ;; loop
} ;; if
} ;; autofire()


mouseXY(x,y)
{
DllCall(&quot;mouse_event&quot;,uint,1,int,x,int,y,uint,0,int,0)
}</code></pre></div><p>В таком виде не работает. Это же для CS написанно(Source engine), а в APB:Relloaded используется Unreal3. <br />Может в этом трабла..</p><p>Допилил руками до вот этого:<br /></p><div class="codebox"><pre><code>Suspend On
Numpad2::
  Suspend Toggle
    if (!A_IsSuspended)
   {
    SoundBeep 2000, 400
   }
  Else
   {
    SoundBeep, 2000, 400
    SoundBeep, 2000, 400
   }
    return            ; Этот кусок нужен что бы знать когда вкл\выкл.


#NoEnv
SendMode Input


~LButton::autofire()

autofire()

{
Loop
{
if GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
{
MouseClick, left,,, 1, 0, D
Sleep, 90
if a_index &lt; 10
mouseXY(0, 1)
MouseClick, left,,, 1, 0, U
mouseXY(0, 1)
MouseClick, left,,, 1, 0, D
Sleep, 90
if a_index &lt; 10
mouseXY(0, 1)
MouseClick, left,,, 1, 0, U
mouseXY(0, 1)
sleep, 120
}
else
break

} ;; loop
} ;; autofire()


mouseXY(x,y)
{
DllCall(&quot;mouse_event&quot;,uint,1,int,x,int,y,uint,0,int,0)
}
</code></pre></div><p>В игре не могу проверить -серверы в дауне. Но в винде все работает вроде.При зажатии ЛКМ курсор медленно вниз смещается. Осталось отрегулировать скорость перемещения</p>]]></content>
			<author>
				<name><![CDATA[Scorceni]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29220</uri>
			</author>
			<updated>2012-12-05T10:16:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66637#p66637</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Макрос на Клик+смещение курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66626#p66626" />
			<content type="html"><![CDATA[<p><span style="color: green">Давайте не будем отклонятся от тематики форума.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2012-12-05T08:01:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66626#p66626</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Макрос на Клик+смещение курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66625#p66625" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>VarSetCapacity(INPUT_, A_PtrSize=4 ? 28:40, 0)
NumPut(1, INPUT_, A_PtrSize=4 ? 16:20)
beginMove:=3, endMove:=9, valueMove:=25

LButton::
   cntOffset:=increaseOffset:=refundOffset:=0
;   Click, D
   While, GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
   {
      If % A_Index&gt;beginMove And A_Index&lt;endMove
      {
         refundOffset:=increaseOffset:=valueMove
         refundOffset*=cntOffset:=A_Index-beginMove
         ToolTip, % &quot;`tBEGINMOVE&quot;
                .   &quot;`nindex: &quot;A_Index
                .   &quot;`ncount: &quot;cntOffset
                .   &quot;`nvalue: &quot;refundOffset
         Sleep, 750
      }
      NumPut(increaseOffset, INPUT_, A_PtrSize=4 ? 8:12)
      DllCall(&quot;SendInput&quot;, &quot;UInt&quot;, 1
                         , &quot;Ptr&quot;, &amp;INPUT_
                         , &quot;Int&quot;, A_PtrSize=4 ? 28:40)
      If % A_Index&gt;=endMove
      {
         increaseOffset:=0, (refundOffset:=valueMove)
         *=cntOffset:=endMove-beginMove
         ToolTip, % &quot;ENDMOVE&quot;          &quot;`n&quot;
                . &quot;`tindex: &quot;A_Index   &quot;`n&quot;
                . &quot;`tcount: &quot;cntOffset &quot;`n&quot;
                . &quot;`tvalue: &quot;refundOffset
         Sleep, 750
      }
      Sleep, 50
   }
;   Click, U
   ToolTip, % &quot;count: &quot;cntOffset &quot;`nrefund: &quot;
          . (refundOffset ? refundOffset:&quot;none&quot;)
   Sleep, 750
   If refundOffset
   {
      NumPut(-refundOffset, INPUT_, A_PtrSize=4 ? 8:12)
      DllCall(&quot;SendInput&quot;, &quot;UInt&quot;, 1
                         , &quot;Ptr&quot;, &amp;INPUT_
                         , &quot;Int&quot;, A_PtrSize=4 ? 28:40)
   }
   ToolTip
   Return

Esc::ExitApp</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2012-12-05T07:31:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66625#p66625</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Макрос на Клик+смещение курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=66606#p66606" />
			<content type="html"><![CDATA[<p>Доброго времени суток.<br />Есть вот это:</p><div class="codebox"><pre><code>Код:
*LButton::
    while GetKeyState(&quot;vk01&quot;, &quot;P&quot;)
    {
        MouseClick, left,,, , 99, D
        Sleep 240
        MouseClick, left,,, , 99, U
        Sleep 240
    }
    return</code></pre></div><p>Нужно, чтобы после нажатия ЛКМ происходило смещение курсора по оси У вниз на заданную величину.</p><p>У меня не получилось впихнуть сюда <br /></p><div class="codebox"><pre><code>MouseClickDrag, left, , , , 30 , 99, R</code></pre></div><p>Прошу помочь.</p>]]></content>
			<author>
				<name><![CDATA[Scorceni]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29220</uri>
			</author>
			<updated>2012-12-04T14:32:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=66606#p66606</id>
		</entry>
</feed>
