<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Не работает loop после первого выполнения команды]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=16554</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=16554&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Не работает loop после первого выполнения команды».]]></description>
		<lastBuildDate>Sat, 28 Aug 2021 08:38:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Не работает loop после первого выполнения команды]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=149375#p149375</link>
			<description><![CDATA[<p>Можно оставить только один цикл и вместо break, использовать continue.</p>]]></description>
			<author><![CDATA[null@example.com (Phoenixxx_Czar)]]></author>
			<pubDate>Sat, 28 Aug 2021 08:38:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=149375#p149375</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Не работает loop после первого выполнения команды]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=149353#p149353</link>
			<description><![CDATA[<p><strong>teadrinker</strong> Проблема решена, но дело было не только в этом. Спасибо за&nbsp; замечание, я не заметил, что случайно написал return, но проблема была не только в этом. loop прекращал работу после первого успешного выполнения errorlevel 0, а мне надо было сделать так, чтобы loop работал постоянно, не выключаясь. В итоге, после всех исправлений, получилось это: <br /></p><div class="codebox"><pre><code> Loop
	{   
         Loop
             {
		PixelSearch, Px, Py, 387, 257, 551, 275, 0x2A2A2A, 1, Fast
		if (Errorlevel = 0)
		{
            Sleep 6000
			Click 448,348
			Sleep 5000
            Click 279,153
            Sleep 1000
            Click 302, 479
            Sleep 7000
            Click right
            Sleep 5000
            Click 399,167
            Sleep 7000
            Click right
            Send {space down}
		    Sleep 50
		    Send {space up}
            Sleep 50
		    Send {space down}
		    Sleep 50  
		    Send {space up}
            Sleep 5000
            Send {r down}
            Sleep 1000
            Send {r up}
            break
                      
                         			
		}
		sleep 30000   
          }
	}</code></pre></div><p>Loop внутри loop</p>]]></description>
			<author><![CDATA[null@example.com (Mokson)]]></author>
			<pubDate>Thu, 26 Aug 2021 18:10:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=149353#p149353</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Не работает loop после первого выполнения команды]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=149352#p149352</link>
			<description><![CDATA[<div class="quotebox"><cite>Mokson пишет:</cite><blockquote><p>После первого выполнения команд, команда loop перестаёт  работать</p></blockquote></div><p>Подпрограмма перестаёт работать, когда доходит до Return.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 26 Aug 2021 17:41:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=149352#p149352</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Не работает loop после первого выполнения команды]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=149347#p149347</link>
			<description><![CDATA[<p>Здравствуйте. Я написал скрипт, где есть элементы pixelsearch и loop. </p><div class="codebox"><pre><code>vk14::
    If isKeyPressed := !isKeyPressed    
        SetTimer, SendA, 40             
    Else
    {
        SetTimer, SendA, Off        
        Send {d Up}{r Up}                       
   }
  Loop
	{   
		PixelSearch, Px, Py, 387, 257, 551, 275, 0x2A2A2A, 1, Fast
		if (Errorlevel = 0)
		{
            Sleep 6000
			Click 448,348
			Sleep 5000
            Click 279,153
            Sleep 1000
            Click 302, 479
            Sleep 7000
            Click right
            Sleep 5000
            Click 399,167
            Sleep 7000
            Click right
            Send {space down}
		    Sleep 50
		    Send {space up}
            Sleep 50
		    Send {space down}
		    Sleep 50  
		    Send {space up}
            Sleep 5000
            Send {r down}
            Sleep 1000
            Send {r up}
            break
                      
                         			
		}
		sleep 30000   
            return 
	}
 
Loop
	{   ; loops until found:
		PixelSearch, Px, Py, 690, 235, 759, 309, 0x173952, 1, Fast
		if (Errorlevel = 0)
		{
          Sleep 1000
          Send {Numpad9 down}
          Sleep 300
          Send {Numpad9 up} 
          Sleep 1000
          Click right
          Sleep 2000
          Click 400,310
          Sleep 3000
          Click 435,204
          Sleep 5000
          Send {Numpad1 down}
          Sleep 300
          Send {Numpad1 up}
          Sleep 300
          Send {space down}
		  Sleep 50
	      Send {space up}
          Sleep 50
		  Send {space down}
		  Sleep 50 
		  Send {space up}
           Sleep 5000
            Send {r down}
           Sleep 1000
            Send {r up}
          break	
		}
		sleep 30000    
         return
	}
    KeyWait vk14                                       
    return

SendA:
    Send {d Down}{r Down}
    return</code></pre></div><br /><p>Проблема здесь:</p><div class="codebox"><pre><code> Loop
	{   
		PixelSearch, Px, Py, 387, 257, 551, 275, 0x2A2A2A, 1, Fast
		if (Errorlevel = 0)
		{
            Sleep 6000
			Click 448,348
			Sleep 5000
            Click 279,153
            Sleep 1000
            Click 302, 479
            Sleep 7000
            Click right
            Sleep 5000
            Click 399,167
            Sleep 7000
            Click right
            Send {space down}
		    Sleep 50
		    Send {space up}
            Sleep 50
		    Send {space down}
		    Sleep 50  
		    Send {space up}
            Sleep 5000
            Send {r down}
            Sleep 1000
            Send {r up}
            break
                      
                         			
		}
		sleep 30000   
            return 
	}
 </code></pre></div><p>И здесь:<br /></p><div class="codebox"><pre><code>Loop
	{   ; loops until found:
		PixelSearch, Px, Py, 690, 235, 759, 309, 0x173952, 1, Fast
		if (Errorlevel = 0)
		{
          Sleep 1000
          Send {Numpad9 down}
          Sleep 300
          Send {Numpad9 up} 
          Sleep 1000
          Click right
          Sleep 2000
          Click 400,310
          Sleep 3000
          Click 435,204
          Sleep 5000
          Send {Numpad1 down}
          Sleep 300
          Send {Numpad1 up}
          Sleep 300
          Send {space down}
		  Sleep 50
	      Send {space up}
          Sleep 50
		  Send {space down}
		  Sleep 50 
		  Send {space up}
           Sleep 5000
            Send {r down}
           Sleep 1000
            Send {r up}
          break	
		}
		sleep 30000    
         return
	}
    KeyWait vk14                                       
    return</code></pre></div><br /><p>Задумка такова: в обоих кодах выполняется loop до тех пор, пока не будет найден пиксель, чтобы начать выполнять заданные действия. Если пиксель не найден, loop ждёт 30 секунд и начинает искать дальше (если пиксель не находится, loop будет работать исправно и не прервётся). Когда я запускаю скрипт и нужный пиксель находится, код без проблем начинает работать, выполняя все мои заданные действия. После первого выполнения команд, команда loop перестаёт&nbsp; работать и, соответственно, pixel search тоже прекращает свою работу. </p><p>Я только учусь писать коды и не понимаю, как решить эту проблему.&nbsp; Помогите с кодом, пожалуйста.</p>]]></description>
			<author><![CDATA[null@example.com (Mokson)]]></author>
			<pubDate>Thu, 26 Aug 2021 12:37:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=149347#p149347</guid>
		</item>
	</channel>
</rss>
