Перестал работать скрипт sfreezer

Nikitaprosto

Новичок
Автор темы
1
0
Версия SA-MP
  1. 0.3.7 (R1)
Раньше всё работало но сейчас перестало
Вот лог:
ЛОГ:
[20:31:27.497890] (system)    Session started.
[20:31:27.497890] (debug)    Module handle: 6CE80000

MoonLoader v.026.4-beta loaded.
Developers: FYP, hnnssy, EvgeN 1137

Copyright (c) 2016, BlastHack Team
https://www.blast.hk/moonloader/

[20:31:27.497890] (info)    Working directory: D:\Games\самп\moonloader
[20:31:27.497890] (debug)    FP Control: 0009001F
[20:31:27.497890] (debug)    Game: GTA SA 1.0.0.0 US
[20:31:27.497890] (system)    Installing pre-game hooks...
[20:31:27.513517] (system)    Hooks installed.
[20:31:31.983166] (debug)    Initializing opcode handler table
[20:31:31.984166] (debug)    package.path = D:\Games\самп\moonloader\lib\?.lua;D:\Games\самп\moonloader\lib\?\init.lua;D:\Games\самп\moonloader\?.lua;D:\Games\самп\moonloader\?\init.lua;.\?.lua;D:\Games\самп\moonloader\lib\?.luac;D:\Games\самп\moonloader\lib\?\init.luac;D:\Games\самп\moonloader\?.luac;D:\Games\самп\moonloader\?\init.luac;.\?.luac
[20:31:31.984166] (debug)    package.cpath = D:\Games\самп\moonloader\lib\?.dll;
[20:31:31.986165] (system)    Loading script 'D:\Games\самп\moonloader\AntiRvanka_3.1.lua'...
[20:31:31.986165] (debug)    New script: 0C4DE94C
[20:31:32.365192] (system)    AntiRvanka_3.1.lua: Loaded successfully.
[20:31:32.366174] (system)    Loading script 'D:\Games\самп\moonloader\AutoReboot.lua'...
[20:31:32.366174] (debug)    New script: 0EF86414
[20:31:32.404188] (system)    ML-AutoReboot: Loaded successfully.
[20:31:32.404188] (system)    Loading script 'D:\Games\самп\moonloader\damager.lua'...
[20:31:32.404188] (debug)    New script: 0EF86ECC
[20:31:32.860184] (system)    damager.lua: Loaded successfully.
[20:31:32.861184] (system)    Loading script 'D:\Games\самп\moonloader\egun.luac'...
[20:31:32.861184] (debug)    New script: 0EF86104
[20:31:32.906174] (system)    egun.luac: Loaded successfully.
[20:31:32.906174] (system)    Loading script 'D:\Games\самп\moonloader\FarmBotArizona(afbot)v0.2.luac'...
[20:31:32.906174] (debug)    New script: 0EF8659C
[20:31:32.936178] (system)    FarmBotArizonaByK0lenval: Loaded successfully.
[20:31:32.936178] (system)    Loading script 'D:\Games\самп\moonloader\imgui_addons.lua'...
[20:31:32.937176] (debug)    New script: 0EF8628C
[20:31:32.965175] (system)    imgui_addons.lua: Loaded successfully.
[20:31:32.965175] (system)    Loading script 'D:\Games\самп\moonloader\Invisible.luac'...
[20:31:32.965175] (debug)    New script: 0EF86724
[20:31:32.999177] (system)    Invisible.luac: Loaded successfully.
[20:31:32.999177] (system)    Loading script 'D:\Games\самп\moonloader\reload_all.lua'...
[20:31:32.999177] (debug)    New script: 0EF868AC
[20:31:33.018312] (system)    ML-ReloadAll: Loaded successfully.
[20:31:33.018312] (system)    Loading script 'D:\Games\самп\moonloader\RTeleportV2.luac'...
[20:31:33.018312] (debug)    New script: 0EF86A34
[20:31:33.141172] (system)    RTeleportV2.luac: Loaded successfully.
[20:31:33.141172] (system)    Loading script 'D:\Games\самп\moonloader\SF Integration.lua'...
[20:31:33.141172] (debug)    New script: 0EF86BBC
[20:31:33.174289] (system)    SF Integration: Loaded successfully.
[20:31:33.174289] (system)    Loading script 'D:\Games\самп\moonloader\sfreezer.lua'...
[20:31:33.174289] (debug)    New script: 0EFC51CC
[20:31:33.568285] (system)    sfreezer.lua: Loaded successfully.
[20:31:33.568285] (system)    Loading script 'D:\Games\самп\moonloader\volent project cracked by saxon.luac'...
[20:31:33.568285] (debug)    New script: 0EFC4A24
[20:31:34.466434] (system)    volent project cracked by saxon.luac: Loaded successfully.
[20:31:34.466434] (system)    Loading script 'D:\Games\самп\moonloader\VRV.luac'...
[20:31:34.466434] (debug)    New script: 0EFC489C
[20:31:34.494425] (system)    VRV.luac: Loaded successfully.
[20:31:57.557618] (system)    Installing post-load hooks...
[20:31:57.557618] (system)    Hooks installed.
[20:31:59.839044] (error)    sfreezer.lua: D:\Games\самп\moonloader\sfreezer.lua:108: attempt to call field 'updateCallbacks' (a nil value)
stack traceback:
    D:\Games\самп\moonloader\sfreezer.lua: in function <D:\Games\самп\moonloader\sfreezer.lua:38>
