Краш из-за imgui.ColorEdit4

webb_

Участник
Автор темы
50
4
Версия MoonLoader
.026-beta
lua:
local colorbuffer = {}
function imgui.initBuffers()
    colorbuffer.date = imgui.ImFloat4(color_ini.list.date_R, color_ini.list.date_G, color_ini.list.date_B, color_ini.list.date_A)
    colorbuffer.ping = imgui.ImFloat4(color_ini.list.ping_R, color_ini.list.ping_G, color_ini.list.ping_B, color_ini.list.ping_A)
    colorbuffer.drugscoldown = imgui.ImFloat4(color_ini.list.drugscoldown_R, color_ini.list.drugscoldown_G, color_ini.list.drugscoldown_B, color_ini.list.drugscoldown_A)
    colorbuffer.event = imgui.ImFloat4(color_ini.list.event_R, color_ini.list.event_G, color_ini.list.event_B, color_ini.list.event_A)
    colorbuffer.stream = imgui.ImFloat4(color_ini.list.stream_R, color_ini.list.stream_G, color_ini.list.stream_B, color_ini.list.stream_A)
    colorbuffer.status = imgui.ImFloat4(color_ini.list.status_R, color_ini.list.status_G, color_ini.list.status_B, color_ini.list.status_A)
    colorbuffer.equest.title = imgui.ImFloat4(color_ini.list.equest.title_R, color_ini.list.equest.title_G, color_ini.list.equest.title_B, color_ini.list.equest.title_A)
    colorbuffer.equest.task = imgui.ImFloat4(color_ini.list.equest.task_R, color_ini.list.equest.task_G, color_ini.list.equest.task_B, color_ini.list.equest.task_A)
    colorbuffer.kd = imgui.ImFloat4(color_ini.list.equest.kd_R, color_ini.list.equest.kd_G, color_ini.list.equest.kd_B, color_ini.list.equest.kd_A)
end
-- В imgui.OnDrawFrame()
local text = "Отображение даты и времени на экране"
imgui.Text(text)
if srp_ini.bools.date then
    imgui.SameLine()
    if imgui.ColorEdit4(text, colorbuffer.date) then
        rgba = imgui.ImColor(colorbuffer.date.v[1], colorbuffer.date.v[2], colorbuffer.date.v[3], colorbuffer.date.v[4])
        color_ini.list.date_R, color_ini.list.date_G, color_ini.list.date_B, color_ini.list.date_A = rgba:GetRGBA()
        inicfg.save(color_ini, color)
    end
end
 

Vespan

loneliness
Проверенный
2,105
1,639
blyaaaaaaaaaaaaaaaaa
пиздец у тебя насрано
почему бы не json использовать???
Lua:
json = setmetatable({defPath = getWorkingDirectory()..'/config/',
    save = function(t,path)
        if not path:find('[\\/]') then;  path = json.defPath..path end
        if not doesDirectoryExist(path:match('(.+)/.+%.%S+$')) then createDirectory(path:match('(.+)/.+%.%S+$')) end
        t = (t == nil and {} or (type(t) == 'table' and t or {}))
        local f = io.open(path,'w');    f:write(encodeJson(t) or {});   f:close()
    end,
    load = function(t,path)
        if not path:find('[\\/]') then;  path = json.defPath..path end
        if (not doesFileExist(path) or not doesDirectoryExist(path:match('(.+)/.+%.%S+$'))) then;    json.save(t,path);  end
        local f = io.open(path,'r+');   local T = decodeJson(f:read('*a')); f:close()
        return setmetatable(T,{
            __call = function(t) json.save(t,path) end,
        })
    end
},{
    __call = function(self, n, func, ...)
        if not doesDirectoryExist(getWorkingDirectory()..'/config/') then createDirectory(getWorkingDirectory()..'/config/') end
    end,
})
j = json.load({
    color = {1,1,0,1},
},"PATCH.json")

--
for i = 2,4 do
    imgui[i..'vToTable'] = function(v)--по желанию, можно и {color.v[1],color.v[2],color.v[3],color.v[4]}
        local res = {}
        for I = 1,i do
            table.insert(res,v[I])
        end
        return res
    end
end
--
local color = imgui.ImFloat4(unpack(j.color))
if imgui.ColorEdit4('color edit!',color) then
    j.color = imgui['4vToTable'](color.v)
    j()--save json
end
Это может быть и решение твоей проблемы
вау, ждем новый скрыпт по отображении даты и времени на экране?!?!?!??!?!?!
 
  • Нравится
Реакции: Lance_Sterling и MLycoris