local sampev = require("lib.samp.events")
local imgui = require("mimgui")
local ffi = require("ffi")
local encoding = require("encoding")
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local sw, sh = getScreenResolution()
local settingsImgui =
{
renderWindowDialog = imgui.new.bool(false),
dialogId = -1,
dialogStyle = -1,
dialogTitle = nil,
dialogButton1 = nil,
dialogButton2 = nil,
dialogText = nil,
dialogInputUserText = imgui.new.char[128]("")
}
local targetDialogTitle = {
"{BFBBBA}{E88813}Репорт",
"{BFBBBA}Покупка предмета"
}
function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
for key, value in ipairs(targetDialogTitle) do
if (value == title) then
settingsImgui.dialogId = dialogId
settingsImgui.dialogStyle = style
settingsImgui.dialogTitle = title:gsub("{.-}", "")
settingsImgui.dialogButton1 = button1
settingsImgui.dialogButton2 = button2
settingsImgui.dialogText = text:gsub("{.-}", "")
imgui.StrCopy(settingsImgui.dialogInputUserText, "")
settingsImgui.renderWindowDialog[0] = true
return false
end
end
settingsImgui.renderWindowDialog[0] = false
end
imgui.OnInitialize(function()
imgui.GetIO().IniFilename = nil
end)
local newFrameSettingsIcons = imgui.OnFrame(
function() return settingsImgui.renderWindowDialog[0] end,
function(player)
imgui.SetNextWindowSize(imgui.ImVec2(600, 500), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(sw/2, sh/2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.Begin(u8(settingsImgui.dialogTitle),settingsImgui.renderWindowDialog)
imgui.Text(u8(settingsImgui.dialogText))
if settingsImgui.dialogStyle == 1 then
imgui.SetNextItemWidth(imgui.GetWindowSize().x - 10)
imgui.InputText("##dialogInputUserText", settingsImgui.dialogInputUserText, ffi.sizeof(settingsImgui.dialogInputUserText))
local text10 = "10"
if imgui.Button(u8(text10), imgui.ImVec2(imgui.GetWindowSize().x/2 - 5 , 20)) then
imgui.StrCopy(settingsImgui.dialogInputUserText, ffi.string(settingsImgui.dialogInputUserText) .. text10)
end
imgui.SameLine()
local textTemp = "temp"
if imgui.Button(textTemp, imgui.ImVec2(imgui.GetWindowSize().x/2 - 5 , 20)) then
imgui.StrCopy(settingsImgui.dialogInputUserText, ffi.string(settingsImgui.dialogInputUserText) .. textTemp)
end
local sizeButtonSend = imgui.ImVec2(70, 20)
imgui.SetCursorPosX((imgui.GetWindowSize().x - sizeButtonSend.x) / 2)
if imgui.Button(u8"Отправить", sizeButtonSend) then
sampSendDialogResponse(settingsImgui.dialogId, 1, nil, ffi.string(settingsImgui.dialogInputUserText))
settingsImgui.renderWindowDialog[0] = false
end
local sizeButtonClose = imgui.ImVec2(60, 20)
imgui.SetCursorPosX((imgui.GetWindowSize().x - sizeButtonClose.x) / 2)
if imgui.Button(u8"Закрыть", sizeButtonClose) then
sampSendDialogResponse(settingsImgui.dialogId, 0, nil, nil)
settingsImgui.renderWindowDialog[0] = false
end
end
imgui.End()
end
)