Как работать с несколькими функциями - GHUB/Lua

Я хотел бы знать, как я могу вернуться к первой функции
Я хочу сделать 3 функции в кнопке 6;
Сначала он переходит в TOPX и TOPY, при втором нажатии он переходит в MIDX и MID , в третьем нажмите на BOTX и BOTY; после этого, если я нажму еще раз, он вернется к первой функции.

local  CENTER, MIDX, MIDY, BOTX, BOTY, TOPX, TOPY

----------------------Init------------------------------------------------------------------------------------------------------------------------------------------------------------------    
CENTER = 32767
TOPX = 59305
TOPY = 54527
MIDX = 61764
MIDY = 58683
BOTX = 64060
BOTY = 63056
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--/
function OnEvent(event, arg)
    --MIDLANE
    if  
    event == "MOUSE_BUTTON_PRESSED" and arg == 6 then
         MoveMouseTo(MIDX, MIDY)
--      PressMouseButton(1);
--          ReleaseMouseButton(1);
--              Sleep(20);
                    MoveMouseTo(MIDX, MIDY);


function OnEvent(event, arg)
    --BOTLANE
    if
    event == "MOUSE_BUTTON_PRESSED" and arg == 6 then
          MoveMouseTo(BOTX,BOTY) ; 
--      PressMouseButton(1);
--          ReleaseMouseButton(1);
                Sleep(20);
                    MoveMouseTo(CENTER, CENTER)
    --TOPLANE
    elseif
    event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
         MoveMouseTo(TOPX,TOPY) ; 
--      PressMouseButton(1);
--          ReleaseMouseButton(1);
                Sleep(20);


            end
        end
    end 
end

person Gilmar Antonio Ribeiro dos San    schedule 23.03.2021    source источник


Ответы (1)


Ваша формулировка немного сбивает с толку. Вы не хотите выполнять 3 функции. Из вашего текста я понял, что вы хотите вызывать MoveMouseTo с разными координатами каждый третий раз.

Итак, поместите их в таблицу:

button6Coords = {
  {x = TOPX, y = TOPY},
  {x = MIDX, y = MIDY},
  {x = BOTX, y = BOTY},
}

затем есть глобальный счетчик, который увеличивается каждый раз, когда вы нажимаете кнопку6.

счетчик6 = 0

В обработчике события:

...

if event == "MOUSE_BUTTON_PRESSED" and arg == 6 then
  counter6 = counter6 % 3 + 1
  local coords = button6Coords[counter6]            
  MoveMouseTo(coords.x, coords.y) 

...

person Piglet    schedule 23.03.2021
comment
Извините за плохой английский, но таблица просто работает, я благодарен за вашу помощь, спасибо ‹3 - person Gilmar Antonio Ribeiro dos San; 23.03.2021