UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5
Levo222
Пробовал код для нажатия клавишь в таймауте
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-ти клавиш?
Вверх
Fors1k
Таймаут - это пауза после клика?
Вверх
Levo222
Цитата(Fors1k @ 6.7.2019, 19:05)

Таймаут - это пауза после клика?

Да, типо кулдаун нажатия
Вверх
Fors1k
Опиши полностью задачу, что должен делать скрипт.
Вверх
Levo222
Цитата(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

Вверх
cirus
Цитата
local button = {
{"f1",1}, -- таймаут в секундах
{"f2",2},
{"f3",0.5},
}

Лишняя запятая.
Код
local button = {
    {"f1",1},     -- таймаут в секундах
    {"f2",2},
    {"f3",0.5}
}

Вверх
Levo222
Цитата(cirus @ 6.7.2019, 22:32)

Лишняя запятая.
Код
local button = {
    {"f1",1},     -- таймаут в секундах
    {"f2",2},
    {"f3",0.5}
}


а)
Окно пилота почему-то всёравно закрывается, я не могу понять по какой причине. Просто останавливаешь скрипт и оно закрывается
При нажатии на кнопку стоп
Вверх
cirus
Цитата
Окно пилота почему-то всёравно закрывается

Нормально работает.
Вверх
Levo222
Цитата(cirus @ 6.7.2019, 22:59)

Нормально работает.

Может в настройках какие-то клавиши отвечают за закрытие пилота которые и прожимаются там?
Вверх
Levo222
Цитата(Levo222 @ 7.7.2019, 1:52)

Может в настройках какие-то клавиши отвечают за закрытие пилота которые и прожимаются там?

Проблема была в настройках отображения координат курсора, когда стоит галочка почему-то скрипт вылетает вместе с пилотом.
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.