Как я могу объединить эти 2 разных сценария Lua в ОДИН? это для моей мыши logitech, и я не могу объединить этот сценарий переключения 2

#lua #logitech-gaming-software

#lua #logitech-gaming-software

Вопрос:

Здравствуйте, я хочу объединить эти 2 сценария переключения. Это для игры. Я не силен в этом сценарии, и мне нужна помощь для сценариев слияния. Я бы хотел

  • когда я нажимаю кнопку G7
    , мышь опускается на x пикселей, когда я нажимаю левую кнопку мыши
  • когда я нажимаю кнопку g8
    , мышь опускается на y пикселей, когда я нажимаю левую кнопку мыши.

Script1

 function OnEvent(event, arg)
  OutputLogMessage("event = %s, arg = %dn", 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 == 7) then
    recoil = not recoil
    spot = not spot
  end

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil) then
    if recoil then
      repeat

        Sleep(2)
        MoveMouseRelative(-1, 1)
        Sleep(2)
        MoveMouseRelative( 0.5 , 2)
        Sleep(2)
        MoveMouseRelative( 1, 30)
        Sleep(6)

      until not IsMouseButtonPressed(1)

    end
  end
end
 

Script2

 function OnEvent(event, arg)
  OutputLogMessage("event = %s, arg = %dn", 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 == 8) then
    recoil = not recoil
    spot = not spot
  end

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil) then
    if recoil then
      repeat

        Sleep(2)
        MoveMouseRelative(-1, 1)
        Sleep(2)
        MoveMouseRelative( 0.5 , 2)
        Sleep(2)
        MoveMouseRelative( 1, 10)
        Sleep(6)

      until not IsMouseButtonPressed(1)

    end
  end
end
 

Комментарии:

1. Похоже, что ни один из этих скриптов не выполняет действие mouse pull down of pixel при нажатии кнопок G7 или G8. это просто переключатели для переменных recoil и spot .

2. Да, конечно, если я нажму g7 сейчас, моя мышь опустится (если скрипт g7 активен).

3. В опубликованном вами коде есть только 2 отличия, строка 8 arg == 7 против arg == 8 и строка 22 MoveMouseRelative( 1, 30) против MoveMouseRelative( 1, 10) , поэтому я не вижу из опубликованного кода, как они будут двигаться в разных направлениях

Ответ №1:

 function OnEvent(event, arg)
   OutputLogMessage("event = %s, arg = %dn", event, arg)
   if event == "PROFILE_ACTIVATED" then
      EnablePrimaryMouseButtonEvents(true)
   elseif event == "PROFILE_DEACTIVATED" then
      ReleaseMouseButton(2) -- to prevent it from being stuck on
   elseif event == "MOUSE_BUTTON_PRESSED" and (arg == 7 or arg == 8) then     
      recoil = recoil ~= arg and arg
   elseif event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil == 7 then
      repeat
         Sleep(2)
         MoveMouseRelative(-1, 1)
         Sleep(2)
         MoveMouseRelative( 0.5 , 2)
         Sleep(2)
         MoveMouseRelative( 1, 30)
         Sleep(6)
      until not IsMouseButtonPressed(1)
   elseif event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil == 8 then
      repeat
         Sleep(2)
         MoveMouseRelative(-1, 1)
         Sleep(2)
         MoveMouseRelative( 0.5 , 2)
         Sleep(2)
         MoveMouseRelative( 1, 10)
         Sleep(6)
      until not IsMouseButtonPressed(1)
   end
end
 

Ответ №2:

Не совсем уверен, к чему вы стремитесь, но это звучит похоже на то, чего вы пытаетесь достичь. Возможно, вам потребуется добавить несколько пар MoveMouseRelative(x, y) координат, чтобы он был нацелен правильно, но это должно приблизить логику, которую вы ищете.

 function OnEvent( event, arg )
    OutputLogMessage( 'event = %s, arg = %dn',  event,  arg )

    if event == 'PROFILE_ACTIVATED' then
        EnablePrimaryMouseButtonEvents( true )

    elseif event == 'PROFILE_DEACTIVATED' then
        EnablePrimaryMouseButtonEvents( false )

    --~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    elseif event == 'MOUSE_BUTTON_PRESSED' and arg == 7 then
        spot = not spot  --  toggle horizontal X spot-drift by pressing button 7

    elseif event == 'MOUSE_BUTTON_PRESSED' and arg == 1 and spot then
        while IsMouseButtonPressed( 1 ) do
            MoveMouseRelative( -1, 0 )  --  left on the X axis, enable/disable with button 7
            Sleep( 2 )
        end

    --~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    elseif event == 'MOUSE_BUTTON_PRESSED' and arg == 8 then
        recoil = not recoil  --  toggle vertical Y recoil-compensation by pressing button 8

    elseif event == 'MOUSE_BUTTON_PRESSED' and arg == 1 and recoil then
        while IsMouseButtonPressed( 1 ) do
            MoveMouseRelative( 0, 1 )  --  down on the Y axis, enable/disable with button 8
            Sleep( 2 )
        end
    end
end
 

Комментарии:

1. ТЫ ПРОСТО ГЕНИЙ! Спасибо