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

请求合并鼠标LMB与RMB关联的Spot和Recoil脚本

合并后的鼠标脚本实现

没问题,我帮你把两个脚本按你的需求整合好了,完全符合你要的按键交互逻辑,还优化了响应速度,避免切换不及时的情况:

EnablePrimaryMouseButtonEvents(true);

function OnEvent(event, arg)
    -- 仅当CapsLock开启时触发脚本逻辑,避免日常误触
    if IsKeyLockOn("capslock") then
        -- 按住鼠标右键(RMB)时进入主循环
        while IsMouseButtonPressed(3) do
            -- 优先检测是否同时按住鼠标左键(LMB),触发后坐力控制
            if IsMouseButtonPressed(1) then
                -- 持续执行鼠标向下微动,直到松开左键
                repeat
                    MoveMouseRelative(0, 1)
                    Sleep(33)
                until not IsMouseButtonPressed(1)
            else
                -- 仅按住右键时,执行Spot脚本的Q键循环逻辑
                PressKey("Q")
                Sleep(20)
                ReleaseKey("Q")
                -- 等待480ms,期间实时检测是否按住左键,确保能立刻切换到后坐力控制
                local wait_end_time = GetRunningTime() + 480
                while GetRunningTime() < wait_end_time and not IsMouseButtonPressed(1) do
                    Sleep(10) -- 短间隔检测,保证按键响应灵敏
                end
            end
            Sleep(10) -- 主循环的短间隔,让整体交互更流畅
        end
    end
end

核心逻辑说明

我把你的需求拆解成了清晰的执行流程:

  • 仅当CapsLock处于开启状态时,脚本才会工作,避免平时使用鼠标时误触触发功能
  • 按住RMB时,脚本会持续检测按键状态:
    • 如果同时按住LMB,立刻停止Spot的Q键循环,转而运行Recoil的鼠标向下微动,直到松开LMB
    • 松开LMB后,只要还按住RMB,脚本会自动回到Spot的Q键循环
  • 单独按住RMB时,会每隔约500ms(20ms按住Q + 480ms等待)触发一次Q键,直到按下LMB或者松开RMB
  • 不管什么时候松开RMB,所有脚本动作都会立刻停止

这个版本优化了原脚本的循环结构,在Q键的等待阶段也会实时检测左键状态,确保切换到后坐力控制的响应速度更快,不会出现延迟。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:00:56