[IGS] Ошибки из-за debug.getregistry

Проблема решена. Фикс от рубата помог. Кому надо вот:

local ENABLE_FIX = true          -- Установите в true, чтобы включить фикс
local ENABLE_LOGGING = false     -- Установите в true, чтобы включить логирование вызовов
local logFileName = "debug_getregistry_log.txt"
local metas = {}

local function appendToLogFile(text)
    if not ENABLE_LOGGING then return end

    if not file.Exists("debug_logs", "DATA") then
        file.CreateDir("debug_logs")
    end

    file.Append("debug_logs/" .. logFileName, text .. "\n")
end

local function logCallStack()
    local logText = os.date("%Y-%m-%d %H:%M:%S") .. " - debug.getregistry вызовы стека:\n"

    for level = 3, 10 do
        local info = debug.getinfo(level, "Sl")
        if not info then break end

        local source = info.short_src or info.source
        local currentLine = "    Уровень " .. level .. ": " .. source .. ", строка " .. (info.currentline or "N/A")
        logText = logText .. currentLine .. "\n"
    end

    appendToLogFile(logText)
end

if ENABLE_FIX then
    local original_debug_getregistry = debug.getregistry
    local original_FindMetaTable = FindMetaTable

    local meta = {}
    function meta.__index(self, key)
        return original_FindMetaTable(key)
    end

    function meta.__newindex(self, key, value)
        metas[key] = value
    end

    debug.getregistry = function()
        logCallStack()
        local tbl = {}
        setmetatable(tbl, meta)
        return tbl
    end

    FindMetaTable = function(name)
        local f = original_FindMetaTable(name)
        if f then return f end

        return metas[name]
    end
end

print("Переопределение debug.getregistry и FindMetaTable " .. (ENABLE_FIX and "включено" or "выключено"))
print("Логирование вызовов " .. (ENABLE_LOGGING and "включено" or "выключено") .. " в " .. logFileName)