imgui окно пропадёт спустя n времени

shawtyglock.

Активный
Автор темы
186
57
Версия MoonLoader
.026-beta
Мне нужно, что бы как появилось имгуи окно, скрипт ждал около минуты и закрывал сам имгуи окно, возможно ли такое?
 
Решение
Что то на подобии этого?
Lua:
--переменные
local timer = 0
local window = imgui.ImBool(false)

--main
while true do wait(0)
    imgui.Process = window.v
    if wasKeyPressed(VK_X) then
        window.v = not window.v
        timer = (window.v and 0 or os.time()+60)
    end
    
    if window.v then
        if os.time() > timer then
            window.v = false
        end
    end
end

qdIbp

Автор темы
Проверенный
1,386
1,141
Что то на подобии этого?
Lua:
--переменные
local timer = 0
local window = imgui.ImBool(false)

--main
while true do wait(0)
    imgui.Process = window.v
    if wasKeyPressed(VK_X) then
        window.v = not window.v
        timer = (window.v and 0 or os.time()+60)
    end
    
    if window.v then
        if os.time() > timer then
            window.v = false
        end
    end
end
 

shawtyglock.

Активный
Автор темы
186
57
Что то на подобии этого?
Lua:
--переменные
local timer = 0
local window = imgui.ImBool(false)

--main
while true do wait(0)
    imgui.Process = window.v
    if wasKeyPressed(VK_X) then
        window.v = not window.v
        timer = (window.v and 0 or os.time()+60)
    end
 
    if window.v then
        if os.time() > timer then
            window.v = false
        end
    end
end
Ещё вопрос, как сделать так, что бы после нахождения в чате текста, то появлялось имгуи окно?
Нужно найти строку с номером человека и отрисовать в имгуи окне так:
Nick_Name[ID]. Номер: ...
Код ниже не работает, а ещё результатом pnumber является только номер
Lua:
-- onServerMessage
if text:match("^{......}%a+_%a+%[%d+%]:    {......}(%d+)$") then
    pnumber = text:match("^{......}%a+_%a+%[%d+%]:    {......}(%d+)$")
    phone_window_state.v = not phone_window_state.v
end

-- OnDrawFrame
if phone_window_state.v then
    local input = sampGetInputInfoPtr()
    local input = getStructElement(input, 0x8, 4)
    local windowPosX = getStructElement(input, 0x8, 4)
    local windowPosY = getStructElement(input, 0xC, 4)
    imgui.SetNextWindowPos(imgui.ImVec2(windowPosX, windowPosY + 30 + 15), imgui.Cond.FirstUseEver)
    imgui.SetNextWindowSize(imgui.ImVec2(result:len()*10, 30))
    imgui.Begin('Number', phone_window_state, imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoMove)
    imgui.CenterTextColoredRGB(u8(pnumber))
    imgui.End()
end
Ошибок никаких нет, имгуи окно не рисуется
 
Последнее редактирование:

shawtyglock.

Активный
Автор темы
186
57
Попробуй так
Lua:
local pnumber

-- onServerMessage
if string.match(text,"^{......}%a+_%a+%[%d+%]:    {......}(%d+)$") then
    pnumber = string.match(text,"^{......}%a+_%a+%[%d+%]:    {......}(%d+)$")
    phone_window_state.v = true
end
Окно imgui не отрисовывается даже через команду