Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Script_Lua, -_=_=_=_-
Levo222
сообщение 10.4.2019, 20:45
Сообщение #1


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Нужен скрипт на спамм клавиши по её зажатию в активном окне

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


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

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

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

Вобщем надо так: Если зажата клавиша N и вкл.Scroll_lock он её спамит
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2019, 1:50
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
Если зажата клавиша 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
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 11.4.2019, 1:57
Сообщение #3


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(cirus @ 11.4.2019, 5:50) *

code
Код
--lua
--
end


+

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

а дошло вроде,
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2019, 2:35
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
И что означает
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
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 11.4.2019, 2:44
Сообщение #5


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(cirus @ 11.4.2019, 6:35) *

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

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

end



ии как будет выглядеть нажатие то?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2019, 2:55
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



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

Также как вывод в лог.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 11.4.2019, 2:59
Сообщение #7


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(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 и т.д.?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2019, 3:26
Сообщение #8


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
чтобы при зажатии 0x58 зажималась 0xA1 и т.д.?

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

0xA4 - левый alt
0xA5 - правый alt
0x12 - любой alt
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 11.4.2019, 11:50
Сообщение #9


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(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м чтоли?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2019, 12:26
Сообщение #10


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
он говорит что там не черный

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

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

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

Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 11.4.2019, 12:55
Сообщение #11


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(cirus @ 11.4.2019, 16:26) *

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


Код

: 14811135
(autosaved_10.txt, 0): Цвет не чёрный

Эм, как бы это объяснить. Он берет данные во время привязки. И позже их не обновляет. Т.е. колор не проверяется в режиме реального времени, он завис в том времени где сделана привязка.
или когда запущен скрипт, походу так
+ он странно определяет, чуть сдвинуть окно и он определяет по абсолютным координатам


Цитата(cirus @ 11.4.2019, 16:26) *

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



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

Это значит что на каждую проверку будет свой цикл с перепроверкой внутри него и соответствующим действием
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.3.2024, 11:13
Designed by Nickostyle