UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2
Levo222
Нужен скрипт на спамм клавиши по её зажатию в активном окне

Делали мы тут для Caps_lockа проверку на нажатие, также надо и для спама, но c проверкой на включенность Scroll_lock
1
--lua
--Автобег
end


Как из этого сляпать не зажатие а спамм с интервалом n но не Caps_lock а на клавишу которая нажата?

Что-то должно получиться
Код
--lua
-
                end

Но оно не работает.

Вобщем надо так: Если зажата клавиша N и вкл.Scroll_lock он её спамит
Вверх
cirus
Цитата
Если зажата клавиша N и вкл.Scroll_lock он её спамит

Код
--lua
--Спам(Scroll_lock_on)
do
local back = package.path
package.path = "luaPlugins\\winapi\\?.lua;"..package.path
setfenv(1, require'winapi')
require[[winapi.keyboard]]
package.path = back
end
-- Получаем состояние клавиши:
-- state - нажата/отжата
-- toggle - для лампочек горит/не горит.

while 1 do
    local state, toggle = GetKeyState(0x91)
    local state2 = GetKeyState(0x4e)
    while toggle and state2 do     -- пока нажата ScrollLock и зажата N
        log("+++++")
        wait (100)
        state, toggle = GetKeyState(0x91)
        state2 = GetKeyState(0x4e)
    end
    wait (100)
end

Вверх
Levo222
Цитата(cirus @ 11.4.2019, 5:50)

code
Код
--lua
--
end


+

Че-то я сделал,
state, toggle = GetKeyState(0x91)
state2 = GetKeyState(0x4e)
внутри цикла?
снаружи мы ввели переменную, а внутри что сделали?

а дошло вроде,
Вверх
cirus
Цитата
И что означает
state, toggle = GetKeyState(0x91)
state2 = GetKeyState(0x4e)
внутри цикла?
снаружи мы ввели переменную, а внутри что сделали?

Тоже самое, получили состояние клавиши. Надо же проверять изменилось оно или нет.
Цитата
А что если клавишь будет не 1 а несколько?

Нужные клавиши добавить в массив, проверять в цикле.
код
Код
--lua
--Спам(Scroll_lock_on)
do
local back = package.path
package.path = "luaPlugins\\winapi\\?.lua;"..package.path
setfenv(1, require'winapi')
require[[winapi.keyboard]]
package.path = back
end
-- Получаем состояние клавиши:
-- state - нажата/отжата
-- toggle - для лампочек горит/не горит.

local key={0x31, 0x35, 0x43, 0x56, 0x5A, 0x33, 0x52}   -- 1, 5, C, V, Z, 3, R

while 1 do
    local state, toggle = GetKeyState(0x91)
    while toggle do     -- пока нажата ScrollLock
        for i=1, #key do
            local state = GetKeyState(key[i])
            if state then
                log (string.char(key[i]))
                wait (100)
            end
        end
        state, toggle = GetKeyState(0x91)
    end
    wait (100)
end

Вверх
Levo222
Цитата(cirus @ 11.4.2019, 6:35)

Тоже самое, получили состояние клавиши. Надо же проверять изменилось оно или нет.

Нужные клавиши добавить в массив, проверять в цикле.
код
Код
--lua
--Спам(Scroll_lock_on)

end



ии как будет выглядеть нажатие то?
Вверх
cirus
Цитата
как будет выглядеть нажатие то?

Также как вывод в лог.
Вверх
Levo222
Цитата(cirus @ 11.4.2019, 6:55)

Также как вывод в лог.


Понятно, а как будет выглядеть переназначение таких клавиш как
0xA1 - VK_RSHIFT Right SHIFT key
0xA3 - VK_RCONTROL Right CONTROL key
0xA5 - VK_RMENU Right MENU key (не нашел ALT если не ошибаюсь это он и есть?) А если нет, то 0x12 но почему он 1, когда их 2, и как будет определить именно правый Alt?
на обычные клавиши типа
0x58 - X key
0x56 - V key
0x35 - 5 key
чтобы при зажатии 0x58 зажималась 0xA1 и т.д.?
Вверх
cirus
Цитата
чтобы при зажатии 0x58 зажималась 0xA1 и т.д.?

Отдельные условия писать.
Цитата
0xA5 - VK_RMENU Right MENU key (не нашел ALT если не ошибаюсь это он и есть?) А если нет, то 0x12 но почему он 1, когда их 2, и как будет определить именно правый Alt?

0xA4 - левый alt
0xA5 - правый alt
0x12 - любой alt
Вверх
Levo222
Цитата(cirus @ 11.4.2019, 7:26)



Так как будет выглядеть.... проверка нечерного цвета в точке внутри цикла?
вот как мы тут по аналогии сделали внутри цикла проверка


т.е. вот такой скрипт не хочет проверять наличие нечерного цвета в каждом ife
он говорит что там не черный, даже когда там чёрный.
code
Код
--lua
while 1 do
    if  color (10, 560) ~= 0 then
        sendex ("2")
        log ("2")
        wait (10)
    else
        if  color (10, 577) ~= 0 then
            sendex ("1")
            log ("1")
            wait (10)
        else
            if  color (10, 592) ~= 0 then
                sendex ("3")
                log ("3")
                wait (10)
            else
                if  color (10, 609) ~= 0 then
                    sendex ("0")
                    log ("0")
                    wait (10)
                else
                    if  color (10, 628) ~= 0 then
                        sendex ("v")
                        log ("v")
                        wait (10)
                        end
                        end
                        end
                        end
                        end
                        wait (10)
                        end


Если это будет код циклов?
Код
while 1 do
        while color (10, 560) ~= 0 do     -- пока нечерный
        log("2")
        wait (10)
        findcolor([[10, 560 10, 560  1, 1 (0)]]) --????
            end
    wait (100)
end

то чем подтверждать внутри них?
findcoloroм чтоли?
Вверх
cirus
Цитата
он говорит что там не черный

Можно проверить какой там цвет (не забывайте делать привязку):
Код
--lua
log (color (10, 560))
if  color (10, 560) ~= 0 then
    log ("Цвет не чёрный")
else
     log ("Цвет чёрный")
end

Цитата
Если это будет код циклов?

Это что значит?


Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.