imgui_button - imgui окно

KenDDD

Участник
Автор темы
15
3
Версия MoonLoader
.026-beta
Привет, хочу сделать чтобы при нажатии кнопки имгуи(функции imgui_button) закрывалась старое окно, и открывалось новое, но при создание имгуи окна и его запуска, просто появляется курсор на экране и больше ничего
Функция где находится кнопка и её действие(OnDrawFrame)
Lua:
function imgui.OnDrawFrame()
        if main_window_state.v then
        imgui.SetNextWindowSize(imgui.ImVec2(1047, 417), imgui.Cond.FirstUseEver)
        imgui.Begin("TicketHelper", main_window_state)
        imgui.Text(u8"Глава 29. Управление транспортным средством в нетрезвом виде.")
        if imgui.Button(u8"29.1 За управление транспортным средством в состоянии алкогольного или наркотического опьянения, штраф в размере | $40.000.", imgui.ImVec2(1067, 30)) then
        sampProcessChatInput(string.format("/ticket %s 40000 29.1 ЕФК", enterArg))
      imgui.End()
        end
    end
P.S если что то не понятно, пишите подробнее распишу
 
Решение
Lua:
require ("lib.moonloader")
local imgui = require ('imgui')
local w, h = getScreenResolution()

local encoding = require ('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8




local main_window_state = imgui.ImBool(false)
local main_window_state2 = imgui.ImBool(false)






function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

        sampRegisterChatCommand('ticket', function()
            main_window_state.v = not main_window_state.v
            if main_window_state2.v then
                main_window_state2.v = false
            end

        end)


    while true do
        wait(0)

        imgui.Process = main_window_state.v or...

P3rsik

Активный
214
32
Lua:
require ("lib.moonloader")
local imgui = require ('imgui')
local w, h = getScreenResolution()

local encoding = require ('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8




local main_window_state = imgui.ImBool(false)
local main_window_state2 = imgui.ImBool(false)






function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

        sampRegisterChatCommand('ticket', function()
            main_window_state.v = not main_window_state.v
            if main_window_state2.v then
                main_window_state2.v = false
            end

        end)


    while true do
        wait(0)

        imgui.Process = main_window_state.v or main_window_state2.v


    end
end


function imgui.OnDrawFrame()
    if main_window_state.v then
        imgui.SetNextWindowPos(imgui.ImVec2(w / 2, h / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(1047, 417), imgui.Cond.FirstUseEver)

        imgui.Begin("TicketHelper", main_window_state)
        imgui.Text(u8"Глава 29. Управление транспортным средством в нетрезвом виде.")

        if imgui.Button(u8"29.1 За управление транспортным средством в состоянии алкогольного или наркотического опьянения, штраф в размере | $40.000.", imgui.ImVec2(1067, 30)) then     
            sampProcessChatInput(string.format("/ticket %s 40000 29.1 ЕФК", enterArg))
            main_window_state.v = false
            main_window_state2.v = true
        end

        imgui.End()
    end

    if main_window_state2.v then
        imgui.SetNextWindowPos(imgui.ImVec2(w / 2, h / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(1047, 417), imgui.Cond.FirstUseEver)

        imgui.Begin("WINDOW2", main_window_state2)

        imgui.Text('ss')

        imgui.End()
    end
end
 
Последнее редактирование:
  • Нравится
Реакции: KenDDD