- 285
- 40
- Версия MoonLoader
- Другое
Пытался реализовать функции сохранения позиции окна mimgui, но если нажать на кнопку в скрипте, где прописано условие сохранения, то скрипт просто крашит. Как исправить проблему?
cannot convert 'struct ImVec2' to 'float'
stack traceback:
[C]: in function 'ImVec2'
Lua:
local inicfg = require 'inicfg'
local ini = inicfg.load({
wighet = {
city = false,
street = false,
kvadrat = false,
channel = false,
hp = false,
armour = false,
ping = false,
time = false,
menu = false,
WindowPosX = 1890,
WindowPosY = 140,
}
}
local flags = imgui.WindowFlags.NoMove + imgui.WindowFlags.NoDecoration + imgui.WindowFlags.AlwaysAutoResize
imgui.OnFrame(function() return Vijets[0] and not isGamePaused() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(ini.wighet.WindowPosX, ini.wighet.WindowPosY), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- стандартная позиция окна, читается с inicfg
imgui.SetNextWindowSize(imgui.ImVec2(360), imgui.Cond.Always)
imgui.Begin('MyWindow', Vijets, flags)
Imgui.Text('TEST')
imgui.End()
end)
if imgui.Button(u8'Изменить местоположение', imgui.ImVec2(350, 40)) then --сама кнопка которая позволяет передвигать и сохранять позицию окна
sampAddChatMessage(tag.. ' Передвигайте окно в любой части экрана. Нажмите повторно чтобы сохранить.', -1)
ini.wighet.WindowPosX, ini.wighet.WindowPosY = imgui.GetWindowPos()
flags = (bit.rshift(flags, 2) == 1) and (flags - imgui.WindowFlags.NoMove) or (flags + imgui.WindowFlags.NoMove)
end
stack traceback:
[C]: in function 'ImVec2'