1

Тема: Как организовать переключение между двумя циклами в скрипте?

Здраствуйте! Имееться небольшой скрипт для браузерной игры, где автоматизировано поочередное нажатие двух клавиш по горячей клавише!

#MaxThreadsPerHotkey, 2

v::
    If A_IsPaused
    {
        Pause, Off
        Return
    }
    Else
    {
        If Running
        {
            Send, 4
            Pause, On, 4
        }
        Else
        {
            Running := True
            Loop
            {
                Send 6                  
                Sleep, 200              
                Send 4                  
                Sleep, 3100             
            }
        }
    }
Return

Собственно интересует, как возможно в скрипт добавить второй подобный цикл и организовать переключение между ними по заданой клавише?

2 (изменено: serzh82saratov, 2014-06-09 12:24:38)

Re: Как организовать переключение между двумя циклами в скрипте?

+ открыть спойлер

Mode := 0
All := [[[6, 200], [4, 3100]]
    , [["Q", 200], ["W", 400], ["E", 600]]]
  
vk56::    ;  "V"
    N := 0
    Mode := ++Mode > 3 ? 1 : Mode
    SetTimer, LoopSend, Off
    
    If Mode = 3 
        GoTo Send4
    This := All[Mode]
    
LoopSend:
    SetTimer, LoopSend, % "-" . This[N := ++N > This.MaxIndex() ? 1 : N, 2]
    SendInput % This[N, 1]
    Return
  
Send4:
    SendInput 4
    Return

Нет, так нагляднее:


Mode := 0

vk56::    ;  "V"
    N := 0
    Mode := ++Mode > 3 ? 1 : Mode
    SetTimer, LoopSend, Off
    
    If Mode = 1
        This := [[6, 200], [4, 3100]]
    Else If Mode = 2
        This := [["Q", 200], ["W", 400], ["E", 600]]
    Else If Mode = 3
        GoTo Mode3
    
LoopSend:
    SetTimer, LoopSend, % "-" . This[N := ++N > This.MaxIndex() ? 1 : N, 2]
    SendInput % This[N, 1]
    Return
  
Mode3:
    SendInput 4
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

3

Re: Как организовать переключение между двумя циклами в скрипте?

Огромное спасибо! Весьма оригинальный подход! Много тем  пересмотрел с циклами, но способа переключений между ними так и не смог найти! Единственное, что хотел бы узнать, как возможно в данном варианте назначить функцию старт-стоп на одну клавишу и смену цикла на другую! Заранее благодарен!