1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30

Нужно помощь с lua скриптом // logitech g hub

04.11.2024, 02:55. Показов 4539. Ответов 42

Студворк — интернет-сервис помощи студентам
Написал код с помощью chatgpt все работает только при повторном нажатии на кнопку включения (5) он не выключается, в чем проблема?

Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
local MACRO_ON = 5 -- Замените 5 на номер кнопки мыши, которую хотите использовать
local active = false -- Переменная для отслеживания состояния
 
function OnEvent(event, arg)
    if event == "MOUSE_BUTTON_PRESSED" and arg == MACRO_ON then
        active = not active -- Переключаем состояние
        if active then
            OutputLogMessage("Macro activated\n")
            main() -- Запускаем макрос
        else
            OutputLogMessage("Macro deactivated\n")
        end
    end
end
 
function main()
    local repetitions = 100
 
    while active do -- Выполняем пока макрос активен
        for i = 1, repetitions do
            PressMouseButton(1)  
            Sleep(30)                       
            ReleaseMouseButton(1) 
            Sleep(5)
            MoveMouseRelative(0, 2)
        end
        Sleep(100) -- Небольшая пауза перед повторным запуском
    end
end
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.11.2024, 02:55
Ответы с готовыми решениями:

Макрос (LUA) для увеличения чувствительности мыши в прицеле? Logitech G hub LUA
Здравствуйте! Хочу сделать LUAмакрос в Logitech G hub для увеличения чувствительности мыши в прицеле. То есть при зажатии/нажатии правой...

Lua и Logitech
Добрый день. Кто-нибудь может знает как проиграть какой-нибудь звук при входе в функцию? К сожалению lua для мышей от logitech довольно...

Редактирование архивов скриптом lua
Привет всем! Подскажите пожалуйста, возможно ли скриптом lua редактировать архивы .rar,.zip и т.д.? Т.е. есть архив с файлами, и в этом...

42
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 15:54  [ТС]
Студворк — интернет-сервис помощи студентам
1
1
1
1
1
1
1
1
1
1

Всегда так пишет если я нажму на любые клавиши на мышки, но почему то когда я нажимаю ЛКМ оно не выводит единицу в консоль
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 15:56
А на mouse5 бинд какой сейчас стоит? можете его к дефелтному сбросить. По документации не так должно быть)
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:00  [ТС]
Бинды я не трогал все по стандарту, возможно это из за подключенного 2ого монитора?
Миниатюры
Нужно помощь с lua скриптом // logitech g hub  
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:06
Цитата Сообщение от Mokarth Посмотреть сообщение
возможно это из за подключенного 2ого монитора?
Нет.
Команда которая вроде как должна дергать состояние клавиш - толком не описана, возвращает фигню.
Повторный вызов OnEvent не возможен пока не закончится предыдущий.
Чет как-то не очень все.

Lua
1
2
3
4
5
6
function OnEvent(event, arg)
    for i = 1, 100 do
        OutputLogMessage(tostring(GetMKeyState()).."\n")
        Sleep(100)
    end
end
Понажимайте 5 кнопку. Скрипт сам не остановится. Мне вывод в лог нужен.
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:09  [ТС]
Нажимаю mouse5 ничего не происходит, только цифра 1 спамит в консоль
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:09
Цитата Сообщение от Mokarth Посмотреть сообщение
Нажимаю mouse5 ничего не происходит, только цифра 1 спамит в консоль
Она всегда 1? Вне зависимости от того нажата кнопка или нет?
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:12  [ТС]
Все верно
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:20
В данный момент я не вижу возможности реализации данного функционала. Я вполне допускаю, что я что-то недопонимаю, как оно работает, но из входных данных - это тупик. По нормальному OnEvent должен вызываться каждый раз когда вы нажимаете кнопку или прилетает какой-нибудь эвенет, вне зависимости выполнился предыдущий или нет.

Вот так еще попробуйте. Нужно понажимать разные кнопки, в т.ч. обязательно 5.
Lua
1
2
3
4
5
6
7
8
9
10
function OnEvent(event, arg)
    OutputLogMessage("OnEvent. Event: ".. tostring(event).." arg: "..tostring(arg).."\n")
    if event == "MOUSE_BUTTON_PRESSED" then
        if arg == 5 then
            OutputLogMessage("____5____\n")
        else
            OutputLogMessage("___XXX___\n")
        end
    end
