Advanced guest
Статус: Не в сети Регистрация: 03.12.2004
Т.е. надо 2 действия на одну кнопку? Я так думаю, что надо назначить в LGS на правую кнопку DPI-шифт, а скрипт луа переписать на нажатие кнопки. Т.е. поменять действия местами, раз команда смены DPI в lua не пашет, функция шифта то работает нормально.
Добавлено спустя 2 минуты: Как-то вот так:
Код:
EnablePrimaryMouseButtonEvents(true) function OnEvent(event, arg, family) if (event == "MOUSE_BUTTON_PRESSED" and arg == 2) then PressMouseButton(3) elseif (event == "MOUSE_BUTTON_RELEASED" and arg == 2) then ReleaseMouseButton(3) end end
(да, у этой команды почему-то 3 - это правая кнопка, а 2 - средняя)
_________________ Like I said, kids are cruel, Jack. And I'm very in touch with my inner child.
Спасибо большое! Работает)), так даже лучше может, т.к когда через lua замену dpi делал , иногда не срабатывало , типа целишься , а чувствительность не менялась, может т.к там задержка не была выставлена в мс, а сейчас все отлично работает)
Всем привет, опять вопрос по поводу скрипта в lua :
Код:
local recoil = false
function OnEvent(event, arg) if (event == "MOUSE_BUTTON_PRESSED" and arg == 8) then recoil = not recoil end if ((event == "MOUSE_BUTTON_PRESSED" and arg == 1) and recoil) and not (event == "MOUSE_BUTTON_PRESSED" and arg == 2) then Sleep(7) -- -- -- -- -- -- -- БЕЗ ЭТОЙ ЗАДЕРЖКИ СКРИПТ НЕ РАБОТАЕТ, СПАСИБО Nazgool ЗА ИДЕЮ
while IsMouseButtonPressed(1) do Sleep(16) MoveMouseRelative(0,20) if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,20) if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,20) if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,20) if not IsMouseButtonPressed(1) then break end
end end if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) and recoil and (event == "MOUSE_BUTTON_PRESSED" and arg == 2) then
Sleep(7) -- -- -- -- -- -- -- БЕЗ ЭТОЙ ЗАДЕРЖКИ СКРИПТ НЕ РАБОТАЕТ, СПАСИБО Nazgool ЗА ИДЕЮ
while IsMouseButtonPressed(1) do Sleep(16) MoveMouseRelative(0,1) if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,1) if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,1) if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,1) if not IsMouseButtonPressed(1) then break end end end end
Нужно , что бы при нажатии левой кнопки работала первая часть смещения где 0,20, а при нажатии левой+правая работала вторая где 0,1, у меня получается только то, что работает первая часть где 0,20 , как добавить условие в arg= что бы там была не одна кнопка , а комбинация? Как я сделал похоже не правильно). Еще по поводу "then break end", это что вообще? Удалял , работает и без него.
Advanced guest
Статус: Не в сети Регистрация: 03.12.2004
Не работает, потому что ты хочешь, чтобы arg был равен 1 и 2 одновременно, а так не бывает. в строке if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) and recoil and (event == "MOUSE_BUTTON_PRESSED" and arg == 2) then удалить 3е условие вообще строку while IsMouseButtonPressed(1) do дополнить еще условием, чтобы было while IsMouseButtonPressed(1) and IsMouseButtonPressed(3) do
Добавлено спустя 1 минуту 46 секунд:
Aloech писал(а):
Еще по поводу "then break end", это что вообще? Удалял , работает и без него.
Это досрочное завершение цикла. Чтобы курсор прекращал ездить сразу после отжатия кнопки, а не когда скрипт пройдет как минимум один круг. Хотя возможно, что надо еще и циклы сливать в один.
Вообще, разные эвенты зачастую не очень хорошо отрабатываются одновременно, поэтому хорошо бы переписать скрипт, соединив эвенты 2 и 3 в один, а внутрь положить оба цикла.
Добавлено спустя 17 минут 56 секунд: Что-то типа такого:
Код:
if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) and recoil then Sleep(7)
while IsMouseButtonPressed(1) do Sleep(16) MoveMouseRelative(0,20) if IsMouseButtonPressed(3) MoveMouseRelative(0,1) end if not IsMouseButtonPressed(1) then break end Sleep(16) MoveMouseRelative(0,20) if IsMouseButtonPressed(3) MoveMouseRelative(0,1) end if not IsMouseButtonPressed(1) then break end .....
_________________ Like I said, kids are cruel, Jack. And I'm very in touch with my inner child.
Member
Статус: Не в сети Регистрация: 12.06.2009 Откуда: Самара Фото: 62
4e_alex писал(а):
Вообще, разные эвенты зачастую не очень хорошо отрабатываются одновременно, поэтому хорошо бы переписать скрипт, соединив эвенты 2 и 3 в один, а внутрь положить оба цикла.
тогда вопрос - а как тебе выдеться методами луа - самая рациональная и короткая реализация, идеи кнопки Easy-Shift или g-Shift как на мышке g600 ?
хотябы игровой чат забью на джишифт - видимо с участием капсов клавы нужно делать...
если был активирован макрос верхней кнопкой G6 : и если сейчас зажата боковая g5 мышки : тогда при нажатии таб - запускается нижележащий бинд... при нажатии капс-лок - запускается нижележащий бинд... при нажатии шифт - запускается нижележащий бинд... при нажатии стрл - запускается нижележащий бинд... при нажатии л-альт - запускается нижележащий бинд... + и если сейчас зажата боковая g4 мышки : тогда при нажатии таб - запускается нижележащий бинд... при нажатии капс-лок - запускается нижележащий бинд... при нажатии шифт - запускается нижележащий бинд... при нажатии стрл - запускается нижележащий бинд... при нажатии л-альт - запускается нижележащий бинд...
Aloech писал(а):
Еще по поводу "then break end", это что вообще? Удалял , работает и без него.
Ребят помогите крану разобраться. Мышка G502 . Хочу поставить макрос на лкм. Так вот как это сделать, чтобы и лкм осталось со своей функцией, а в игре активировался макрос к примеру при нажатии на лкм, возможно ли такое чудо.
идеи кнопки Easy-Shift или g-Shift как на мышке g600 ?
Как то так.
Код:
SetMouseDPITable({400, 1200}, 2) --setting DPITable & set default DPI on 1200
function OnEvent(event, arg, family) if (event == "MOUSE_BUTTON_PRESSED" and arg == 6) then -- snipes_scope () end if (event == "MOUSE_BUTTON_RELEASED" and arg == 6) then -- snipes_scope_end () end end
function snipes_scope () PressKey ("lshift") Sleep (5) if IsMouseButtonPressed(3) then SetMouseDPITableIndex(1) OutputLCDMessage ("SnipeMode On") end end function snipes_scope_end () ReleaseKey ("lshift") Sleep (5) SetMouseDPITableIndex(2) OutputLCDMessage ("SnipeMode OFF") end
Cмена DPI активируется только если зажата RMB, автоматом включается задержка дыхания по Shift.
Ну а это для совсем отъявленных кемперюг, даже спящих со снайперкой
Код:
SetMouseDPITable({400, 1200}, 2) --setting DPITable & set default DPI on 1200
function OnEvent(event, arg, family) if arg == 2 then -- snipes_scope (event) end end
function snipes_scope (event) if event == "MOUSE_BUTTON_PRESSED" then PressKey ("lshift") Sleep (5) SetMouseDPITableIndex(1) OutputLCDMessage ("SnipeMode On") elseif event == "MOUSE_BUTTON_RELEASED" then ReleaseKey ("lshift") Sleep (5) SetMouseDPITableIndex(2) OutputLCDMessage ("SnipeMode OFF") end end
Member
Статус: Не в сети Регистрация: 13.04.2006 Фото: 16
Вопрос. У кого были проблемы с нажатием на колёсико? У меня сам клик происходит, но ответной реакции зачастую нет. Причем это рэндомно. Может поработать некоторое время нормально, а может вообще отвалиться. В играх на средней копкой часто пользуюсь и в браузере вкладки открывать-закрывать само собой. Поэтому данный баг бесит дико. Что можно сделать? Разборка чистка поможет или это уже всё, считай померла?
Member
Статус: Не в сети Регистрация: 02.03.2005 Фото: 0
mezzo Не можешь сам, разбери мышку и отнеси платы в ремонт сотовых, поменяют. Ну и ножки придется новые купить. Эта кнопка дохнет у многих, на g500 g700 итд
Member
Статус: Не в сети Регистрация: 13.04.2006 Фото: 16
Pilad Тогда вопрос. Вот это подойдёт на замену? http://www.chipdip.ru/product0/8280462269/ Я так понимаю эта штука называется SMD переключатель или тактовая кнопка SMD?
Member
Статус: Не в сети Регистрация: 13.04.2006 Фото: 16
VaDeR274 Нет не вскрывал. только ножки новые клеил. Про гарантию Логитека конечно ходят легенды. но я просто понятия не имею куда обращаться по этому поводу
Сейчас этот форум просматривают: Sanch и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения