You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

罗技G-Hub Lua鼠标脚本问题:Mouse5启停Y键随机延迟循环

鼠标侧键5控制Y键循环启停的问题修复

原代码的核心问题在于循环内部无法响应新的鼠标按键事件:OnEvent函数仅在事件触发时执行,一旦进入for循环,event和arg的值就固定不变,导致循环里的break条件永远无法触发;同时原代码是固定循环10次,也不符合“无限循环直到再次按键停止”的需求。

修正后的代码

local running = false  -- 全局变量标记循环运行状态

function OnEvent(event, arg)
    OutputLogMessage("event = %s, arg = %s\n", event, arg)
    
    -- 响应鼠标侧键5的按下事件
    if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
        running = not running  -- 切换运行状态:停止→启动,启动→停止
        
        -- 若切换为启动状态,开始循环执行Y键操作
        if running then
            while running do
                PressKey("y")
                Sleep(math.random(60, 130))
                ReleaseKey("y")
                -- 短延迟确保脚本能及时处理新的按键事件
                Sleep(10)
            end
        end
    end
end

代码说明

  • local running = false:定义全局状态变量,初始为“未运行”状态。
  • 每次按下Mouse5时,通过running = not running反转状态,实现一键启停。
  • while running do循环会持续执行Y键按压操作,直到running被改为false(再次按下Mouse5时触发)。
  • 额外的Sleep(10)是为了给脚本留出处理新事件的时间,避免出现启停响应延迟。

内容的提问来源于stack exchange,提问作者prophetz2021

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:23:45