Объединение двух Lua скриптов? - PullRequest
1 голос
/ 04 марта 2020

Я пытаюсь найти способ объединить эти два сценария:

    function OnEvent(event, arg)
      OutputLogMessage("event = %s, arg = %d\n", event, arg)
      if (event == "PROFILE_ACTIVATED") then
        EnablePrimaryMouseButtonEvents(true)
      elseif event == "PROFILE_DEACTIVATED" then
        ReleaseMouseButton(2)  -- to prevent it from being stuck on
      end
      if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
        recoilx2 = not recoilx2
        spot = not spot
      end
      if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoilx2) then
        if recoilx2 then
          repeat
            MoveMouseRelative(0, 25)
            Sleep(1000)
          until not IsMouseButtonPressed(1)
        end
      end

      if IsMouseButtonPressed(1) then
        repeat
          PressMouseButton(1)
          Sleep(15)
          ReleaseMouseButton(1)
        until not IsMouseButtonPressed(1)
      end
    end

Когда я нажимаю мышь 5, чтобы активировать первый раздел, повторяющийся щелчок внизу не работает.

1 Ответ

0 голосов
/ 04 марта 2020

Когда я нажимаю мышь 5, чтобы активировать первый раздел, повторяющийся щелчок внизу не работает.

Когда вы нажимаете кнопку 5 в первый раз, когда вы попадаете в этот условный оператор

 if (event == "MOUSE_BUTTON_PRESSED" and arg == 5) then
   recoilx2 = not recoilx2
   spot = not spot
 end

Это назначит true для recoilx2.

Когда вы нажмете кнопку 1 после этого, вы попадете в этот условный оператор:

if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoilx2) then
  if recoilx2 then
    repeat
      MoveMouseRelative(0, 25)
      Sleep(1000)
    until not IsMouseButtonPressed(1)
  end
end

Здесь вы ждете, пока кнопка 1 больше не будет нажата.

Если вы не нажмете кнопку 5 снова, чтобы назначить false для recoilx2, вы всегда окажетесь там, когда вы нажмете кнопку 1 и оставайтесь там, пока не отпустите кнопку 1.

Следовательно, вы никогда не сможете ввести это условное утверждение.

 if IsMouseButtonPressed(1) then
   repeat
     PressMouseButton(1)
     Sleep(15)
     ReleaseMouseButton(1)
   until not IsMouseButtonPressed(1)
 end
...