[20:31:59.841045] (error)    sfreezer.lua: Script died due to an error. (0EFC51CC)
[20:32:24.342243] (system)    Unloading...
[20:32:24.342243] (system)    AntiRvanka_3.1.lua: Script terminated. (0C4DE94C)
[20:32:24.343240] (system)    ML-AutoReboot: Script terminated. (0EF86414)
[20:32:24.343240] (system)    damager.lua: Script terminated. (0EF86ECC)
[20:32:24.345098] (system)    egun.luac: Script terminated. (0EF86104)
[20:32:24.346243] (system)    FarmBotArizonaByK0lenval: Script terminated. (0EF8659C)
[20:32:24.347243] (system)    imgui_addons.lua: Script terminated. (0EF8628C)
[20:32:24.348245] (system)    Invisible.luac: Script terminated. (0EF86724)
[20:32:24.349169] (system)    ML-ReloadAll: Script terminated. (0EF868AC)
[20:32:24.350096] (system)    RTeleportV2.luac: Script terminated. (0EF86A34)
[20:32:24.352096] (system)    SF Integration: Script terminated. (0EF86BBC)
[20:32:24.353117] (system)    volent project cracked by saxon.luac: Script terminated. (0EFC4A24)
[20:32:24.358234] (system)    VRV.luac: Script terminated. (0EFC489C)
[20:32:24.380106] (system)    Session terminated.
Пробовал переустановить moonloader и все библиотеки но ничего.

ЕСЛИ НАДО ТО ВОТ СКРИПТ:
local ev = require('lib.samp.events')
local imgui = require('imgui')
local mb = require('MoonBot')
local encoding = require('encoding')
local socket = require('socket')
local inicfg = require('inicfg')

-- Imgui
local menu = imgui.ImBool(false)
local selectedTab = 1

local state = imgui.ImBool(false)
local logBox = imgui.ImBuffer(10000)
local lines = {}

local nick = imgui.ImBuffer(256)
local password = imgui.ImBuffer(256)
local command = imgui.ImBuffer(256)

-- Other
local hiState = false
local hiTarget = -1
local mass = false
--

-- MoonBot
local botIndex = 0
local canUse = false
local hiTime = 0
local syncTime = 0
--

-- Encoding
encoding.default = 'CP1251'
local u8 = encoding.UTF8
--

