我如何对 2 个变量使用相同的按键?(LUA)

How i use the same keypress for 2 variables?(LUA)

示例:如果我按下 M6 按钮,我的光标会转到 X 位置,如果我再次按下 M6 按钮,他会转到 Y 位置,我该如何交替?

local TOPX, TOPY, MIDX, MIDY

TOPX = 59305        -- Top side X
TOPY = 54527        -- Top side Y
MIDX = 61764        -- Mid lane X
MIDY = 58683        -- Mid lane Y

function OnEvent(event, arg)
        for n = 1,2
            do
            if      event == "MOUSE_BUTTON_RELEASED" and arg == 6 then
                            MoveMouseTo(MIDX, MIDY);
        for n = 2,4
            do  
                if
                    event == "MOUSE_BUTTON_RELEASED" and arg == 6 then
                            MoveMouseTo(TOPX, TOPY);    

end
end
end
end
end

一种方法是使用一个外部标志布尔变量,它可以让您识别 M6 按钮笔划的状态。

local buttonPressedOnce = true

function onEvent(event, arg)
    -- Check if the button is the one we desire.

    if (event == "MOUSE_BUTTON_RELEASED" and arg == 6) then
        if (buttonPressedOnce) then
            -- execute X update code
        else
            -- execute Y update code
        end

        buttonPressedOnce = not(buttonPressedOnce)
    end
end

说明:第一次按下将始终是 X 轴更新代码,因此我们将标志初始化为真,并且随着每次点击调用我们继续更新标志值,确保每个按钮笔划都会切换到所需的位置状态。