Окно imgui с курсором

Mr.Mastire222

Известный
Автор темы
529
259
Версия MoonLoader
.026-beta
Как сделать, на imgui, чтобы при нажатии клавиши P в центре экрана появлялось imgui окно, c кнопками, при нажатии ещё раз K закрывалось.
 
Решение
Lua:
local imgui = require 'imgui'
local key = require 'vkeys'

local main_window_state = imgui.ImBool(false)

function main()
  while true do
    wait(0)
    if wasKeyPressed(key.VK_P) then -- активация по нажатию клавиши X
        main_window_state.v = not main_window_state.v
    end
    imgui.Process = main_window_state.v
  end
end

function imgui.OnDrawFrame()
  if main_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver)


    imgui.Begin('Test script', main_window_state)  
    if imgui.Button('Press me') then
      sampAddChatMessage('Сработало', -1)
    end
    imgui.End()
  end
end

(^O_O^)

Активный
114
27
Lua:
local imgui = require 'imgui'
local key = require 'vkeys'

local main_window_state = imgui.ImBool(false)

function main()
  while true do
    wait(0)
    if wasKeyPressed(key.VK_P) then -- активация по нажатию клавиши X
        main_window_state.v = not main_window_state.v
    end
    imgui.Process = main_window_state.v
  end
end

function imgui.OnDrawFrame()
  if main_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver)


    imgui.Begin('Test script', main_window_state)  
    if imgui.Button('Press me') then
      sampAddChatMessage('Сработало', -1)
    end
    imgui.End()
  end
end
 
Последнее редактирование:
  • Нравится
Реакции: Mr.Mastire222

ARMOR

kjor32 is legend
Модератор
4,843
6,061
Lua:
local imgui = require 'imgui'
local key = require 'vkeys'

local main_window_state = imgui.ImBool(false)

function main()
  while true do
    wait(0)
    if wasKeyPressed(key.VK_P) then -- активация по нажатию клавиши X
        main_window_state.v = not main_window_state.v
    end
    imgui.Process = main_window_state.v
  end
end

function imgui.OnDrawFrame()
  if main_window_state.v then
      ShowCursor = true
    imgui.SetNextWindowSize(imgui.ImVec2(150, 200), imgui.Cond.FirstUseEver)
 
 
    imgui.Begin('Test script', main_window_state)   
    if imgui.Button('Press me') then
      sampAddChatMessage('Сработало', -1)
    end
    imgui.End()
  end
end
А зачем тут ShowCursor = true? При открытии окна курсор должен быть включен по умолчанию