Help imgui

Kaspersss

Участник
Автор темы
32
1
Версия MoonLoader
Другое
парни, у меня есть такой код: imgui.InputTextMultiline(u8 '', text_buffer, imgui.ImVec2(450,250))

как мне считать весь текст, который будет вписан в inputtextmultiline, а после этого если я пропишу команду - этот текст должен как биндом пойти, например:
В inputtextmultiline вводим :
/me поднял руку
/do Рука поднята.
/me опустил руку
/do Рука опущена.
После этого сохраняем все что ввели, и когда я пропишу команду /rp - надо что бы это все отправилось в чат с задержкой 2100. Пример:
sampSendChat('/me поднял руку')
wait(2100)
sampSendChat('/do Рука поднята.')
wait(2100)
sampSendChat('/me опустил руку')
wait(2100)
sampSendChat('/do Рука опущена.')

Заранее спасибо!
 
Решение
Lua:
local imgui, encoding = require('imgui'), require('encoding')
local imguiWindow = imgui.ImBool(false)
encoding.default = 'cp1251'
local u8 = encoding.UTF8
local inputBuff = imgui.ImBuffer(1024)


function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('ah', function()
        imguiWindow.v = not imguiWindow.v
    end)
    sampRegisterChatCommand('rp', function()
        lua_thread.create(function()
            for n in u8:decode(inputBuff.v):gmatch('[^\r\n]+') do
                sampSendChat(n)
                wait(2100)
            end
        end)
    end)
    while true do wait(0)
        imgui.Process = imguiWindow.v and true
    end
end

function imgui.OnDrawFrame()
    if imguiWindow.v then...

sᴀxᴏɴ

саксофон
Всефорумный модератор
791
853
Lua:
local imgui, encoding = require('imgui'), require('encoding')
local imguiWindow = imgui.ImBool(false)
encoding.default = 'cp1251'
local u8 = encoding.UTF8
local inputBuff = imgui.ImBuffer(1024)


function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('ah', function()
        imguiWindow.v = not imguiWindow.v
    end)
    sampRegisterChatCommand('rp', function()
        lua_thread.create(function()
            for n in u8:decode(inputBuff.v):gmatch('[^\r\n]+') do
                sampSendChat(n)
                wait(2100)
            end
        end)
    end)
    while true do wait(0)
        imgui.Process = imguiWindow.v and true
    end
end

function imgui.OnDrawFrame()
    if imguiWindow.v then
        imgui.SetNextWindowSize(imgui.ImVec2(300, 500), imgui.Cond.FirstUseEver)
        imgui.Begin('My window', imguiWindow)
        imgui.Text('Hello world')
        imgui.InputTextMultiline('otigrovki', inputBuff, 1024, imgui.ImVec2(250, 400))
        imgui.End()
    end
end
 
  • Нравится
Реакции: Kaspersss