end
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:21  [ТС]
LOADED
OnEvent. Event: PROFILE_ACTIVATED arg: nil
OnEvent. Event: MOUSE_BUTTON_PRESSED arg: 2
___XXX___
OnEvent. Event: MOUSE_BUTTON_RELEASED arg: 2
OnEvent. Event: MOUSE_BUTTON_PRESSED arg: 6
___XXX___
OnEvent. Event: MOUSE_BUTTON_RELEASED arg: 6
OnEvent. Event: MOUSE_BUTTON_PRESSED arg: 3
___XXX___
OnEvent. Event: MOUSE_BUTTON_RELEASED arg: 3
OnEvent. Event: MOUSE_BUTTON_PRESSED arg: 5
____5____
OnEvent. Event: MOUSE_BUTTON_RELEASED arg: 5
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:21
Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function OnEvent(event, arg)
    OutputLogMessage("OnEvent. Event: ".. tostring(event).." arg: "..tostring(arg).."\n")
    if event == "MOUSE_BUTTON_PRESSED" then
        if arg == 5 then
            OutputLogMessage("____5____\n")
            while 1 do
                Sleep(100)
            end
        else
            OutputLogMessage("___XXX___\n")
            while 1 do
                Sleep(100)
            end
        end
    end
end
а теперь так?
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:24  [ТС]
LOADED
OnEvent. Event: PROFILE_ACTIVATED arg: nil
OnEvent. Event: MOUSE_BUTTON_PRESSED arg: 5
____5____

но когда я еще раз нажимаю то программа зависает и приходится перезапускать, пробовал переустанавливать не помогло оно все равно бывает зависает может из за этого

Добавлено через 51 секунду
Даже не программа а сам редактор который внутри на lua он зависает
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:27
Цитата Сообщение от Mokarth Посмотреть сообщение
но когда я еще раз нажимаю то программа зависает и приходится перезапускать, пробовал переустанавливать не помогло оно все равно бывает зависает может из за этого
Я не думал, что настолько жестко будет. Сорри. Короче не может она в многопоточку, снять текущее состояние клавиши чтобы сделать обработку "изнутри" тоже не получилось. Все, что я могу предложить - сторонние решения на кликерах. Ну либо дайте какой-нибудь пример, где подобное поведение реализовано - сможем подстроить. Но в данный момент я вижу ограничение в реализации из-за движка (не из-за луа, а из-за того, как логитеч его применил).
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:29  [ТС]
Я чуток не понял, сам код не сможет быть активен? Или его включение на кнопку мыши?
Я хочу чтобы этот код работал
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function main()
    -- Define the number of repetitions
    local repetitions = 100
 
    for i = 1, repetitions do
        PressMouseButton(1)  
        Sleep(30)                       
        ReleaseMouseButton(1) 
        Sleep(5)
        MoveMouseRelative(0, 2)
    end
end
 
main()
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:31  [ТС]
Есть файл и когда его импортируешь в эту прогу то он работает нормально вот сам файл и гитхаб, в конце написано активировать его через команду data = dofile[[C:\world.lua]] можешь эта информация поможет решить проблему? Но там файл очень огромный. ссылка на github - https://github.com/Kava4/PUBG-... -SEASON-31

Внутри архива файл - PUBG-S31-Kava.lua
Вложения
Тип файла: zip PUBG-LOGITECH-NO-RECOIL-SEASON-31-master.zip (426.8 Кб, 2 просмотров)
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:34
Цитата Сообщение от Mokarth Посмотреть сообщение
Я чуток не понял, сам код не сможет быть активен? Или его включение на кнопку мыши?
Когда вы нажимаете кнопку мыши будет выполнен макрос. Пока макрос будет выполнятся все нажатия кнопок будут проигнорированы. В этом суть проблемы.

Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function OnEvent(event, arg)
    OutputLogMessage("OnEvent. Event: ".. tostring(event).." arg: "..tostring(arg).."\n")
    if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
        main()
    end
end
 
function main()
    -- Define the number of repetitions
    local repetitions = 100
 
    for i = 1, repetitions do
        PressMouseButton(1)
        Sleep(30)
        ReleaseMouseButton(1)
        Sleep(5)
        MoveMouseRelative(0, 2)
    end
end
Добавлено через 51 секунду
Цитата Сообщение от Mokarth Посмотреть сообщение
он работает нормально
Что есть "нормально"?
1
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 16:46  [ТС]
Понял, спасибо

