1 (изменено: powercat, 2017-06-10 15:04:43)

Тема: AHK: Повторение скрипта.

Здравствуйте, есть такой скрипт, работает он отлично, но мне нужно пихнуть его в другой скрипт и поэтому Reload будет сбивать работу основного скрипта в который  я помещу данный. Как можно заменить reload? Нужно чтобы после sleep в Dep или Dev скрипт начинал работать сначала. И еще,  данный скрипт использует  PixelSearch и при использовании  PixelSearch в основной части скрипта  таймер в этом скрипте сбивается. Что можно с этим сделать? Спасибо.

+ открыть спойлер
#Persistent
#SingleInstance Force
#Warn All,Off
    CoordMode ToolTip,Screen
    SysGet screenW,0
    SysGet screenH,1
 
    second = 40
    tipx := (screenW/2) - 10
    tipy := screenH - (screenH/3)
 
    ToolTip [hello],0,0
    SetTimer Nope,200
     
    Nope:
    {
      PixelSearch outx,outx,800,720,830,770,0x0F0000,255,Fast          
      if !ErrorLevel
        {   PixelSearch outx,outy,845,760,860,780,0xEFFFFF,16,Fast     
          if !ErrorLevel
            {   PixelSearch outx,outy,940,5,980,30,0xFFFFFF,32,Fast     
              if ErrorLevel
                {   SetTimer Nope,Off
                  gosub Yeap
                  SetTimer Yeap,1000
                }
            }
        }
      return
    }
 
  Yeap:
    {
        ToolTip %second%,%tipx%,%tipy%
        second -= 1
   
        if second <= 5
            tipy -= 15
   
        PixelSearch outx,outy,945,7,955,14,0x20FF0F,150,Fast        
        if (!ErrorLevel)
           gosub Dep
	  	
	    PixelSearch outx,outy,940,5,980,30,0xF93FFF,32,Fast       
  	    if (ErrorLevel and second < 0)
	        gosub Dev
		
        return
    }
 
    Dep:
    {  
        ToolTip [test],0,0
        SetTimer Yeap,Off
        Sleep 5000
        Reload
    }

    Dev:
    {  
        ToolTip [bam],0,0
        SetTimer Yeap,Off
        Sleep 5000
        Reload
    }

2

Re: AHK: Повторение скрипта.

stealzy
Не понимаю как это работает, поэтому и спрашиваю здесь. Всю ночь просидел ничего не вышло.

3

Re: AHK: Повторение скрипта.

Всю ночь просидел

Ни одного цикла в вашем коде не вижу. Скопировать код из справки - 3 мин.

4

Re: AHK: Повторение скрипта.

stealzy пишет:

Ни одного цикла в вашем коде не вижу.

Не видите потому что:

powercat пишет:

Не понимаю как это работает

Я не знаю как это все дело зациклить. Подробной документации не нашел.

5

Re: AHK: Повторение скрипта.

a := 0
Loop {
	If stop
		Break
	MsgBox 4,, %a%`nВернутся в начало цикла?
	IfMsgBox Yes
		Continue

	a++
}
MsgBox Выход из цикла
ExitApp

Esc:: stop := true

6

Re: AHK: Повторение скрипта.

stealzy
Спасибо за пример,  разобрался. Со второй проблемой тоже.

7

Re: AHK: Повторение скрипта.

Также есть конструкции goto и gosub.
goto переходит к любой метке .
gosub тоже самое , только при окончании работы переходит обратно .
А еще можно писать функции , тоже очень любопытное занятие .