function main()
    repeat wait(0) until isSampAvailable()
    nick.v = u8('Unknown')
    password.v = u8('123123')
    command.v = u8('hi')
    loadSettings()
    theme()
    mb.registerIncomingRPC(61)
    -- local bot = mb.add(u8:decode(nick.v))
    -- botIndex = bot.index
    sampRegisterChatCommand('sfr.menu', function()
        menu.v = not menu.v
    end)
    sampRegisterChatCommand('sfr.mass', function()
        if hiState then
            if not mass then
                sendMessage('Сперва выключите обычный /sfr')
            else
                hiState = false
                mass = false
                hiTarget = -1
                sendMessage('Массовый фризер выключен!')
            end
        else
            if canUse then
                if state.v then
                    hiTarget = -1
                    mass = true
                    hiState = true
                    sendMessage('Массовый фризер включен!')
                else
                    sendMessage('Сперва включите бота!')
                end
            else
                sendMessage('Бот еще не зашел в игру!')
            end
        end
    end)
    sampRegisterChatCommand('sfr', function(param)
        if hiState then
            hiState = false
            hiTarget = -1
            sendMessage('Фриз выключен')
        else
            if canUse then
                if not state.v then
                    sendMessage('Сперва включите бота!')
                else
                    if param:match('%d+') then
                        local id = tonumber(param)
                        local _, ped = sampGetCharHandleBySampPlayerId(id)
                        if _ then
                            hiTarget = id
                            hiState = true
                            sendMessage(string.format('Атакуем {FF5656}%s', sampGetPlayerNickname(hiTarget)))
                        else
                            sendMessage('Игрок не найден!')
                        end
                    else
                        sendMessage('Используйте: {FF5656}/sfr [ID цели]')
                    end
                end
            else
                sendMessage('Бот еще не зашел в игру!')
            end
        end
    end)
    while true do
        wait(0)
        imgui.Process = menu.v
        mb.updateCallbacks()
        local x, y, z = getCharCoordinates(PLAYER_PED)
        if state.v and canUse then
            local position = mb.getBotHandleByIndex(botIndex).position
            local x, y, z = getCharCoordinates(PLAYER_PED)
            if getDistanceBetweenCoords3d(x, y, z, position.x, position.y, position.z) <= 500 then
                Draw3DCircle(position.x, position.y, position.z, 0.5, 0xAAFF5656)
            end
            local time = socket.gettime()*1000
            if time - syncTime > 100 then
                syncTime = time
                if hiState then
                    if mass then
                        if hiTarget == -1 then
                            local _, ped = findAllRandomCharsInSphere(x, y, z, 500, true, false)
                            if _ then
                                local _, id = sampGetPlayerIdByCharHandle(ped)
                                if _ and not sampIsPlayerPaused(id) and not sampIsPlayerNpc(id) then
                                    hiTarget = id
                                end
                            end
                        end
                        if hiTarget ~= -1 then
                            local _, ped = sampGetCharHandleBySampPlayerId(hiTarget)
                            if _ then
                                local x, y, z = getCharCoordinates(ped)
                                sendSpectator(x, y, z)
                            else
                                hiTarget = -1
                                sendSpectator(x, y, z)
                            end
                        else
                            sendSpectator(x, y, z)
                        end
                    else
                        local _, ped = sampGetCharHandleBySampPlayerId(hiTarget)
                        if _ then
                            local x, y, z = getCharCoordinates(ped)
                            sendSpectator(x, y, z)
                        else
                            hiState = false
                            sendMessage('Жертва пропала!')
                        end
                    end
                else
                    local x, y, z = getCharCoordinates(PLAYER_PED)
                    sendSpectator(x, y, z)
                end
            end
            if hiState then
                if time - hiTime > 1000 then
                    if mass then
                        if hiTarget ~= -1 then
                            local _, ped = sampGetCharHandleBySampPlayerId(hiTarget)
                            if _ then
                                hiTime = time
                                mb.getBotHandleByIndex(botIndex):sendCommand(string.format('/%s %d', command.v, hiTarget))
                            end
                            hiTarget = -1
                        end
                    else
                        local _, ped = sampGetCharHandleBySampPlayerId(hiTarget)
                        if _ then
                            hiTime = time
                            mb.getBotHandleByIndex(botIndex):sendCommand(string.format('/%s %d', command.v, hiTarget))
                        else
                            hiState = false
                            sendMessage('Жертва пропала!')
                        end
                    end
                end
            end
        end
    end
end

function loadSettings()
    local ini = inicfg.load(nil, 'sfreezer')
    if ini == nil then
        saveSettings()
    else
        nick.v = u8(ini.settings.nick)
        password.v = u8(ini.settings.password)
        command.v = u8(ini.settings.command)
    end
