помогите с mimgui

Oki_Bern

Участник
Автор темы
169
6
как сделать чтоб вводя команду любую и после нее любой текст например 1, /text 1, открывалось окно и в нем была строка в который введен текст после команды тобишь 1
 
Решение
Lua:
local imgui = require('mimgui')
local encoding = require('encoding')
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local window = imgui.new.bool()

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('negr', function(arg)
        text = arg
        window[0] = true
    end)
    wait(-1)
end

local frame = imgui.OnFrame(function() return window[0] end,
    function(nigger)
        imgui.Begin('window', window, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize)
        imgui.Text(u8(text))
        imgui.End()
    end
)

Если нужна строка ввода, а не просто текст, то вот
Lua:
local imgui = require('mimgui')
local ffi = require('ffi')
local encoding =...

Hinаta

Известный
783
358
Lua:
local imgui = require('mimgui')
local encoding = require('encoding')
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local window = imgui.new.bool()

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('negr', function(arg)
        text = arg
        window[0] = true
    end)
    wait(-1)
end

local frame = imgui.OnFrame(function() return window[0] end,
    function(nigger)
        imgui.Begin('window', window, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize)
        imgui.Text(u8(text))
        imgui.End()
    end
)

Если нужна строка ввода, а не просто текст, то вот
Lua:
local imgui = require('mimgui')
local ffi = require('ffi')
local encoding = require('encoding')
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local window = imgui.new.bool()
local input = imgui.new.char[512]()

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('negr', function(arg)
        text = arg
        ffi.copy(input, u8(text), ffi.sizeof(input))
        window[0] = true
    end)
    wait(-1)
end

local frame = imgui.OnFrame(function() return window[0] end,
    function(nigger)
        imgui.Begin('window', window, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize)
        imgui.Text(u8(text))
        imgui.InputText('##inputtext', input, ffi.sizeof(input))
        imgui.End()
    end
)
 
Последнее редактирование:
  • Нравится
Реакции: Oki_Bern

Oki_Bern

Участник
Автор темы
169
6

Если нужна строка ввода, а не просто текст, то вот
Lua:
local imgui = require('mimgui')
local ffi = require('ffi')
local encoding = require('encoding')
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local window = imgui.new.bool()
local input = imgui.new.char[512]()

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('negr', function(arg)
        text = arg
        ffi.copy(input, u8(text), ffi.sizeof(input))
        window[0] = true
    end)
    wait(-1)
end

local frame = imgui.OnFrame(function() return window[0] end,
    function(nigger)
        imgui.Begin('window', window, imgui.WindowFlags.NoResize + imgui.WindowFlags.AlwaysAutoResize)
        imgui.Text(u8(text))
        imgui.InputText('##inputtext', input, ffi.sizeof(input))
        imgui.End()
    end
)
вот это нужно как раз, спасибо