<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Самонацеливающийся скрипт (DLL-продолжение)]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=11499</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11499&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Самонацеливающийся скрипт (DLL-продолжение)».]]></description>
		<lastBuildDate>Thu, 28 Apr 2016 18:10:03 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Самонацеливающийся скрипт (DLL-продолжение)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=103180#p103180</link>
			<description><![CDATA[<p><strong>Dworkin</strong><br />Спасибо огромное! Я во всём разобрался.</p><p>p.s. дай бог тебе здоровья</p>]]></description>
			<author><![CDATA[null@example.com (umakhan97)]]></author>
			<pubDate>Thu, 28 Apr 2016 18:10:03 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=103180#p103180</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самонацеливающийся скрипт (DLL-продолжение)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=102667#p102667</link>
			<description><![CDATA[<p>Советую посмотреть на это.<br /><a href="https://autohotkey.com/board/topic/53956-fast-mouse-control/">https://autohotkey.com/board/topic/5395 … e-control/</a><br />особенно на такие функции:<br /></p><div class="codebox"><pre><code>SendMouse_RelativeMove(x, y) { ; send fast relative mouse moves</code></pre></div><div class="codebox"><pre><code>SendMouse_AbsoluteMove(x, y) { ; send fast absolute mouse moves</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Dworkin)]]></author>
			<pubDate>Sun, 17 Apr 2016 11:47:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=102667#p102667</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Самонацеливающийся скрипт (DLL-продолжение)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=102625#p102625</link>
			<description><![CDATA[<div class="codebox"><pre><code>LButton::DllCall(&quot;mouse_event&quot;, UInt, 0x0001
                                 , Int, 0              ;тут должна быть х
                                 , Int, 250             ;тут должна быть y
                                 , UInt, 0
                                 , Int, 0)
LButton Up::DllCall(&quot;mouse_event&quot;, UInt, 0x0001
                                 , Int, 0               ;тут должна быть -х
                                 , Int, -250             ;тут должна быть -y
                                 , UInt, 0
                                 , Int, 0)</code></pre></div><p>Нужно просто в эти строчки как-то запихнуть переменные x, y, но я не знаю как. Если просто подставить переменные x и y, то эффекта будет ноль, как-будто UInt не работает с переменными вообще. Есть предположения? <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (umakhan97)]]></author>
			<pubDate>Sat, 16 Apr 2016 10:15:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=102625#p102625</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Самонацеливающийся скрипт (DLL-продолжение)]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=102620#p102620</link>
			<description><![CDATA[<p>Здравствуйте, форумчане.</p><p><em>Я имею скрипт:</em></p><div class="codebox"><pre><code>Search_Spread=10 					    ;Стандартный поиск-квадрат 16х16.
PercentChance_of_Hit = 100 				;Как часто будет выполняться loop-&gt;else-&gt;Fire.
Idle_Before_Stopping = 4000 				;Количество &quot;ненужного&quot; времени.

;Добавляю кольца через &quot; | &quot;
ColsToScan = 0x46FF8A | 0x12C848 | 0x5EFFB0 | 0x12CE4C | 0x30FF3A | 0x50FF5E | 0x0EB818 | 0x90FFA6 | 0x72FF90 | 0x028702 | 0x50E940 | 0x04B804 | 0x50E658 | 0x044B04 | 0x50D825 | 0x0EFF0E | 0x50F07F | 0x11BB11 | 0x50C860 | 0x19D619 | 0x50BE70 | 0x1DFF1D | 0x50F086 | 0x0CFA0C | 0x50E67B | 0x088108 | 0x049604	| 0x15E415 | 0x045204 | 0x20EB20 | 	;Все цвета для обнаружения.

;Тут всё стабильно.

BotEnabled = 1
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen
StringSplit, ColArray, ColsToScan, | 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;!НАЙТИ И УНИЧТОЖИТЬ!;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;!НАЙТИ И УНИЧТОЖИТЬ!;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;!НАЙТИ И УНИЧТОЖИТЬ!;;;;;;;;;;;;;;;;;;;;;;;;;;;

Loop
{

	;включение бота
	if(BotEnabled = 0) {
		continue ;the bot is off
	}

	;detect idle time
	if(A_TimeIdlePhysical &gt; Idle_Before_Stopping) {
		BotEnabled = 0
		Suspend
	}

	Sleep, 10

	MouseGetPos, xpos, ypos 

		Loop, %ColArray0%
		{
			thisCol := ColArray%a_index%
			PixelSearch, x, y, xpos-Search_Spread/2, ypos-Search_Spread/2, xpos+Search_Spread/2, ypos+Search_Spread/2, %thisCol%, 4, Fast
			if ErrorLevel {
		   		 ;No Target
			 } else {
			 SC02F:: {				;Буква V на клавиатуре
				Fire()
				}
				continue
			}		
		}

}




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ИСПОЛНЯЕМЫЕ ФУНКЦИИ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ИСПОЛНЯЕМЫЕ ФУНКЦИИ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ИСПОЛНЯЕМЫЕ ФУНКЦИИ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Fire() {
		DllCall(&quot;mouse_event&quot;, UInt, 0x0001
                                 , Int, x
                                 , Int, y
                                 , UInt, 0
                                 , Int, 0)
		DllCall(&quot;mouse_event&quot;, UInt, 0x0001
                                 , Int, x
                                 , Int, -y
                                 , UInt, 0
                                 , Int, 0)
		ToolTip, Fired!!
		SetTimer, RemoveToolTip, 100
}

RemoveToolTip:
	SetTimer, RemoveToolTip, Off
	ToolTip
	Return


MButton::   						;Вкл/Выкл. всех исполняемых функций
Suspend
if(%A_IsSuspended% = 0) {
	ToolTip, ВКЛЮЧЕНО!!!
	BotEnabled = 1
	} else {
	ToolTip, ТРИГГЕР ВЫКЛЮЧЕН!!
	BotEnabled = 0
}
SetTimer, RemoveToolTip, 400
Return</code></pre></div><p>Путём поиска нужных элементов и медленного познания AHK, я собирал его скрипт по частям.</p><p>В итоге, я своего добился:</p><p><span class="bbu">Скрипт, сканирует область 16х16 пикселей вокруг курсора, и в случае обнаружения необходимого цвета, он жмёт Fire. Обычный Color Bot короче.</span></p><p><em>Но теперь я решил его модифицировать. Ниже представлена попытка модификации:</em><br /><strong>Дело в том, что мне теперь нужно, чтобы скрипт при обнаружении цвета, не стрелял, а пускал курсор в вечное следование данному цвету. То есть, при обнаружении цвета, курсор начал следовать за данным цветом, не переставая.</strong></p><p><em>А теперь в чём подвох.</em></p><p>При использовании PixelSearch + MouseMove скрипт идеально работает автономно, но стоит мне запустить какую-либо игру (Шутер от первого лица), так при обнаружении цвета, камера в игре начинает вести себя, мягко говоря, неадекватно. При возвращении на рабочий стол, скрипт начинает работать нормально.</p><p>У меня есть подозрение, что игра использует модуль Raw для ввода мыши, чтобы не дать игрокам &quot;читерить&quot; с помощью макросов (MacroEditor).</p><p>Однако, при попытке использования простого DllCall:<br /></p><div class="codebox"><pre><code>LButton::DllCall(&quot;mouse_event&quot;, UInt, 0x0001
                                 , Int, 0
                                 , Int, 250
                                 , UInt, 0
                                 , Int, 0)
LButton Up::DllCall(&quot;mouse_event&quot;, UInt, 0x0001
                                 , Int, 0
                                 , Int, -250
                                 , UInt, 0
                                 , Int, 0)</code></pre></div><p>Курсор в любых приложениях ведёт себя адекватно и &quot;так, как надо&quot;.<br />____________________________________________________________</p><p><strong>ССобсна, прошу вашей помощи <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />Как мне сделать так, чтобы при нажатии клавиши на клавиатуре или мыши, скрипт, при обнаружении цвета, заставлял курсор следовать за цветом, при этом используя функцию DllCall</strong></p>]]></description>
			<author><![CDATA[null@example.com (umakhan97)]]></author>
			<pubDate>Fri, 15 Apr 2016 20:14:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=102620#p102620</guid>
		</item>
	</channel>
</rss>