end

function saveSettings()
    inicfg.save({
        settings = {
            nick = u8:decode(nick.v),
            password = u8:decode(password.v),
            command = u8:decode(command.v)
        }
    }, 'sfreezer')
end

function Draw3DCircle(x, y, z, radius, color)
    local screen_x_line_old, screen_y_line_old;

    for rot=0, 360 do
        local rot_temp = math.rad(rot)
        local lineX, lineY, lineZ = radius * math.cos(rot_temp) + x, radius * math.sin(rot_temp) + y, z
        local screen_x_line, screen_y_line = convert3DCoordsToScreen(lineX, lineY, lineZ)
        if screen_x_line ~=nil and screen_x_line_old ~= nil and isPointOnScreen(lineX, lineY, lineZ, 1) then renderDrawLine(screen_x_line, screen_y_line, screen_x_line_old, screen_y_line_old, 3, color) end
        screen_x_line_old, screen_y_line_old = screen_x_line, screen_y_line
    end
end

function onBotIncomingRPC(bot, rpcId, bs)
    if state.v then
        if rpcId == 61 then
            local dialogId = bs:readInt16()
            local style = bs:readInt8()
            local title = bs:readString8()
            local btn1 = bs:readString8()
            local btn2 = bs:readString8()
            if dialogId == 2 then
                if title:find('Регистрация') then
                    lua_thread.create(function()
                        log('Регистрация - Вводим пароль')
                        wait(100)
                        bot:sendDialogResponse(dialogId, 1, 0, u8:decode(password.v))
                    end)
                elseif title:find('Выбор пола') then
                    lua_thread.create(function()
                        log('Регистрация - Выбираем пол')
                        wait(100)
                        bot:sendDialogResponse(dialogId, 1, 0, '')
                        wait(100)
                        bot:sendRequestClass(0)
                        wait(100)
                        -- bot:sendRequestSpawn()
                        bot:sendSpawn()
                        canUse = true
                    end)
                end
            elseif dialogId == 1 then
                lua_thread.create(function()
                    log('Авторизация - вводим пароль')
                    wait(100)
                    bot:sendDialogResponse(dialogId, 1, 0, u8:decode(password.v))
                    wait(100)
                    bot:sendRequestClass(0)
                    wait(100)
                    -- bot:sendRequestSpawn()
                    bot:sendSpawn()
                    canUse = true
                end)
            end
        end
    end
end

function onBotIncomingPacket(bot, packetId, bs)
    if state.v then
        if packetId == 32 or packetId == 33 or packetId == 35 or packetId == 36 then
            canUse = false
            if hiState then
                hiState = false
                sendMessage('Бота отключило, выключаем фризер')
            end
        end
        if packetId == 32 then
            log('Бота отключили от сервера, реконнектимся...')
        end
        if packetId == 33 then
            log('Потеряно соединение с сервером, реконнектимся...')
        end
        if packetId == 35 then
            log('Не можем подключиться к серверу, реконнектимся...')
        end
        if packetId == 36 then
            log('Подключение забанено, реконнектимся...')
        end
        if packetId == 37 then
            log('На сервере стоит пароль, реконнектимся...')
        end
        if packetId == 31 then
            log('На сервере нет свободных слотов, реконнектимся...')
        end
        if packetId == 34 then
            log('Успешно подключились!')
        end
    end
end

function sendSpectator(x, y, z)
    if state.v and canUse then
        local data = mb.getSpectatorData()
        data.position.x = x
        data.position.y = y
        data.position.z = z
        mb.getBotHandleByIndex(botIndex):sendSpectatorData(data)
        mb.getBotHandleByIndex(botIndex).position.x = x
        mb.getBotHandleByIndex(botIndex).position.y = y
        mb.getBotHandleByIndex(botIndex).position.z = z
    end
end

function ev.onSendPickedUpPickup(pickupId)
    if state.v and canUse then
        mb.getBotHandleByIndex(botIndex):sendPickedUpPickup(pickupId)
    end
end

