Help » IMGUI

w3stree

Новичок
Автор темы
6
0
Версия MoonLoader
.026-beta
Приветствую, нуждаюсь в очередной раз в помощи.
Такая ситуация: мне необходимо сделать окно-оверлей на ImGui.
Я его сделал, оно отображается у меня где нужно и т.д
Но проблема в том, что если я кого-то ударю (просто нажму ЛКМ), то выделение пропадёт с интерфейса имгуи, можно ли как то сделать его постоянно активным и при этом возможно ли открывать другие окна?
P.S. Окно должно быть без крестика, возможности перемещения, сворачивания
Прошу помощи, примерного кода хотя-бы
Код:
function imgui.OnDrawFrame()
    if overlay_window_state then
        local nickid = string.format("%s [%d]", nick, id)
        local timestr = string.format("%s", os.date('%d.%m.%Y %H:%M:%S', os.time()))
        local rang = u8"Текст1"
        local frac = u8"Текст2"
        local sw, sh = getScreenResolution() -- получаешь расширение экрана
        imgui.ShowCursor = false
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 1, sh / 1), imgui.Cond.FirstUseEver, imgui.ImVec2(1, 6)) -- задал координаты окну, чтобы окно было посреди экрана
        imgui.SetNextWindowSize(imgui.ImVec2(220, 110), imgui.Cond.FirstUseEver) -- задал размер
        imgui.Begin("Название скрипта", nil, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoBringToFrontOnFocus + imgui.WindowFlags.NoMove)
        imgui.CenterText(nickid, imgui.WindowFlags.ReadOnly)
        imgui.Separator()
        imgui.Text(u8"Текст3: ".. frac, imgui.WindowFlags.ReadOnly)
        imgui.Text(u8"Текст4: ".. rang, imgui.WindowFlags.ReadOnly)
        imgui.Separator()
        imgui.CenterText(timestr, imgui.WindowFlags.ReadOnly)
        imgui.End()
    end
end
 

Nelit

Потрачен
252
39
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот готовый виджет. Если это то что ты хочешь, то используй.

Lua:
local vidget = imgui.ImBool(true)

 if vidget.v then
        imgui.ShowCursor = false
        imgui.SetNextWindowPos(imgui.ImVec2(1, 250), imgui.Cond.Always)
        imgui.Begin(u8'Mafia-Assistant', vidget, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)

        time=(os.date("%H",os.time())..':'..os.date("%M",os.time()))

        imgui.Text("Mafia-Assistant "..version)
        imgui.Separator()
        local result, Myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
        local _, id = sampGetPlayerIdByCharHandle(playerPed)
        if result then
            imgui.Text(u8"Ник - "..sampGetPlayerNickname(id))
            imgui.Text(u8"Время - "..time)
            imgui.Separator()
            imgui.Text(u8"Здоровья - "..sampGetPlayerHealth(Myid))
            imgui.Text(u8"Броня - "..sampGetPlayerArmor(Myid))
        end
        imgui.End()
    end
 

Miron Diamond

Известный
243
159
Вот готовый виджет. Если это то что ты хочешь, то используй.

Lua:
local vidget = imgui.ImBool(true)

if vidget.v then
        imgui.ShowCursor = false
        imgui.SetNextWindowPos(imgui.ImVec2(1, 250), imgui.Cond.Always)
        imgui.Begin(u8'Mafia-Assistant', vidget, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)

        time=(os.date("%H",os.time())..':'..os.date("%M",os.time()))

        imgui.Text("Mafia-Assistant "..version)
        imgui.Separator()
        local result, Myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
        local _, id = sampGetPlayerIdByCharHandle(playerPed)
        if result then
            imgui.Text(u8"Ник - "..sampGetPlayerNickname(id))
            imgui.Text(u8"Время - "..time)
            imgui.Separator()
            imgui.Text(u8"Здоровья - "..sampGetPlayerHealth(Myid))
            imgui.Text(u8"Броня - "..sampGetPlayerArmor(Myid))
        end
        imgui.End()
    end
Mafia Assistant? Cтоп.. Ни понял. 🧐
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,408
2,091
Вот готовый виджет. Если это то что ты хочешь, то используй.

Lua:
local vidget = imgui.ImBool(true)

if vidget.v then
        imgui.ShowCursor = false
        imgui.SetNextWindowPos(imgui.ImVec2(1, 250), imgui.Cond.Always)
        imgui.Begin(u8'Mafia-Assistant', vidget, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoMove + imgui.WindowFlags.NoTitleBar)

        time=(os.date("%H",os.time())..':'..os.date("%M",os.time()))

        imgui.Text("Mafia-Assistant "..version)
        imgui.Separator()
        local result, Myid = sampGetPlayerIdByCharHandle(PLAYER_PED)
        local _, id = sampGetPlayerIdByCharHandle(playerPed)
        if result then
            imgui.Text(u8"Ник - "..sampGetPlayerNickname(id))
            imgui.Text(u8"Время - "..time)
            imgui.Separator()
            imgui.Text(u8"Здоровья - "..sampGetPlayerHealth(Myid))
            imgui.Text(u8"Броня - "..sampGetPlayerArmor(Myid))
        end
        imgui.End()
    end

time = os.date("%H:%M")
 
  • Нравится
Реакции: Nelit