<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: создание последовательности условий if]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=16279&amp;type=atom" />
	<updated>2021-04-21T09:00:54Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=16279</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание последовательности условий if]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=147458#p147458" />
			<content type="html"><![CDATA[<p>Вот так:<br /></p><div class="codebox"><pre><code>#NoEnv
SendMode Input

*F1::
{
 PixelGetColor, Color, 837, 216
 If Color = 0xFF00A3
  {  
  Send, +{2}
  Sleep, 100
  }
}
Return</code></pre></div><p>При каждом нажатии клавиши F1 будет происходить поиск пикселя (BGR), если совпадение найдено, нажимается Shift + 2.<br />Насчет логики я не совсем понял. <br />Вам надо на каждое нажатие хоткея производить один поиск пикселя и последующее действие? Если да, то этот скрипт делает именно это.<br />Или вы хотите, чтобы при нажатии хоткея скрипт повторялся до тех пор, пока вы заново не нажмете хоткей?</p>]]></content>
			<author>
				<name><![CDATA[deadskiy sad]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41455</uri>
			</author>
			<updated>2021-04-21T09:00:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=147458#p147458</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание последовательности условий if]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=147457#p147457" />
			<content type="html"><![CDATA[<p><strong>deadskiy sad</strong><br />1. Код работает на 70%, возможно тут loop нужен только чтобы return работал. наверное по п.5 это можно исправить<br />2. Логика такая: если было совершено нажатие клавиши - вернись и начни проверять цвета с начала.<br />3. поправил.<br />4. да это уже оптимизация кода))<br />5. То есть если я хочу, чтобы был проверен пиксель и его соответствии была нажата кнопка шифт+2, я должен прописать это так?</p><div class="codebox"><pre><code>	PixelGetColor, Color, 837, 216
			while GetKeyState(&quot;+{2}&quot;)
			if Color = 0xFF00A3
			{  
			SendInput +{2} ;жмем +2
			Sleep 100
			}
			return
</code></pre></div><p>6. поправил</p>]]></content>
			<author>
				<name><![CDATA[hregut]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41666</uri>
			</author>
			<updated>2021-04-21T07:58:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=147457#p147457</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание последовательности условий if]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=147456#p147456" />
			<content type="html"><![CDATA[<p>1. Почему бы не исправить код, если вы перенесли Loop, и стало работать хоть что-нибудь?</p><p>2. Return - завершение скрипта. Что завершение скрипта делает в самом цикле?</p><p>3. </p><div class="codebox"><pre><code>If (Color = 0x79BB84)</code></pre></div><p>У вас неправильно. Надо вот так: <br /></p><div class="codebox"><pre><code>If Color = 0x79BB84</code></pre></div><p>Разница: <a href="http://forum.script-coding.com/viewtopic.php?pid=41222#p41222">http://forum.script-coding.com/viewtopi … 222#p41222</a></p><p>4. Не легче ли вписать<br /></p><div class="codebox"><pre><code>SendMode Input</code></pre></div><p>В начало скрипта, и заменить SendInput на Send?</p><p>5. <a href="https://ahk-wiki.ru/loop">https://ahk-wiki.ru/loop</a><br />Вы уверены, что вам нужен именно Loop? Может стоит попробовать While в сочетании с GetKeyState?</p><p>6. Клавишу, которую должна отправить команда Send, лучше указывать в фигурных скобках.</p>]]></content>
			<author>
				<name><![CDATA[deadskiy sad]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41455</uri>
			</author>
			<updated>2021-04-21T06:39:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=147456#p147456</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание последовательности условий if]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=147443#p147443" />
			<content type="html"><![CDATA[<p><strong>__Михаил__</strong><br />не знаю, так было в исходном скрипте, что я модифицирую. На самом деле сама зацикленность скрипта тут не нужна, как только я перенес loop ниже клавиши активации - у меня спамится последнее SendInput.<br />Есть ощущение, что мне не хватает некоего else. <br />Третий шаг &quot;SendInput +2 &quot; почему то не хочет исполняться</p>]]></content>
			<author>
				<name><![CDATA[hregut]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41666</uri>
			</author>
			<updated>2021-04-20T21:53:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=147443#p147443</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: создание последовательности условий if]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=147439#p147439" />
			<content type="html"><![CDATA[<p>loop - цикл, почему он за пределами запуска по клавише?</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2021-04-20T19:57:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=147439#p147439</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: создание последовательности условий if]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=147435#p147435" />
			<content type="html"><![CDATA[<p>привет.<br />Я пытаюсь настроить последовательное выполнение условий: если выполнено - нажать кнопку 1. Если не выполняется - перейти к следующему шагу поиска пикселя и нажатия кнопки 2. Но даже дальше третьего шага почему то зайти не могу. Что не так?</p><div class="codebox"><pre><code>loop
F1::
{					
PixelGetColor, Color, 1785, 70 
if (Color = 0x79BB84) 
    {  

	SendInput 6
	Sleep 100
		PixelGetColor, Color, 928, 304 	
		if (Color = 0xABCAF7) 
		{  
		
		SendInput 4 ;жмем 4
			PixelGetColor, Color, 845, 239 	
			if (Color = 0x500223)
			{  
			
			SendInput +2 
			return
			}
		return
		}
	return
	}
	
	PixelGetColor, Color, 1785, 70 	 
	if (Color = 0x79BB84) 
    {  
	
	SendInput 4 
	Sleep 250
	return
	}
	
	SendInput 3 
}
return					; возвращаем положение скрипта к &quot;loop&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[hregut]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41666</uri>
			</author>
			<updated>2021-04-20T19:47:43Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=147435#p147435</id>
		</entry>
</feed>