-- function ev.onShowDialog(id, style, title, btn1, btn2, text)
--     sampfuncsLog(string.format('%d - %s', id, title))
-- end

function sendMessage(message)
    sampAddChatMessage(string.format('{FF5656}[Skidrow Freezer]: {FFFFFF}%s', message), -1)
end

function imgui.OnDrawFrame()
    if menu.v then
        local xw, yw = getScreenResolution()
        local size = {500, 300}
        imgui.SetNextWindowSize(imgui.ImVec2(size[1], size[2]), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowPos(imgui.ImVec2(xw / 2 - size[1] / 2, yw / 2 - size[2] / 2), imgui.Cond.FirstUseEver)
        imgui.Begin(u8'Skidrow Freezer', menu, imgui.WindowFlags.NoResize)
        local tabSize = 40
        imgui.BeginChild('##tab', imgui.ImVec2(-1, tabSize), false)
        if imgui.ButtonActivated(selectedTab == 1, u8'Общее', imgui.ImVec2(size[1] / 2.1, tabSize)) then
            selectedTab = 1
        end
        imgui.SameLine()
        if imgui.ButtonActivated(selectedTab == 2, u8'Бот', imgui.ImVec2(size[1] / 2.1, tabSize)) then
            selectedTab = 2
        end
        imgui.EndChild()
        imgui.BeginChild('##options', imgui.ImVec2(-1, -1), false)
        if selectedTab == 1 then
            imgui.SetCursorPosY(10)
            imgui.SetCursorPosX(size[1] / 4 - 10)
            if imgui.Button(u8(state.v and 'Выключить' or 'Включить'), imgui.ImVec2(size[1] / 2, size[2] / 10)) then
                state.v = not state.v
                if state.v then
                    if nick.v == '' or password.v == '' or command.v == '' then
                        state.v = false
                        log('Пожалуйста, укажите все аргументы у бота!')
                    else
                        hiState = false
                        canUse = false
                        log('Подключаем бота...')
                        local ip, port = sampGetCurrentServerAddress()
                        local bot = mb.add(u8:decode(nick.v))
                        bot:setReconnectTime(5000)
                        botIndex = bot.index
                        bot:connect(ip, port)
                    end
                else
                    hiState = false
                    canUse = false
                    mb.remove(botIndex)
                    log('Процесс завершен!')
                end
            end
            imgui.SetCursorPosX(40)
            imgui.InputTextMultiline('##logbox', logBox, imgui.ImVec2(size[1] - 100, size[2] - 140  ), imgui.InputTextFlags.ReadOnly)
        end
        if selectedTab == 2 then
            imgui.SetCursorPosY(50)
            imgui.SetCursorPosX(size[1] / 4 - 20)
            imgui.PushItemWidth(200)
            imgui.InputText('##nick', nick)
            imgui.PopItemWidth()
            imgui.SameLine()
            imgui.Text(u8'Ник бота')
            imgui.SetCursorPosX(size[1] / 4 - 20)
            imgui.PushItemWidth(200)
            imgui.InputText('##password', password)
            imgui.PopItemWidth()
            imgui.SameLine()
            imgui.Text(u8'Пароль бота')
            imgui.SetCursorPosX(size[1] / 4 - 20)
            imgui.PushItemWidth(200)
            imgui.InputText('##command', command)
            imgui.PopItemWidth()
            imgui.SameLine()
            imgui.Text(u8'Команда бота')
        end
        imgui.EndChild()
        imgui.End()
    end
end

function imgui.ButtonActivated(activated, ...)
    if activated then
        imgui.PushStyleColor(imgui.Col.Button, imgui.GetStyle().Colors[imgui.Col.ButtonHovered])
        imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.GetStyle().Colors[imgui.Col.ButtonHovered])
        imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.GetStyle().Colors[imgui.Col.ButtonHovered])

            imgui.Button(...)

        imgui.PopStyleColor()
        imgui.PopStyleColor()
        imgui.PopStyleColor()

    else
        return imgui.Button(...)
    end
end

