Помощь - Поиск - Пользователи - Календарь
Полная версия: Цикл нажатий клавиш
UoKit.com Форумы > Кликер > UO Pilot
Серж
Здравствуйте, помогите дописать скрипт, тут нужно добавить какую то хитрую формулу?
Что бы при нажатии одной клавиши и при повторном нажатии, и скрипт нажимал по очереди следующие клавиши...
Код
while  KB.GetKeyStateByCode(49) = 1
  hint q
  send {q}
end_while
while  KB.GetKeyStateByCode(49) = 1
  hint w
  send {w}
end_while
while  KB.GetKeyStateByCode(49) = 1
  hint e
  send {e}
end_while


А то так как то рандомно получается...
cirus
На луа можно так:
код
Код
--lua
-- пилот 2.41. или выше
local ffi = require("ffi")
local user = ffi.load('User32.dll')
ffi.cdef[[unsigned short GetAsyncKeyState(int vKey);]]
log "clear" log "mode compact"

user.GetAsyncKeyState(49)
while true do
    while user.GetAsyncKeyState(49) == 0 do wait (10) end    -- ждать пока не нажата клавиша 1
    while user.GetAsyncKeyState(49) > 0 do   -- выполнять пока нажата клавиша 1
        hint ('q')
        send ('q')
        wait (10)
    end

    while user.GetAsyncKeyState(49) == 0 do wait (10) end
    while user.GetAsyncKeyState(49) > 0 do
        hint ('w') send ('w') wait (10)
    end

    while user.GetAsyncKeyState(49) == 0 do wait (10) end
    while user.GetAsyncKeyState(49) ~= 0 do
        hint ('e') send ('e') wait (10)
    end
    wait (10)
end

Или так:
код
Код
--lua
local ffi = require("ffi")
local user = ffi.load('User32.dll')
ffi.cdef[[unsigned short GetAsyncKeyState(int vKey);]]
log "clear" log "mode compact"

local arr = {'q', 'w', 'e'}   -- список клаввиш
local i = 1

user.GetAsyncKeyState(49)
while true do
    while user.GetAsyncKeyState(49) == 0 do wait (10) end    -- ждать пока не нажата клавиша 1
    while user.GetAsyncKeyState(49) > 0 do   -- выполнять пока нажата клавиша 1
        hint (arr[i])
        send (arr[i])
        wait (10)
    end
    i = i + 1
    if i > #arr then i = 1 end
    wait (10)
end


Серж
Про луа я вообще не в теме, почему именно луа?
cirus
Цитата
почему именно луа?

Быстрее работает, более гибкий синтаксис, можно подключать длл, по сути доступны почти все функции winapi.
Серж
Ясно, спасибо за все.
Пробую на луа, хоть пилот мне так и не удалось изучить даже 5% из того что он умеет...
cirus
Список функций Смотрите примеры, если что-то непонятно спрашивайте, поможем.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.