ну ты бы сам код прикрепил, а не окно краша
stats_window = imgui.OnFrame(function() return stats[0] and isValidMimguiStatus() end,
function(player)
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(600, 300), imgui.Cond.FirstUseEver)
imgui.Begin("stats", Window, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse + imgui.WindowFlags.NoBackground)
local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
local nikname = sampGetPlayerNickname(id)
local size = imgui.GetWindowSize()
do
local dl = imgui.GetWindowDrawList()
local p = imgui.GetCursorScreenPos()
imgui.SetCursorPos(imgui.ImVec2(0, 0))
dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.13, 0.16, 0.2, 0.8)), 0, 1+4)
imgui.SetCursorPos(imgui.ImVec2(4, 45))
local p = imgui.GetCursorScreenPos()
dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.1, 0.13, 0.17, 1.00)), 0, 2+8)
end
imgui.SetCursorPos(imgui.ImVec2(10, 52))
imgui.BeginChild("title", imgui.ImVec2(400, 300), false)
if active[1] ~= 0 then
imgui.TextColoredRGB(u8("Имя: " .. sampGetPlayerNickname(IdStatusUser) .. "[" .. IdStatusUser .. "]"))
imgui.TextColoredRGB(u8("Ранг: " .. rankNamebyId[tonumber(active[3])] .. "[" .. active[3] .. "]"))
imgui.TextColoredRGB(u8("Отметки за день / за неделю: " .. active[1] .. " / " .. active[2]))
imgui.TextColoredRGB(u8("Последняя активность: " .. active[4]))
end
if #infoPlayer > 0 then
imgui.SeparatorFix(390, 160)
imgui.NewLine()
for i, v in ipairs(infoPlayer) do
if #infoPlayer == i then
imgui.TextColoredRGB(u8("Кто: " .. v[1]))
imgui.TextColoredRGB(u8("Действие: " .. v[3]))
end
end
end
imgui.EndChild()
imgui.SetCursorPos(imgui.ImVec2(18, 12))
imgui.PushFont(Font[25])
imgui.TextColoredRGB(u8("Статистика бойца"))
imgui.PopFont()
imgui.SetCursorPos(imgui.ImVec2(548, 10))
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushFont(fa_font)
if imgui.AnimButton("ESC##11") then
stats[0] = false
end
imgui.PopFont()
imgui.PopStyleColor(1)
imgui.End()
end)
это весь код? тебе его случайно не ChatGPT писал?lua:stats_window = imgui.OnFrame(function() return stats[0] and isValidMimguiStatus() end, function(player) imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.SetNextWindowSize(imgui.ImVec2(600, 300), imgui.Cond.FirstUseEver) imgui.Begin("stats", Window, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse + imgui.WindowFlags.NoBackground) local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED) local nikname = sampGetPlayerNickname(id) local size = imgui.GetWindowSize() do local dl = imgui.GetWindowDrawList() local p = imgui.GetCursorScreenPos() imgui.SetCursorPos(imgui.ImVec2(0, 0)) dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.13, 0.16, 0.2, 0.8)), 0, 1+4) imgui.SetCursorPos(imgui.ImVec2(4, 45)) local p = imgui.GetCursorScreenPos() dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.1, 0.13, 0.17, 1.00)), 0, 2+8) end imgui.SetCursorPos(imgui.ImVec2(10, 52)) imgui.BeginChild("title", imgui.ImVec2(400, 300), false) if active[1] ~= 0 then imgui.TextColoredRGB(u8("Имя: " .. sampGetPlayerNickname(IdStatusUser) .. "[" .. IdStatusUser .. "]")) imgui.TextColoredRGB(u8("Ранг: " .. rankNamebyId[tonumber(active[3])] .. "[" .. active[3] .. "]")) imgui.TextColoredRGB(u8("Отметки за день / за неделю: " .. active[1] .. " / " .. active[2])) imgui.TextColoredRGB(u8("Последняя активность: " .. active[4])) end if #infoPlayer > 0 then imgui.SeparatorFix(390, 160) imgui.NewLine() for i, v in ipairs(infoPlayer) do if #infoPlayer == i then imgui.TextColoredRGB(u8("Кто: " .. v[1])) imgui.TextColoredRGB(u8("Действие: " .. v[3])) end end end imgui.EndChild() imgui.SetCursorPos(imgui.ImVec2(18, 12)) imgui.PushFont(Font[25]) imgui.TextColoredRGB(u8("Статистика бойца")) imgui.PopFont() imgui.SetCursorPos(imgui.ImVec2(548, 10)) imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0)) imgui.PushFont(fa_font) if imgui.AnimButton("ESC##11") then stats[0] = false end imgui.PopFont() imgui.PopStyleColor(1) imgui.End() end)
UP: От содержимого окна мало чего меняется, кроме времени до краша, даже запуская чистое окно, всеровно краш
Так мой говнокод еще не обсирали )это весь код? тебе его случайно не ChatGPT писал?
извини, в последнее время много кто кидал его творенияТак мой говнокод еще не обсирали )
Да я видел его творения, он использует несуществующие библиотеки и т д.извини, в последнее время много кто кидал его творения
Ну по-моему это просто фарш. У тебя используется то, что не встроенно в мимгуи и под это надо писать функции. Под те, что есть, у тебя не выделен буфер, не понятно как вызывается это окноДа я видел его творения, он использует несуществующие библиотеки и т д.
Но а вот почему мой код крашит. я вообще беспонятия.
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local renderWindow = imgui.new.bool()
imgui.OnFrame(function() return renderWindow[0] end,
function(player)
imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(245, 280), imgui.Cond.FirstUseEver)
imgui.Begin(u8'Основное', renderWindow, imgui.WindowFlags.NoResize)
imgui.End()
end
)
function main()
sampRegisterChatCommand('cmd', function() renderWindow[0] = not renderWindow[0] end)
wait(-1)
end
stats_window = imgui.OnFrame(function() return stats[0] and isValidMimguiStatus() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(600, 300), imgui.Cond.FirstUseEver)
imgui.Begin("stats", Window, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse + imgui.WindowFlags.NoBackground)
local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
local nikname = sampGetPlayerNickname(id)
local size = imgui.GetWindowSize()
do
local dl = imgui.GetWindowDrawList()
local p = imgui.GetCursorScreenPos()
imgui.SetCursorPos(imgui.ImVec2(0, 0))
dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.13, 0.16, 0.2, 0.8)), 0, 1+4)
imgui.SetCursorPos(imgui.ImVec2(4, 45))
local p = imgui.GetCursorScreenPos()
dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.1, 0.13, 0.17, 1.00)), 0, 2+8)
end
imgui.SetCursorPos(imgui.ImVec2(10, 52))
imgui.BeginChild("title", imgui.ImVec2(400, 300), false)
if active[1] ~= 0 then
imgui.TextColoredRGB((u8"Имя: %s[%d]"):format(sampGetPlayerNickname(IdStatusUser), IdStatusUser))
imgui.TextColoredRGB((u8"Ранг: %s[%s]"):format(rankNamebyId[tonumber(active[3])], active[3]))
imgui.TextColoredRGB((u8"Отметки за день / за неделю: %s / %s"):format(active[1], active[2]))
imgui.TextColoredRGB((u8"Последняя активность: %s"):format(active[4]))
end
if #infoPlayer > 0 then
imgui.SeparatorFix(390, 160)
imgui.NewLine()
for i, v in ipairs(infoPlayer) do
if #infoPlayer == i then
imgui.TextColoredRGB((u8"Кто: %s"):format(v[1]))
imgui.TextColoredRGB((u8"Действие: %s"):format(v[3]))
end
end
end
imgui.EndChild()
imgui.SetCursorPos(imgui.ImVec2(18, 12))
imgui.PushFont(Font[25])
imgui.TextColoredRGB(u8("Статистика бойца"))
imgui.PopFont()
imgui.SetCursorPos(imgui.ImVec2(548, 10))
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushFont(fa_font)
if imgui.AnimButton("ESC##11") then
stats[0] = false
end
imgui.PopFont()
imgui.PopStyleColor(1)
imgui.End()
end)
Таже историяИли попробуй сделать так.
Lua:stats_window = imgui.OnFrame(function() return stats[0] and isValidMimguiStatus() end, function() imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.SetNextWindowSize(imgui.ImVec2(600, 300), imgui.Cond.FirstUseEver) imgui.Begin("stats", Window, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse + imgui.WindowFlags.NoBackground) local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED) local nikname = sampGetPlayerNickname(id) local size = imgui.GetWindowSize() do local dl = imgui.GetWindowDrawList() local p = imgui.GetCursorScreenPos() imgui.SetCursorPos(imgui.ImVec2(0, 0)) dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.13, 0.16, 0.2, 0.8)), 0, 1+4) imgui.SetCursorPos(imgui.ImVec2(4, 45)) local p = imgui.GetCursorScreenPos() dl:AddRectFilled(p, imgui.ImVec2(p.x + size.x, p.y + size.y), imgui.GetColorU32Vec4(imgui.ImVec4(0.1, 0.13, 0.17, 1.00)), 0, 2+8) end imgui.SetCursorPos(imgui.ImVec2(10, 52)) imgui.BeginChild("title", imgui.ImVec2(400, 300), false) if active[1] ~= 0 then imgui.TextColoredRGB((u8"Имя: %s[%d]"):format(sampGetPlayerNickname(IdStatusUser), IdStatusUser)) imgui.TextColoredRGB((u8"Ранг: %s[%s]"):format(rankNamebyId[tonumber(active[3])], active[3])) imgui.TextColoredRGB((u8"Отметки за день / за неделю: %s / %s"):format(active[1], active[2])) imgui.TextColoredRGB((u8"Последняя активность: %s"):format(active[4])) end if #infoPlayer > 0 then imgui.SeparatorFix(390, 160) imgui.NewLine() for i, v in ipairs(infoPlayer) do if #infoPlayer == i then imgui.TextColoredRGB((u8"Кто: %s"):format(v[1])) imgui.TextColoredRGB((u8"Действие: %s"):format(v[3])) end end end imgui.EndChild() imgui.SetCursorPos(imgui.ImVec2(18, 12)) imgui.PushFont(Font[25]) imgui.TextColoredRGB(u8("Статистика бойца")) imgui.PopFont() imgui.SetCursorPos(imgui.ImVec2(548, 10)) imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0)) imgui.PushFont(fa_font) if imgui.AnimButton("ESC##11") then stats[0] = false end imgui.PopFont() imgui.PopStyleColor(1) imgui.End() end)
после открытия любого имгуи окна, через время крашит самп