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

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

04.11.2024, 02:55. Показов 4306. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru