#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
и строка 22MoveMouseRelative( 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. ТЫ ПРОСТО ГЕНИЙ! Спасибо