function log(message)
    if table.getn(lines) >= 10 then
        table.remove(lines, 1)
    end
    local date = os.date('*t')
    table.insert(lines, string.format('[%d:%d:%d] %s', date.hour, date.min, date.sec, message))
    -- table.insert(lines, message)
    logBox.v = ''
    for k, line in pairs(lines) do
        logBox.v = logBox.v .. u8(line) .. '\n'
    end
    logBox.v = logBox.v:sub(1, -2)
end

function onScriptTerminate(script, quitGame)
    if script == thisScript() then
        saveSettings()
        mb.unload()
    end
end

function theme()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    local ImVec2 = imgui.ImVec2

    style.WindowPadding = imgui.ImVec2(8, 8)
    style.WindowRounding = 6
    style.ChildWindowRounding = 5
    style.FramePadding = imgui.ImVec2(5, 3)
    style.FrameRounding = 3.0
    style.ItemSpacing = imgui.ImVec2(5, 4)
    style.ItemInnerSpacing = imgui.ImVec2(4, 4)
    style.IndentSpacing = 21
    style.ScrollbarSize = 10.0
    style.ScrollbarRounding = 13
    style.GrabMinSize = 8
    style.GrabRounding = 1
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
    style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)

    colors[clr.Text]                   = ImVec4(0.95, 0.96, 0.98, 1.00);
    colors[clr.TextDisabled]           = ImVec4(0.29, 0.29, 0.29, 1.00);
    colors[clr.WindowBg]               = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.ChildWindowBg]          = ImVec4(0.12, 0.12, 0.12, 1.00);
    colors[clr.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94);
    colors[clr.Border]                 = ImVec4(0.14, 0.14, 0.14, 1.00);
    colors[clr.BorderShadow]           = ImVec4(1.00, 1.00, 1.00, 0.10);
    colors[clr.FrameBg]                = ImVec4(0.22, 0.22, 0.22, 1.00);
    colors[clr.FrameBgHovered]         = ImVec4(0.18, 0.18, 0.18, 1.00);
    colors[clr.FrameBgActive]          = ImVec4(0.09, 0.12, 0.14, 1.00);
    colors[clr.TitleBg]                = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.TitleBgActive]          = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.TitleBgCollapsed]       = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.MenuBarBg]              = ImVec4(0.20, 0.20, 0.20, 1.00);
    colors[clr.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.39);
    colors[clr.ScrollbarGrab]          = ImVec4(0.36, 0.36, 0.36, 1.00);
    colors[clr.ScrollbarGrabHovered]   = ImVec4(0.18, 0.22, 0.25, 1.00);
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.ComboBg]                = ImVec4(0.24, 0.24, 0.24, 1.00);
    colors[clr.CheckMark]              = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrab]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.SliderGrabActive]       = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.Button]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    -- colors[clr.ButtonHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ButtonActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    -- colors[clr.ButtonActive]           = colors[clr.ButtonHovered];
    colors[clr.ButtonHovered]           = colors[clr.ButtonActive];
    colors[clr.Header]                 = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.HeaderHovered]          = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.HeaderActive]           = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.ResizeGrip]             = ImVec4(1.00, 0.28, 0.28, 1.00);
    colors[clr.ResizeGripHovered]      = ImVec4(1.00, 0.39, 0.39, 1.00);
    colors[clr.ResizeGripActive]       = ImVec4(1.00, 0.19, 0.19, 1.00);
    colors[clr.CloseButton]            = ImVec4(0.40, 0.39, 0.38, 0.16);
    colors[clr.CloseButtonHovered]     = ImVec4(0.40, 0.39, 0.38, 0.39);
    colors[clr.CloseButtonActive]      = ImVec4(0.40, 0.39, 0.38, 1.00);
    colors[clr.PlotLines]              = ImVec4(0.61, 0.61, 0.61, 1.00);
    colors[clr.PlotLinesHovered]       = ImVec4(1.00, 0.43, 0.35, 1.00);
    colors[clr.PlotHistogram]          = ImVec4(1.00, 0.21, 0.21, 1.00);
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 0.18, 0.18, 1.00);
    colors[clr.TextSelectedBg]         = ImVec4(1.00, 0.32, 0.32, 1.00);
    colors[clr.ModalWindowDarkening]   = ImVec4(0.26, 0.26, 0.26, 0.60);
end