Lua макрос с синхронизированной мышью (logiteck api) - PullRequest
0 голосов
/ 14 апреля 2019

logiteck api (http://www.wolfpack.pe.kr/attachment/1180489860.pdf) пытаясь создать скрипт мыши, который нажимает кнопку в течение определенного промежутка времени, а затем разворачивается на 180 градусов в игре: однако, не зная, какой будет моя чувствительность мыши, я хочу настроить ее на чувствительность мыши так:

  1. когда я нажимаю правую кнопку, чтобы начать поворачивать вправо до тех пор, пока я не отпущу ее, в переменной i сохраняется число повторений для этого поворота

  2. содержит эту переменную для второй функции, когда программа сначала нажимает «w», чтобы я переместился (неважно), а затем имеет небольшую задержку (малая для цикла). Мой игрок ходит с такой задержкой, а затем переменная i используется для имитации точного хода, который я сделал до

EnablePrimaryMouseButtonEvents(true);

function OnEvent(event, arg)
if IsMouseButtonPressed(3)then
i=1
                repeat
i=i +1
                    MoveMouseRelative(3,0)
                    Sleep(5)
                until not IsMouseButtonPressed(3)
                  end

end

function oniEvent(event, arg)
if IsKeyLockOn("numlock" )then
PressKey( "w" );

repeat
u=0
j=1

for k=1,999,1 do j=j/2 
////delay////
 end 

repeat
u=u + 1 
                    MoveMouseRelative(3,0)
                    Sleep(5)
                until  u==i




until  not IsKeyLockOn("numlock" )
ReleaseKey( "w" );


end
end

Проблема: когда я нажимаю numlock он даже начинает нажимать "w"

1 Ответ

0 голосов
/ 15 апреля 2019

Кажется, есть недоразумение.

Определение функции ничего не делает, кроме определения этой функции. Код в его теле выполняется только при вызове функции.

Поскольку вы только определяете oniEvent, но никогда не называете его, ваш код делает то, что и ожидалось: ничего.

Если вы хотите реагировать на ввод с помощью мыши или клавиши, вы должны реализовать это в функции OnEvent, которая служит обработчиком событий и вызывается автоматически при возникновении события.

Пожалуйста, прочитайте руководство еще раз. Есть много примеров.

...