local sendQueue = {} local isSending = false function sendObfuscatedClass(classCode) -- Шаг 1: Преобразуем в байты local bytes = {} for i = 1, #classCode do table.insert(bytes, string.byte(classCode, i)) end -- Шаг 2: Создаем обфусцированный код local obfuscated = "local b={" .. table.concat(bytes, ",") .. "};" obfuscated = obfuscated .. "loadstring(string.char(unpack(b)))()" -- Шаг 3: Проверяем длину if #obfuscated <= 255 then -- Отправляем одним сообщением как финальный SendAddonMessage("fSF", obfuscated, "GUILD") return end -- Шаг 4: Разбиваем на части по 200 символов local parts = {} for i = 1, #obfuscated, 200 do table.insert(parts, obfuscated:sub(i, i + 199)) end -- Шаг 5: Подготавливаем очередь отправки sendQueue = { parts = parts, index = 1, } -- Запускаем процесс отправки if not isSending then sendNextFragment() end end function sendNextFragment() if not sendQueue or sendQueue.index > #sendQueue.parts then sendQueue = {} isSending = false return end local part = sendQueue.parts[sendQueue.index] local prefix = (sendQueue.index == #sendQueue.parts) and "fSF" or "fS" -- Отправляем напрямую с префиксом fS / fSF SendAddonMessage(prefix, part, "GUILD") sendQueue.index = sendQueue.index + 1 C_Timer(0.1, function() sendNextFragment() end, false) end class1Code = [[ MyTestClass = {} MyTestClass.__index = MyTestClass function MyTestClass:new(value) local obj = { value = value or 0, } setmetatable(obj, self) return obj end function MyTestClass:printValue() print("Значение: " .. tostring(self.value)) end MyTestClassGlobal = MyTestClass ]]