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

> Обшибочка, _+_
Levo222
сообщение 6.7.2019, 14:55
Сообщение #1


*****

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



Пробовал код для нажатия клавишь в таймауте
1
Код
--lua
local button = {
    {"f1",1},     -- таймаут в секундах
    {"f2",2},
    {"f3",0.5},
}

for i = 1, #button do
    button[i][3] = os.clock() + button[i][2]
end

local main = function(button)
    for i = 1, #button do
        if button[i][3] < os.clock() then
            send217(button[i][1])
            button[i][3] = os.clock() + button[i][2]
        end
    end
end

while 1 do
    main(button)
end

когда поставил милисекунды т.е. 0.5, 0.6, 0,8 в таймаутах и т.д. скрипт просто закрывал пилот, в чем может быть дело? Как написать для милисекунд
И еще
Как будет выглядеть подобный для 6-ти клавиш?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Fors1k
сообщение 6.7.2019, 16:09
Сообщение #2


*****

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



Опиши полностью задачу, что должен делать скрипт.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 6.7.2019, 18:21
Сообщение #3


*****

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



Цитата(Fors1k @ 6.7.2019, 20:09) *

Опиши полностью задачу, что должен делать скрипт.

В идеале нажимать кнопки с разными интервалами. Одни чаще другие реже. Но по нажатию на определенные ключи должен останавливаться/переходить к() уступая место ручному управлению. Т.е. к примеру жмется автоматически а, Б, С, а - с интервалом 60 мс, Б - 70, с - 80, но если нажать на Т, то T начинает жаться до тех пор пока клавиша нажата.
Те. он есть по сути такой скрипт
Код
--lua
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
    wait (1)
    local state, toggle = GetKeyState(0x91)
    local stateC = GetKeyState(0x43)
    local state5 = GetKeyState(0x35)
    local stateV = GetKeyState(0x56)
    log(tostring(toggle),tostring(state))
    log(tostring(toggle1),tostring(state1))
    if  toggle and state1 then
        wait (1)
        send217 ("1")
    else
        if  toggle and stateC then
            wait (1)
            send217 ("c")
        else
            if  toggle and state5 then
                wait (1)
                send217 ("5")
            else
                if  toggle and stateV then
                    wait (1)
                    send217 ("v")
                else
end
end
end
end

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

Нужно соединить вот это
1
Код
--lua
local button = {
    {"f1",1},     -- таймаут в секундах
    {"f2",2},
    {"f3",0.5}
}

for i = 1, #button do
    button[i][3] = os.clock() + button[i][2]
end

local main = function(button)
    for i = 1, #button do
        if button[i][3] < os.clock() then
            send217(button[i][1])
            button[i][3] = os.clock() + button[i][2]
        end
    end
end

while 1 do
    main(button)
end

И вот это
2
Код
--lua
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
    wait (1)
    local state, toggle = GetKeyState(0x91)
    local stateC = GetKeyState(0x43)
    local state5 = GetKeyState(0x35)
    local stateV = GetKeyState(0x56)
    log(tostring(toggle),tostring(state))
    log(tostring(toggle1),tostring(state1))
    if  toggle and state1 then
        wait (1)
        send217 ("1")
    else
        if  toggle and stateC then
            wait (1)
            send217 ("c")
        else
            if  toggle and state5 then
                wait (1)
                send217 ("5")
            else
                if  toggle and stateV then
                    wait (1)
                    send217 ("v")
                else
end
end
end
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Levo222   Обшибочка   6.7.2019, 14:55
Fors1k   Таймаут - это пауза после клика?   6.7.2019, 15:05
Levo222   Таймаут - это пауза после клика? Да, типо кулдау...   6.7.2019, 15:13
cirus   Лишняя запятая. local button = { {"f1",1...   6.7.2019, 18:32
Levo222   Лишняя запятая. local button = { {"f1",1...   6.7.2019, 18:36
cirus   Нормально работает.   6.7.2019, 18:59
Levo222   Нормально работает. Может в настройках какие-то ...   6.7.2019, 21:52
Levo222   Может в настройках какие-то клавиши отвечают за з...   6.7.2019, 22:58
Levo222   Итак что в данном скрипте означает 2? Если buttonэ...   6.7.2019, 23:12
cirus   Для начала в этом коде разберитесь: --lua local b...   6.7.2019, 23:43
Levo222   button[1][1]=f1, button[1][2]=0.06, button[1][3...   7.7.2019, 0:27
cirus   Примерно так, если я правильно понял что нужно: --...   7.7.2019, 0:37
Levo222   Примерно так, если я правильно понял что нужно: [...   7.7.2019, 0:46
cirus   0x52 в шестнадцатеричной системе это 82 в десятич...   7.7.2019, 2:05
Levo222   [spoiler=код][code]--lua do local back = package...   7.7.2019, 3:01
cirus   Можно попробовать вообще-то. Ничего не изменится,...   7.7.2019, 11:24
Levo222   Можно попробовать вообще-то. Ничего не изменится,...   8.7.2019, 8:41
DarkMaster   Оффициально заявлено разрабами луа, что не лишняя...   8.7.2019, 9:26
Levo222   Оффициально заявлено разрабами луа, что не лишняя...   8.7.2019, 19:07
cirus   Потому что куча ошибок. Для начала сделать чтобы...   9.7.2019, 1:44
Levo222   Для начала сделать чтобы клавиши нажимались, а по...   9.7.2019, 7:18
cirus   Для начала выложить работающий код, который нажим...   9.7.2019, 11:13
Levo222   Для начала выложить работающий код, который нажим...   9.7.2019, 14:48
cirus   Добавить ещё одну функцию, которая будет проверят...   10.7.2019, 1:31
Levo222   Добавить ещё одну функцию, которая будет проверят...   11.7.2019, 18:26
cirus   Разбирайтесь. --lua do local back = package.path p...   12.7.2019, 2:12
Levo222   Разбирайтесь. [spoiler=код][code]--lua do local b...   12.7.2019, 6:59
Levo222   Разбирайтесь. [spoiler=код][code]--lua do local b...   26.7.2019, 8:07
cirus   В луа вместо = используется ==. local mouse_pause...   12.7.2019, 10:54
Levo222   В луа вместо = используется ==. if i == 1 the...   12.7.2019, 18:03
cirus   local mouse1= {1, 2, 4}   26.7.2019, 10:29
Levo222   [code]local mouse1= {1, 2, 4} Нет, не работает ...   26.7.2019, 10:40
Levo222   local mouse1= {1, 2, 4} вобщем не mouse1= {1, 2,...   7.11.2019, 15:55
cirus   Это что?   26.7.2019, 11:05
Levo222   Это что? То же что и это left(mouse_pos(('{...   26.7.2019, 11:42
cirus   Так и что это?   26.7.2019, 11:44
Levo222   Так и что это? Нажать левую кнопку мыши Т.е. {...   26.7.2019, 11:50
cirus   В данном случае никакого.   26.7.2019, 11:53
Levo222   В данном случае никакого. Дак почему средняя то ...   26.7.2019, 11:56


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

 

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