Добавлено через 1 минуту
Ну он запускается и активируется при зажатии ЛКМ и отпускании. Но как я понял там другой способ какой то

Добавлено через 10 минут
Да я проверил, все действительно работает:
LOADED
ON-NoRecoil-G36C
OFF-G36C
ON-NoRecoil-G36C
OFF-G36C
ON-NoRecoil-G36C
OFF-G36C
ON-NoRecoil-G36C
OFF-G36C

При нажатии mouse5 он активируется я зажимаю лкм макрос ведет мышку вниз отпускаю он останавливается, потом еще раз нажимаю mouse5 и все он больше не работает
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
04.11.2024, 16:51
Надо смотреть, изучать. Он там постоянно дергает зачем-то состояния капслока и скроллока. Возможно использует их как флаги. Но это уже завтра спать хочу - вырубает уже. Код еще собака весь без переносов хрен поймешь, что там. Его сидеть час тупо переносы расставлять.
1
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
04.11.2024, 17:02  [ТС]
Это да) вот сейчас сам пробуй ctrl+c и с нуля сделать только не получается) я взял за основание local akm = 5 и в поиске все что нашел про akm перебросил в новый файл но пишет синтаксическую ошибку. Но все равно спасибо за помощь
0
324 / 195 / 19
Регистрация: 27.07.2018
Сообщений: 891
05.11.2024, 01:30
Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
local mouse_5 = function()
    local repetitions = 100
    local mouse_5_state = true
 
    while IsMouseButtonPressed(5) do -- Выполняем пока макрос активен
        for i = 1, repetitions do
            PressMouseButton(1)
            Sleep(30)
            ReleaseMouseButton(1)
            Sleep(5)
            MoveMouseRelative(0, 2)
            if not IsMouseButtonPressed(5) then
                mouse_5_state = false
                break
            end
        end
        if not mouse_5_state then
            mouse_5_state = false
            break
        end
        Sleep(100) -- Небольшая пауза перед повторным запуском
    end
end
 
 
local OnEvent = function(event, arg)
    if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
        mouse_5()
    end
end
Должно шуршать. Проверьте.
0
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30
06.11.2024, 00:45  [ТС]
Вообще 0 реакции но пишет что загружен без ошибок, я нашел другой способ но он криво работает но хоть так.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
EnablePrimaryMouseButtonEvents  (true);
function OnEvent(event,arg)
    if IsKeyLockOn("numlock")then
        if IsMouseButtonPressed(5)then
            repeat
                if IsMouseButtonPressed(5) then
                    repeat
                        PressMouseButton(1)
                        Sleep(30)
                        ReleaseMouseButton(1)
                        Sleep(5)
                        MoveMouseRelative(0, 2)
                    until not IsMouseButtonPressed(5)
                end
            until not IsMouseButtonPressed(5)
        end
    end
end
Он при зажатии кнопки mouse 5 начинает работать когда отпускаешь заканчивается, впринципе я этого и хотел. Но вообще по задумке он должен вот так работать на ЛКМ, а на mouse5 просто включать его и выключать. Т.е нажимаем mouse 5 и он включен потом можем им пользоваться, зажимать ЛКМ и он работает, когда не нужен просто жмем еще раз mouse 5 и он выключен и при удержании ЛКМ он уже не будет работать, будет здорово если у вас получится это реализовать =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2024, 00:45

Как открыть текстовый файл скриптом lua
Привет ребят! Подскажите пожалуйста, как скриптом 'lua' открыть текстовый файл? не io.open(), а именно открыть блокнот? Спасибо!

Помощь со скриптом
Здравствуйте!O_o Есть скрипт для замены символов, но почему-то он не корректно работает! В теории значение должно браться из словаря...

Нужна помощь со скриптом
Мальчики,всем привет! :) Я хочу научиться пользоваться Bash Shell'ом, но пока несильно это получается... На одном из форумов нашла...

Нужна помощь со скриптом!
здравствуйте!пожалуйста напишите мне если не трудно скрипт, когда человек введет меил и пароль,чтоб этот мэил и пароль записывалось куда...

Проблема со скриптом, нужна помощь.
Здравствуйте. В скриптах дуб, поэтому прошу помощи. Есть сайт, там парсер (парсит новости). Парсит очень глючно, новости с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru