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

鼠标宏脚本优化需求:循环控制与Z键触发逻辑调整

修复后的脚本及问题解决

需求回顾

  • 按下右键(MouseButton3)后,先按一次Z键,随后循环输入"A B C D E F G"
  • 松开左键(MouseButton1)时立即终止循环
  • 松开右键时再次按一次Z键
  • 条件不满足时立即中断循环并执行下一行代码

当前问题分析

  • 松开左键时脚本完全停止:原脚本嵌套逻辑混乱,导致左键释放后外层循环未正确处理
  • Z键重复触发:原脚本中左键分支也包含Z键触发逻辑,且右键分支内的Z键触发时机错误

修复后的脚本

EnablePrimaryMouseButtonEvents(true);

function OnEvent(event, arg)
    -- 仅当NumLock开启时生效
    if not IsKeyLockOn("numlock") then return end

    -- 右键按下时触发初始Z键
    if event == "MOUSE_BUTTON_PRESSED" and arg == 3 then
        PressKey("z")
        ReleaseKey("z")
    end

    -- 右键按住期间的循环逻辑
    if IsMouseButtonPressed(3) then
        -- 仅左键按住时执行循环输入
        while IsMouseButtonPressed(1) do
            -- 依次输入A到G,每步检查左键状态
            PressKey("a")
            ReleaseKey("a")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)

            PressKey("b")
            ReleaseKey("b")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)

            PressKey("c")
            ReleaseKey("c")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)

            PressKey("d")
            ReleaseKey("d")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)

            PressKey("e")
            ReleaseKey("e")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)

            PressKey("f")
            ReleaseKey("f")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)

            PressKey("g")
            ReleaseKey("g")
            if not IsMouseButtonPressed(1) then break end
            Sleep(91)
        end
    end

    -- 右键松开时触发结束Z键
    if event == "MOUSE_BUTTON_RELEASED" and arg == 3 then
        PressKey("z")
        ReleaseKey("z")
    end
end

修复说明

  1. 分离事件逻辑:将右键按下、按住循环、右键松开三个阶段明确拆分,避免嵌套混乱
  2. Z键专属控制:仅在右键按下和松开时触发Z键,彻底移除左键分支中的Z键逻辑
  3. 即时循环终止:每次输入字符后立即检查左键状态,一旦松开就中断循环,确保响应及时
  4. 补充G键输入:按照需求完善了原脚本缺失的G键循环步骤
  5. 简化结构:移除冗余嵌套循环,优化条件判断逻辑,提升脚本稳定性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 04:32:16