求解罗技鼠标压枪宏问题

查看 44|回复 1
作者:silverKirsi   
在论坛里看到分享的这篇帖子罗技鼠标宏lua分享之压枪的实现(https://www.52pojie.cn/thread-1765133-1-1.html)
然后就好奇运行了,但就很奇怪,不知道为什么我这里就是运行不了,提示了Script Loaded(脚本加载)后按什么按键都没有反应(也修改过yq = 3(改成4、5、6、7、8、9都没反应)),删掉注释也不行,下面的按键运行框里也没有按键运行信息弹出。
而用我另一个压枪的脚本又可以正常运行,按键运行框里会出现使用按键的信息。
还用了chatGPT分析解决都不行,就很奇怪不知道问题出在哪了,还是我都没激活过这个脚本?是按鼠标中键激活的吗?
就很好奇,想学习下,求大佬给个答案。
以下是帖子中的代码:
[Lua] 纯文本查看 复制代码yq = 3 -- 这是压枪开关对应的侧键
down = {5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3} --向下压枪 这里有20个数值
--想往下压幅度大一点一点就改大这里面的数值,或者在后面添加数值 改小反之
ZY = {-3, -3, -3, -3, -4, -4, -4, -4, -4, -4, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3} --向左右压枪
yaqiang = false --压枪开关判断
function OnEvent(event, arg)
    if event == "MOUSE_BUTTON_PRESSED" and arg == yq then
        --上面判断语句是鼠标被按压且按压的键是yq,yq也就是3
        yaqiang = not yaqiang --这里 false = not false 即变成true 当再次按下就再次变成 false 实现开关功能
    end
    if yaqiang then
        i = 1 --从第一个数开始
        z = 1
        if event == "MOUSE_BUTTON_PRESSED" and arg == 1 then
            Sleep(math.random(105, 115))
            while (IsMouseButtonPressed(1)) do --当鼠标左键被按压时执行的循环
                MoveMouseRelative(0, down[i]) --向下移动20个数值
                i = i + 1 --执行完这个下压,当大于的时候将会是nil将不会再移动,当i大于20就会是nil
                if i>20 then -- i>20 表示向下压完成了
                    MoveMouseRelative(ZY[z], 0)
                    z = z + 1
                end
                Sleep(math.random(25, 35)) --下压延时
            end
        end
    end
end
------------------------------------------------------------------------------
以下是chatGPT分析后的代码:
[Lua] 纯文本查看 复制代码-- 压枪参数设置
local yq = 3 -- 压枪开关对应的侧键
local down = {5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3} -- 向下压枪,这里有20个数值
-- 想往下压幅度大一点一点就改大这里面的数值,或者在后面添加数值,改小反之
local zy = {-3, -3, -3, -3, -4, -4, -4, -4, -4, -4, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3} -- 向左右压枪
-- 压枪开关判断
local yaqiang = false
-- 按键事件处理函数
function OnEvent(event, arg)
    if event == "MOUSE_BUTTON_PRESSED" and arg == yq then
        yaqiang = not yaqiang -- 切换压枪开关状态
    end
   
    if yaqiang and event == "MOUSE_BUTTON_PRESSED" and arg == 1 then
        local i, z = 1, 1 -- 下压和左右压枪的数组下标
        Sleep(math.random(105, 115)) -- 初始延时,防止误触发
        while IsMouseButtonPressed(1) do -- 当鼠标左键被按压时执行的循环
            MoveMouseRelative(0, down[i]) -- 向下移动
            i = i + 1 -- 移动到下一个数值
            if i > #down then -- 下压完成后开始左右压枪
                MoveMouseRelative(zy[z], 0) -- 向左右移动
                z = z + 1 -- 移动到下一个数值
            end
            Sleep(math.random(25, 35)) -- 下压延时
        end
    end
end

数值, 鼠标

silverKirsi
OP
  

解决了,被自己蠢哭,没绑程序,所以运行不了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部