sampev = require 'samp.events'
imgui = require 'mimgui' -- Либо imgui, зависит от твоих DARK FANTASIES
require 'sampfuncs' -- Для стилей диалогов
LastDialogInfo = {
id = 0,
style = 0,
title = '',
button1 = '',
button2 = '',
text = '',
}
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
LastDialogInfo.id = dialogId
LastDialogInfo.style = style
LastDialogInfo.title = title
LastDialogInfo.button1 = button1
LastDialogInfo.button2 = button2
LastDialogInfo.text = text
f_MainFrame.enabled[0] = true
return false -- Что бы не появился оригинальный диалог
end
f_MainFrame = {}
f_MainFrame.enabled = imgui.new.bool()
f_MainFrame.frame = imgui.OnDraw(
function() return f_MainFrame.enabled[0] end,
function(player)
imgui.Begin(LastDialogInfo.title, f_MainFrame.enabled)
-- рисуешь диалог в произвольном стиле, в зависимости от стиля исходного диалога
if LastDialogInfo.style == DIALOG_STYLE_MSGBOX then
imgui.Text(LastDialogInfo.text)
elseif LastDialogInfo.style == --[[ Другой стиль ]] then
-- другая отрисовка
end
imgui.End()
end
)