- 619
- 366
- Версия MoonLoader
- .026-beta
Есть подобный код:
по итогу в Combo появляется мусор (знаки вопроса и другие несуществующие символы)
Lua:
local ImGui = require 'mimgui'
local ImNew = ImGui.new
local sizeof = ffi.sizeof
local countof = function(c) return sizeof(c)/sizeof(c[0]) end
local CFG_SBIV_TYPES = {
"Анимация",
"Программно"
}
local ImGuiData = {
iSbivType = ImNew.int(0),
aszSbivTypes = ImNew["const char*"][#CFG_SBIV_TYPES](CFG_SBIV_TYPES)
}
do
local self = {}
self.enabled = ImNew.bool()
self.menu_selected = 1
self.menus = {
{
title = "Для Гетто",
draw = function()
ImGui.Combo("Тип сбива", ImGuiData.iSbivType, ImGuiData.aszSbivTypes, countof(ImGuiData.aszSbivTypes))
end
}
}
-- ниже возможно ненужный код
self.frame = ImGui.OnFrame(
function() return self.enabled[0] end,
function(pl)
local ImIO = ImGui.GetIO()
local ImStyle = ImGui.GetStyle()
ImGui.SetNextWindowPos(ImVec2(ImIO.DisplaySize.x / 2, ImIO.DisplaySize.y / 2), ImGui.Cond.Once, ImVec2(0.5, 0.5))
ImGui.SetNextWindowSize(ImVec2(800, 600), ImGui.Cond.Once)
ImGui.Begin(...)
do
ImGui.PushStyleVarVec2(ImGui.StyleVar.ButtonTextAlign, ImVec2(0.5, 0.05))
ImGui.MoveCursorPos(ImVec2(ImGuiStyles.MenuSelectionFirstButtonOffset, 0))
for i, v in pairs(self.menus) do
if i == self.menu_selected then
ImGui.PushStyleColor(ImGui.Col.Button, ImStyle.Colors[ImGui.Col.ChildBg])
ImGui.PushStyleColor(ImGui.Col.ButtonHovered, ImStyle.Colors[ImGui.Col.ChildBg])
ImGui.PushStyleColor(ImGui.Col.ButtonActive, ImStyle.Colors[ImGui.Col.ChildBg])
else
ImGui.PushStyleColor(ImGui.Col.Button, ImGui.SubVec4(ImStyle.Colors[ImGui.Col.ChildBg], ImVec4(0.03, 0.03, 0.03, 0)))
ImGui.PushStyleColor(ImGui.Col.Button, ImGui.SubVec4(ImStyle.Colors[ImGui.Col.ChildBg], ImVec4(0.03, 0.03, 0.03, 0)))
ImGui.PushStyleColor(ImGui.Col.Button, ImGui.SubVec4(ImStyle.Colors[ImGui.Col.ChildBg], ImVec4(0.03, 0.03, 0.03, 0)))
end
do
local button_width = ImGui.CalcTextSize(v.title).x + (ImStyle.FramePadding.x * 2) + (ImStyle.ItemInnerSpacing.x * 2)
if ImGui.Button(v.title, ImVec2(button_width, ImGuiStyles.MenuSelectionButtonHeight * 2)) then
self.menu_selected = i
end
end
ImGui.SameLine()
ImGui.PopStyleColor(3)
end
ImGui.PopStyleVar()
ImGui.SetCursorPos(ImVec2(ImStyle.WindowPadding.x, ImStyle.WindowPadding.y + ImGuiStyles.MenuSelectionButtonHeight + ImGui.GetTitleBarHeight()))
ImGui.BeginChild("MenuContent", ImGui.MaxSize(), true)
do
if self.menus[self.menu_selected] then
self.menus[self.menu_selected].draw()
end
end
ImGui.EndChild()
end
ImGui.End()
end
)
ImGuiFrames.MainMenu = self
end
по итогу в Combo появляется мусор (знаки вопроса и другие несуществующие символы)