Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 06.12.2022
Сообщений: 30

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

04.11.2024, 02:55. Показов 3414. Ответов 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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Сообщений: 878
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru