заменка диалога сампа на мимгуи фрейм

Howau

Участник
Автор темы
45
8
Версия MoonLoader
.026-beta
просвятите, уважаемые, как мне из этого:
Lua:
local report_frame = new.bool(false)
local report_line = new.char[144]()
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 32 then
        report_frame[0] = not report_frame[0]
    end
end
imgui.OnFrame(function() return report_frame[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(600, 600), imgui.Cond.FirstUseEver)
    imgui.Begin(fa.CIRCLE_QUESTION .. u8" Репорт", report_frame, imgui.WindowFlags.AlwaysAutoResize)
    imgui.Text(u8'Вы собираетесь отправить свой вопрос/жалобу администрации')
    imgui.Text(u8'Правила подачи репорта:')
    imgui.Text(u8'1) Не флудите репортами (не оффтопте).')
    imgui.Text(u8'2) Не просите у администрации деньги, админки, машинки (их вам не дадут).')
    imgui.Text(u8'3) Не пишите ложные сообщения.')
    imgui.Text(u8'')
    imgui.Text(u8'За нарушение этих правил вы можете получить наказание от администрации!')
    imgui.PushItemWidth(580)
    imgui.InputTextWithHint(u8'##hui', u8'Введите Ваш вопрос/жалобу', report_line, 144)
    imgui.PopItemWidth()
end)
сделать так, что бы самповский диалог репорта съебался, оставался mimgui фрейм и из его inputtext текст записывался в inputtext диалога?
 
Решение
просвятите, уважаемые, как мне из этого:
Lua:
local report_frame = new.bool(false)
local report_line = new.char[144]()
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 32 then
        report_frame[0] = not report_frame[0]
    end
end
imgui.OnFrame(function() return report_frame[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(600, 600), imgui.Cond.FirstUseEver)
    imgui.Begin(fa.CIRCLE_QUESTION .. u8" Репорт", report_frame, imgui.WindowFlags.AlwaysAutoResize)
    imgui.Text(u8'Вы собираетесь отправить свой вопрос/жалобу администрации')
    imgui.Text(u8'Правила подачи репорта:')
    imgui.Text(u8'1) Не флудите репортами (не оффтопте).')
    imgui.Text(u8'2) Не просите у...

Daniel_Govnocode

Активный
275
39
просвятите, уважаемые, как мне из этого:
Lua:
local report_frame = new.bool(false)
local report_line = new.char[144]()
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 32 then
        report_frame[0] = not report_frame[0]
    end
end
imgui.OnFrame(function() return report_frame[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(600, 600), imgui.Cond.FirstUseEver)
    imgui.Begin(fa.CIRCLE_QUESTION .. u8" Репорт", report_frame, imgui.WindowFlags.AlwaysAutoResize)
    imgui.Text(u8'Вы собираетесь отправить свой вопрос/жалобу администрации')
    imgui.Text(u8'Правила подачи репорта:')
    imgui.Text(u8'1) Не флудите репортами (не оффтопте).')
    imgui.Text(u8'2) Не просите у администрации деньги, админки, машинки (их вам не дадут).')
    imgui.Text(u8'3) Не пишите ложные сообщения.')
    imgui.Text(u8'')
    imgui.Text(u8'За нарушение этих правил вы можете получить наказание от администрации!')
    imgui.PushItemWidth(580)
    imgui.InputTextWithHint(u8'##hui', u8'Введите Ваш вопрос/жалобу', report_line, 144)
    imgui.PopItemWidth()
end)
сделать так, что бы самповский диалог репорта съебался, оставался mimgui фрейм и из его inputtext текст записывался в inputtext диалога?
Добавь закрытие диалога репорта, затем когда через мимгуи окно пишешь репорт используй SendDialogResponse

Lua:
sendDialogResponse(32, 1, nil, u8:decode(ffi.string(report_line)))