Dragonic team
Key RequiredUniversal

Dragonic team

Universal ScriptLightboltLightbolt 1.8K views 5.4K executesUpdated Aug 19, 2026
Unrated
00
Lua Script•1841 lines (66835 chars)
--[[
    Dragonic Team | Brookhaven 🏡 | By Lightbolt_dev
    ------------------------------------------------
    Interface (GUI) para Roblox.

    O QUE MUDOU NESTA VERSÃO:
    - As categorias (Geral / Info / Jogador / Troll All) agora ficam na
      TELA INICIAL do menu (assim que você abre a bolinha), e não mais
      dentro da engrenagem.
    - A engrenagem (⚙) agora abre só um painel de APARÊNCIA (cor, fonte,
      som) — bem mais simples e sem misturar com as categorias.
    - Corrigido o bug da "sombra cinza" que aparecia desalinhada ou do
      tamanho errado atrás do menu: agora ela é recalculada automaticamente
      toda vez que o menu muda de tamanho ou posição.
    - Cada categoria agora tem funções reais (não é só um texto de
      placeholder):
        > Geral: qualidade gráfica (FPS) e zoom da câmera (FOV)
        > Jogador: velocidade (WalkSpeed), pulo (JumpPower) e resetar
        > Troll All: correr sozinho, confete na tela e som engraçado
          (tudo isso só mexe no SEU personagem/tela, nunca no de outros
          jogadores sem consentimento)
--]]

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- CONFIGURAÇÕES GERAIS (o painel de aparência mexe nisso aqui)
local Config = {
    ThemeColor = Color3.fromRGB(138, 92, 246), -- cor padrão (roxo)
    Font = Enum.Font.GothamBold,               -- fonte padrão
    SoundEnabled = true,
}

-- INFORMAÇÕES DO DISCORD (aba "Info")
local DiscordInfo = {
    ServerName = "Dragonic Team",
    InviteLink = "https://discord.gg/SEU-LINK-AQUI", -- troque pelo link real do server
    IconImage = "",   -- ex: "rbxassetid://0000000000"
    BannerImage = "", -- banner ainda não criado, deixado em branco de propósito
}

-- INFORMAÇÕES DO CRIADOR / VERSÃO (aba "Info")
local DevInfo = {
    Owner = "Lightbolt_dev",
    Programmer = "Lightbolt_dev",
    LastUpdate = "19/08/2026",
}

-- Troque cada "rbxassetid://..." pelo ID do som que você quiser usar.
local SoundIds = {
    Click   = "rbxassetid://6042053626",
    Open    = "rbxassetid://6895079853",
    Close   = "rbxassetid://6895079853",
    Hover   = "rbxassetid://6042053693",
    Loaded  = "rbxassetid://9126066864",
    Funny   = "rbxassetid://9046192365", -- troque por um som engraçado de sua escolha
}

local Texts = {
    Settings = "Configurações",
    Appearance = "Aparência da Interface",
    Color = "Cor da Interface",
    Font = "Fonte do Texto",
    Sound = "Som dos Botões",
    SoundOn = "Ativado",
    SoundOff = "Desativado",
    Confirm = "Você realmente quer sair do team Dragonic?",
    Yes = "Sim",
    No = "Não",
    Loading = "Carregando interface...",

    TabGeneral = "Geral",
    TabInfo = "Info",
    TabPlayer = "Jogador",
    TabTroll = "Troll All",

    Performance = "Desempenho (FPS)",
    PerformanceHigh = "Qualidade: Alta",
    PerformanceEco = "Qualidade: Economia",
    Camera = "Câmera (Zoom / FOV)",
    CameraReset = "Padrão",

    PlayerStats = "Estatísticas do Jogador",
    WalkSpeed = "Velocidade",
    JumpPower = "Força do Pulo",
    ResetCharacter = "Resetar Personagem",

    TrollSection = "Diversão (só no seu personagem)",
    AutoRunOn = "Auto-Correr: Ligado",
    AutoRunOff = "Auto-Correr: Desligado",
    Confetti = "Soltar Confete",
    FunnySound = "Tocar Som Engraçado",

    Discord = "Discord",
    JoinServer = "Entrar no Server",
    LinkCopied = "Link copiado!",
    NoClipboard = "Copie manualmente",
    Owner = "Dono",
    Programmer = "Programador",
    Platform = "Plataforma",
    Update = "Atualização",
    PlatformMobile = "Mobile",
    PlatformPC = "PC",
    PlatformConsole = "Console",
}

local function T(key)
    return Texts[key]
end

-- SISTEMA DE SOM
local function playSound(soundName, volume)
    if not Config.SoundEnabled and soundName ~= "Loaded" then return end
    local id = SoundIds[soundName]
    if not id then return end

    local sound = Instance.new("Sound")
    sound.SoundId = id
    sound.Volume = volume or 0.5
    sound.Parent = playerGui
    sound:Play()
    sound.Ended:Connect(function()
        sound:Destroy()
    end)
end

-- DETECTA A PLATAFORMA DO JOGADOR (Mobile / PC / Console)
local function getPlatformName()
    if UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled and not UserInputService.MouseEnabled then
        return T("PlatformMobile")
    elseif UserInputService.GamepadEnabled and not UserInputService.KeyboardEnabled and not UserInputService.TouchEnabled then
        return T("PlatformConsole")
    else
        return T("PlatformPC")
    end
end

-- ÍCONES VETORIAIS (feitos só com Frames — sem emoji, sem fonte)
local function createGeneralIcon(parent, size, color)
    local icon = Instance.new("Frame")
    icon.Name = "GeneralIcon"
    icon.Size = UDim2.new(0, size, 0, size)
    icon.BackgroundTransparency = 1
    icon.Parent = parent

    local yPositions = {0.18, 0.5, 0.82}
    local dotX = {0.72, 0.28, 0.6}

    for i = 1, 3 do
        local line = Instance.new("Frame")
        line.Name = "Line" .. i
        line.Size = UDim2.new(1, 0, 0, 2)
        line.Position = UDim2.new(0, 0, yPositions[i], -1)
        line.BackgroundColor3 = color
        line.BackgroundTransparency = 0.35
        line.BorderSizePixel = 0
        line.Parent = icon

        local dot = Instance.new("Frame")
        dot.Name = "Dot" .. i
        dot.Size = UDim2.new(0, 5, 0, 5)
        dot.AnchorPoint = Vector2.new(0.5, 0.5)
        dot.Position = UDim2.new(dotX[i], 0, yPositions[i], 0)
        dot.BackgroundColor3 = color
        dot.BorderSizePixel = 0
        dot.ZIndex = 2
        dot.Parent = icon

        local dotCorner = Instance.new("UICorner")
        dotCorner.CornerRadius = UDim.new(1, 0)
        dotCorner.Parent = dot
    end

    return icon
end

local function createInfoIcon(parent, size, color)
    local icon = Instance.new("Frame")
    icon.Name = "InfoIcon"
    icon.Size = UDim2.new(0, size, 0, size)
    icon.BackgroundTransparency = 1
    icon.Parent = parent

    local circleStroke = Instance.new("UIStroke")
    circleStroke.Name = "CircleStroke"
    circleStroke.Color = color
    circleStroke.Thickness = 1.5
    circleStroke.Transparency = 0.25
    circleStroke.Parent = icon

    local circleCorner = Instance.new("UICorner")
    circleCorner.CornerRadius = UDim.new(1, 0)
    circleCorner.Parent = icon

    local dot = Instance.new("Frame")
    dot.Name = "Dot"
    dot.Size = UDim2.new(0, 3, 0, 3)
    dot.AnchorPoint = Vector2.new(0.5, 0.5)
    dot.Position = UDim2.new(0.5, 0, 0.28, 0)
    dot.BackgroundColor3 = color
    dot.BorderSizePixel = 0
    dot.Parent = icon
    local dotCorner = Instance.new("UICorner")
    dotCorner.CornerRadius = UDim.new(1, 0)
    dotCorner.Parent = dot

    local stem = Instance.new("Frame")
    stem.Name = "Stem"
    stem.Size = UDim2.new(0, 3, 0, size * 0.36)
    stem.AnchorPoint = Vector2.new(0.5, 0)
    stem.Position = UDim2.new(0.5, 0, 0.46, 0)
    stem.BackgroundColor3 = color
    stem.BorderSizePixel = 0
    stem.Parent = icon
    local stemCorner = Instance.new("UICorner")
    stemCorner.CornerRadius = UDim.new(1, 0)
    stemCorner.Parent = stem

    return icon
end

local function createPlayerIcon(parent, size, color)
    local icon = Instance.new("Frame")
    icon.Name = "PlayerIcon"
    icon.Size = UDim2.new(0, size, 0, size)
    icon.BackgroundTransparency = 1
    icon.Parent = parent

    local head = Instance.new("Frame")
    head.Name = "Head"
    head.Size = UDim2.new(0, size * 0.34, 0, size * 0.34)
    head.AnchorPoint = Vector2.new(0.5, 0)
    head.Position = UDim2.new(0.5, 0, 0.06, 0)
    head.BackgroundColor3 = color
    head.BorderSizePixel = 0
    head.Parent = icon

    local headCorner = Instance.new("UICorner")
    headCorner.CornerRadius = UDim.new(1, 0)
    headCorner.Parent = head

    local body = Instance.new("Frame")
    body.Name = "Body"
    body.Size = UDim2.new(0, size * 0.68, 0, size * 0.42)
    body.AnchorPoint = Vector2.new(0.5, 1)
    body.Position = UDim2.new(0.5, 0, 1, 0)
    body.BackgroundColor3 = color
    body.BorderSizePixel = 0
    body.Parent = icon

    local bodyCorner = Instance.new("UICorner")
    bodyCorner.CornerRadius = UDim.new(0, 5)
    bodyCorner.Parent = body

    return icon
end

local function createTrollIcon(parent, size, color)
    local icon = Instance.new("Frame")
    icon.Name = "TrollIcon"
    icon.Size = UDim2.new(0, size, 0, size)
    icon.BackgroundTransparency = 1
    icon.Parent = parent

    local face = Instance.new("Frame")
    face.Name = "Face"
    face.Size = UDim2.new(1, 0, 1, 0)
    face.BackgroundTransparency = 1
    face.Parent = icon

    local faceStroke = Instance.new("UIStroke")
    faceStroke.Color = color
    faceStroke.Thickness = 1.5
    faceStroke.Transparency = 0.2
    faceStroke.Parent = face

    local faceCorner = Instance.new("UICorner")
    faceCorner.CornerRadius = UDim.new(1, 0)
    faceCorner.Parent = face

    local eyeLeft = Instance.new("Frame")
    eyeLeft.Name = "EyeLeft"
    eyeLeft.Size = UDim2.new(0, 3, 0, 3)
    eyeLeft.Position = UDim2.new(0.28, 0, 0.36, 0)
    eyeLeft.BackgroundColor3 = color
    eyeLeft.BorderSizePixel = 0
    eyeLeft.Parent = icon

    local eyeLeftCorner = Instance.new("UICorner")
    eyeLeftCorner.CornerRadius = UDim.new(1, 0)
    eyeLeftCorner.Parent = eyeLeft

    local eyeRight = eyeLeft:Clone()
    eyeRight.Name = "EyeRight"
    eyeRight.Position = UDim2.new(0.66, 0, 0.36, 0)
    eyeRight.Parent = icon

    local smile = Instance.new("Frame")
    smile.Name = "Smile"
    smile.Size = UDim2.new(0, size * 0.42, 0, 3)
    smile.AnchorPoint = Vector2.new(0.5, 0.5)
    smile.Position = UDim2.new(0.5, 0, 0.66, 0)
    smile.BackgroundColor3 = color
    smile.BorderSizePixel = 0
    smile.Parent = icon

    local smileCorner = Instance.new("UICorner")
    smileCorner.CornerRadius = UDim.new(1, 0)
    smileCorner.Parent = smile

    return icon
end

-- TELA DE CARREGAMENTO (dura exatamente 5 segundos)
local function showLoadingScreen(onFinished)
    local loadingGui = Instance.new("ScreenGui")
    loadingGui.Name = "DragonicLoadingGui"
    loadingGui.ResetOnSpawn = false
    loadingGui.IgnoreGuiInset = true
    loadingGui.Parent = playerGui

    local background = Instance.new("Frame")
    background.Size = UDim2.new(1, 0, 1, 0)
    background.BackgroundColor3 = Color3.fromRGB(8, 8, 12)
    background.BackgroundTransparency = 0
    background.Parent = loadingGui

    local title = Instance.new("TextLabel")
    title.Size = UDim2.new(0, 500, 0, 45)
    title.Position = UDim2.new(0.5, -250, 0.42, -60)
    title.BackgroundTransparency = 1
    title.Text = "DRAGONIC TEAM"
    title.TextColor3 = Config.ThemeColor
    title.Font = Enum.Font.GothamBlack
    title.TextSize = 34
    title.Parent = background

    local subtitle = Instance.new("TextLabel")
    subtitle.Size = UDim2.new(0, 500, 0, 20)
    subtitle.Position = UDim2.new(0.5, -250, 0.42, -15)
    subtitle.BackgroundTransparency = 1
    subtitle.Text = "Brookhaven 🏡 | By Lightbolt_dev"
    subtitle.TextColor3 = Color3.fromRGB(170, 170, 178)
    subtitle.Font = Enum.Font.Gotham
    subtitle.TextSize = 14
    subtitle.Parent = background

    local barBackground = Instance.new("Frame")
    barBackground.Size = UDim2.new(0, 320, 0, 8)
    barBackground.Position = UDim2.new(0.5, -160, 0.42, 30)
    barBackground.BackgroundColor3 = Color3.fromRGB(32, 32, 38)
    barBackground.Parent = background

    local barBgCorner = Instance.new("UICorner")
    barBgCorner.CornerRadius = UDim.new(1, 0)
    barBgCorner.Parent = barBackground

    local barFill = Instance.new("Frame")
    barFill.Size = UDim2.new(0, 0, 1, 0)
    barFill.BackgroundColor3 = Config.ThemeColor
    barFill.Parent = barBackground

    local barFillCorner = Instance.new("UICorner")
    barFillCorner.CornerRadius = UDim.new(1, 0)
    barFillCorner.Parent = barFill

    local percentLabel = Instance.new("TextLabel")
    percentLabel.Size = UDim2.new(0, 320, 0, 18)
    percentLabel.Position = UDim2.new(0.5, -160, 0.42, 44)
    percentLabel.BackgroundTransparency = 1
    percentLabel.Text = T("Loading") .. " 0%"
    percentLabel.TextColor3 = Color3.fromRGB(200, 200, 205)
    percentLabel.Font = Enum.Font.Gotham
    percentLabel.TextSize = 12
    percentLabel.Parent = background

    local fillTween = TweenService:Create(
        barFill,
        TweenInfo.new(5, Enum.EasingStyle.Linear),
        {Size = UDim2.new(1, 0, 1, 0)}
    )
    fillTween:Play()

    local rgbRunning = true
    task.spawn(function()
        local hue = 0
        while rgbRunning do
            hue = (hue + 0.01) % 1
            local rgbColor = Color3.fromHSV(hue, 0.85, 1)
            title.TextColor3 = rgbColor
            barFill.BackgroundColor3 = rgbColor
            task.wait(0.03)
        end
    end)

    task.spawn(function()
        local startTime = os.clock()
        while os.clock() - startTime < 5 do
            local pct = math.clamp((os.clock() - startTime) / 5, 0, 1)
            percentLabel.Text = T("Loading") .. " " .. math.floor(pct * 100) .. "%"
            task.wait(0.03)
        end
        percentLabel.Text = T("Loading") .. " 100%"
    end)

    task.wait(5)
    rgbRunning = false
    playSound("Loaded", 0.6)

    local fadeOut = TweenService:Create(background, TweenInfo.new(0.4), {BackgroundTransparency = 1})
    TweenService:Create(title, TweenInfo.new(0.4), {TextTransparency = 1}):Play()
    TweenService:Create(subtitle, TweenInfo.new(0.4), {TextTransparency = 1}):Play()
    TweenService:Create(percentLabel, TweenInfo.new(0.4), {TextTransparency = 1}):Play()
    fadeOut:Play()
    fadeOut.Completed:Wait()

    loadingGui:Destroy()
    onFinished()
end

-- FUNÇÃO PRINCIPAL: monta toda a interface depois do loading
local function buildInterface()

    local fontTargets = {}
    local function trackFont(obj)
        table.insert(fontTargets, obj)
        return obj
    end

    -- 1) SCREENGUI
    local screenGui = Instance.new("ScreenGui")
    screenGui.Name = "DragonicClientUI"
    screenGui.ResetOnSpawn = false
    screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
    screenGui.Parent = playerGui

    -- 2) BOLINHA (botão flutuante lateral)
    local toggleButton = Instance.new("ImageButton")
    toggleButton.Name = "ToggleButton"
    toggleButton.Size = UDim2.new(0, 0, 0, 0)
    toggleButton.Position = UDim2.new(0, 10, 0.5, -31)
    toggleButton.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
    toggleButton.BackgroundTransparency = 0.2
    toggleButton.Image = ""
    toggleButton.AutoButtonColor = false
    toggleButton.Parent = screenGui

    local toggleCorner = Instance.new("UICorner")
    toggleCorner.CornerRadius = UDim.new(1, 0)
    toggleCorner.Parent = toggleButton

    local toggleStroke = Instance.new("UIStroke")
    toggleStroke.Color = Config.ThemeColor
    toggleStroke.Transparency = 0.3
    toggleStroke.Thickness = 2
    toggleStroke.Parent = toggleButton

    TweenService:Create(
        toggleButton,
        TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
        {Size = UDim2.new(0, 62, 0, 62)}
    ):Play()

    task.spawn(function()
        while toggleButton.Parent do
            TweenService:Create(toggleStroke, TweenInfo.new(1.2, Enum.EasingStyle.Sine), {Transparency = 0.8}):Play()
            task.wait(1.2)
            TweenService:Create(toggleStroke, TweenInfo.new(1.2, Enum.EasingStyle.Sine), {Transparency = 0.2}):Play()
            task.wait(1.2)
        end
    end)

    -- 3) JANELA PRINCIPAL (dark, translúcida, com sombra)
    local WINDOW_WIDTH = 460
    local WINDOW_HEIGHT = 380

    -- ---- SOMBRA (corrigida) ----
    -- Antes, a sombra tinha um tamanho e posição fixos, calculados só uma
    -- vez. Isso fazia ela aparecer "grudada" no tamanho final do menu
    -- mesmo enquanto ele ainda estava abrindo/fechando (o "bagulho cinza"
    -- fora do menu). Agora ela é recalculada automaticamente toda vez que
    -- o tamanho ou a posição real do mainFrame mudam — inclusive durante
    -- as animações e o arrastar — então ela sempre acompanha o menu certinho.
    local shadow = Instance.new("Frame")
    shadow.Name = "MainShadow"
    shadow.BackgroundTransparency = 1
    shadow.BorderSizePixel = 0
    shadow.ZIndex = 0
    shadow.Visible = false
    shadow.Parent = screenGui

    local shadowCorner = Instance.new("UICorner")
    shadowCorner.CornerRadius = UDim.new(0, 20)
    shadowCorner.Parent = shadow

    for i = 1, 4 do
        local layer = Instance.new("Frame")
        layer.Name = "ShadowLayer" .. i
        layer.AnchorPoint = Vector2.new(0.5, 0.5)
        layer.Position = UDim2.new(0.5, 0, 0.5, 0)
        layer.Size = UDim2.new(1, -i * 10, 1, -i * 10)
        layer.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
        layer.BackgroundTransparency = 0.65 + (i * 0.06)
        layer.BorderSizePixel = 0
        layer.ZIndex = 0
        layer.Parent = shadow

        local layerCorner = Instance.new("UICorner")
        layerCorner.CornerRadius = UDim.new(0, 16 - i)
        layerCorner.Parent = layer
    end

    local mainFrame = Instance.new("Frame")
    mainFrame.Name = "MainFrame"
    mainFrame.Size = UDim2.new(0, WINDOW_WIDTH, 0, WINDOW_HEIGHT)
    mainFrame.Position = UDim2.new(0.5, -WINDOW_WIDTH / 2, 0.5, -WINDOW_HEIGHT / 2)
    mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
    mainFrame.BackgroundTransparency = 0.15
    mainFrame.Visible = false
    mainFrame.ClipsDescendants = true
    mainFrame.Parent = screenGui

    local SHADOW_MARGIN = 20
    local function syncShadow()
        shadow.Size = UDim2.new(
            0, mainFrame.AbsoluteSize.X + SHADOW_MARGIN * 2,
            0, mainFrame.AbsoluteSize.Y + SHADOW_MARGIN * 2
        )
        shadow.Position = UDim2.new(
            0, mainFrame.AbsolutePosition.X - SHADOW_MARGIN,
            0, mainFrame.AbsolutePosition.Y - SHADOW_MARGIN
        )
    end

    mainFrame:GetPropertyChangedSignal("AbsoluteSize"):Connect(syncShadow)
    mainFrame:GetPropertyChangedSignal("AbsolutePosition"):Connect(syncShadow)

    local mainCorner = Instance.new("UICorner")
    mainCorner.CornerRadius = UDim.new(0, 10)
    mainCorner.Parent = mainFrame

    local mainStroke = Instance.new("UIStroke")
    mainStroke.Color = Config.ThemeColor
    mainStroke.Transparency = 0.6
    mainStroke.Thickness = 1.5
    mainStroke.Parent = mainFrame

    local mainGradient = Instance.new("UIGradient")
    mainGradient.Color = ColorSequence.new({
        ColorSequenceKeypoint.new(0, Color3.fromRGB(28, 28, 34)),
        ColorSequenceKeypoint.new(1, Color3.fromRGB(14, 14, 18)),
    })
    mainGradient.Rotation = 90
    mainGradient.Parent = mainFrame

    -- 4) BARRA DE TÍTULO
    local topBar = Instance.new("Frame")
    topBar.Name = "TopBar"
    topBar.Size = UDim2.new(1, 0, 0, 40)
    topBar.BackgroundColor3 = Color3.fromRGB(12, 12, 16)
    topBar.BackgroundTransparency = 0.1
    topBar.Parent = mainFrame

    local topBarCorner = Instance.new("UICorner")
    topBarCorner.CornerRadius = UDim.new(0, 10)
    topBarCorner.Parent = topBar

    local topBarFix = Instance.new("Frame")
    topBarFix.Size = UDim2.new(1, 0, 0, 10)
    topBarFix.Position = UDim2.new(0, 0, 1, -10)
    topBarFix.BackgroundColor3 = topBar.BackgroundColor3
    topBarFix.BackgroundTransparency = topBar.BackgroundTransparency
    topBarFix.BorderSizePixel = 0
    topBarFix.ZIndex = 0
    topBarFix.Parent = topBar

    local accentLine = Instance.new("Frame")
    accentLine.Name = "AccentLine"
    accentLine.Size = UDim2.new(1, 0, 0, 2)
    accentLine.Position = UDim2.new(0, 0, 1, 0)
    accentLine.BackgroundColor3 = Config.ThemeColor
    accentLine.BorderSizePixel = 0
    accentLine.ZIndex = 3
    accentLine.Parent = topBar

    local titleLabel = trackFont(Instance.new("TextLabel"))
    titleLabel.Name = "TitleLabel"
    titleLabel.Size = UDim2.new(1, -110, 1, 0)
    titleLabel.Position = UDim2.new(0, 15, 0, 0)
    titleLabel.BackgroundTransparency = 1
    titleLabel.Text = "Dragonic Team | Brookhaven 🏡 | By Lightbolt_dev"
    titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    titleLabel.TextXAlignment = Enum.TextXAlignment.Left
    titleLabel.Font = Config.Font
    titleLabel.TextSize = 14
    titleLabel.TextTruncate = Enum.TextTruncate.AtEnd
    titleLabel.Parent = topBar

    local function createTopButton(name, text, xOffset)
        local btn = Instance.new("TextButton")
        btn.Name = name
        btn.Size = UDim2.new(0, 28, 0, 28)
        btn.Position = UDim2.new(1, xOffset, 0.5, -14)
        btn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
        btn.BackgroundTransparency = 0.2
        btn.Text = text
        btn.TextColor3 = Color3.fromRGB(255, 255, 255)
        btn.Font = Enum.Font.GothamBold
        btn.TextSize = 14
        btn.AutoButtonColor = false
        btn.Parent = topBar

        local corner = Instance.new("UICorner")
        corner.CornerRadius = UDim.new(0, 6)
        corner.Parent = btn

        btn.MouseEnter:Connect(function()
            playSound("Hover", 0.25)
            TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(45, 45, 55)}):Play()
        end)
        btn.MouseLeave:Connect(function()
            TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(30, 30, 36)}):Play()
        end)

        return btn
    end

    local closeButton = createTopButton("CloseButton", "X", -35)
    local minimizeButton = createTopButton("MinimizeButton", "-", -70)
    local settingsButton = createTopButton("SettingsButton", "⚙", -105)

    local function createSectionLabel(text, yPos, parent)
        local label = trackFont(Instance.new("TextLabel"))
        label.Size = UDim2.new(1, 0, 0, 16)
        label.Position = UDim2.new(0, 0, 0, yPos)
        label.BackgroundTransparency = 1
        label.Text = text
        label.TextColor3 = Color3.fromRGB(180, 180, 185)
        label.Font = Enum.Font.Gotham
        label.TextSize = 12
        label.TextXAlignment = Enum.TextXAlignment.Left
        label.Parent = parent
        return label
    end

    -- TELA INICIAL (contentFrame) — agora com as categorias
    local contentFrame = Instance.new("Frame")
    contentFrame.Name = "ContentFrame"
    contentFrame.Size = UDim2.new(1, -20, 1, -55)
    contentFrame.Position = UDim2.new(0, 10, 0, 48)
    contentFrame.BackgroundTransparency = 1
    contentFrame.Parent = mainFrame

    local tabBar = Instance.new("Frame")
    tabBar.Name = "TabBar"
    tabBar.Size = UDim2.new(1, 0, 0, 34)
    tabBar.BackgroundTransparency = 1
    tabBar.Parent = contentFrame

    local tabLayout = Instance.new("UIListLayout")
    tabLayout.FillDirection = Enum.FillDirection.Horizontal
    tabLayout.Padding = UDim.new(0, 8)
    tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
    tabLayout.Parent = tabBar

    local tabButtons = {}
    local function createTabButton(nameKey, iconBuilder, layoutOrder)
        local tab = Instance.new("TextButton")
        tab.Name = "Tab_" .. nameKey
        tab.Size = UDim2.new(0, 100, 1, 0)
        tab.BackgroundColor3 = Color3.fromRGB(26, 26, 32)
        tab.BackgroundTransparency = 0.15
        tab.AutoButtonColor = false
        tab.Text = ""
        tab.LayoutOrder = layoutOrder
        tab.Parent = tabBar

        local tabCorner = Instance.new("UICorner")
        tabCorner.CornerRadius = UDim.new(0, 8)
        tabCorner.Parent = tab

        local underline = Instance.new("Frame")
        underline.Name = "Underline"
        underline.Size = UDim2.new(1, -20, 0, 2)
        underline.Position = UDim2.new(0, 10, 1, -3)
        underline.BackgroundColor3 = Config.ThemeColor
        underline.BackgroundTransparency = 1
        underline.BorderSizePixel = 0
        underline.Parent = tab

        local iconHolder = Instance.new("Frame")
        iconHolder.Name = "IconHolder"
        iconHolder.Size = UDim2.new(0, 16, 0, 16)
        iconHolder.Position = UDim2.new(0, 12, 0.5, -8)
        iconHolder.BackgroundTransparency = 1
        iconHolder.Parent = tab

        iconBuilder(iconHolder, 16, Color3.fromRGB(200, 200, 205))

        local label = trackFont(Instance.new("TextLabel"))
        label.Name = "Label"
        label.Size = UDim2.new(1, -38, 1, 0)
        label.Position = UDim2.new(0, 34, 0, 0)
        label.BackgroundTransparency = 1
        label.Text = T(nameKey)
        label.TextColor3 = Color3.fromRGB(200, 200, 205)
        label.Font = Enum.Font.GothamBold
        label.TextSize = 13
        label.TextXAlignment = Enum.TextXAlignment.Left
        label.Parent = tab

        tab.MouseEnter:Connect(function()
            playSound("Hover", 0.2)
        end)

        table.insert(tabButtons, {key = nameKey, button = tab, underline = underline, label = label})

        return tab
    end

    local function createPage(name, canvasHeight)
        local page = Instance.new("ScrollingFrame")
        page.Name = name
        page.Size = UDim2.new(1, 0, 1, -42)
        page.Position = UDim2.new(0, 0, 0, 42)
        page.BackgroundTransparency = 1
        page.BorderSizePixel = 0
        page.ScrollBarThickness = 4
        page.ScrollBarImageColor3 = Config.ThemeColor
        page.CanvasSize = UDim2.new(0, 0, 0, canvasHeight)
        page.Visible = false
        page.Parent = contentFrame
        return page
    end

    local generalPage = createPage("GeneralPage", 220)
    local infoPage = createPage("InfoPage", 380)
    local playerPage = createPage("PlayerPage", 220)
    local trollPage = createPage("TrollPage", 220)

    local generalTab = createTabButton("TabGeneral", createGeneralIcon, 1)
    local infoTab = createTabButton("TabInfo", createInfoIcon, 2)
    local playerTab = createTabButton("TabPlayer", createPlayerIcon, 3)
    local trollTab = createTabButton("TabTroll", createTrollIcon, 4)

    local function selectTab(key)
        generalPage.Visible = (key == "TabGeneral")
        infoPage.Visible = (key == "TabInfo")
        playerPage.Visible = (key == "TabPlayer")
        trollPage.Visible = (key == "TabTroll")

        for _, tabInfo in ipairs(tabButtons) do
            local active = tabInfo.key == key
            tabInfo.underline.BackgroundTransparency = active and 0 or 1
            tabInfo.label.TextColor3 = active and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(200, 200, 205)
            tabInfo.button.BackgroundTransparency = active and 0 or 0.15
        end
    end

    generalTab.MouseButton1Click:Connect(function() playSound("Click"); selectTab("TabGeneral") end)
    infoTab.MouseButton1Click:Connect(function() playSound("Click"); selectTab("TabInfo") end)
    playerTab.MouseButton1Click:Connect(function() playSound("Click"); selectTab("TabPlayer") end)
    trollTab.MouseButton1Click:Connect(function() playSound("Click"); selectTab("TabTroll") end)

    selectTab("TabGeneral")

    -- FUNÇÕES REAIS DE CADA CATEGORIA
    -- (tudo aqui só afeta o SEU personagem/tela — nada disso manda
    -- comandos ou efeitos para outros jogadores)

    -- ---- GERAL: desempenho (FPS) + câmera ----
    createSectionLabel(T("Performance"), 4, generalPage)

    local perfToggle = Instance.new("TextButton")
    perfToggle.Size = UDim2.new(0, 180, 0, 28)
    perfToggle.Position = UDim2.new(0, 0, 0, 24)
    perfToggle.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
    perfToggle.Text = T("PerformanceHigh")
    perfToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
    perfToggle.Font = Enum.Font.GothamBold
    perfToggle.TextSize = 12
    perfToggle.AutoButtonColor = false
    perfToggle.Parent = generalPage

    local perfCorner = Instance.new("UICorner")
    perfCorner.CornerRadius = UDim.new(0, 6)
    perfCorner.Parent = perfToggle

    perfToggle.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
    perfToggle.MouseButton1Click:Connect(function()
        playSound("Click")
        local ok, gameSettings = pcall(function()
            return UserSettings():GetService("UserGameSettings")
        end)
        if not ok then return end

        if gameSettings.SavedQualityLevel == Enum.SavedQualitySetting.QualityLevel1 then
            gameSettings.SavedQualityLevel = Enum.SavedQualitySetting.Automatic
            perfToggle.Text = T("PerformanceHigh")
        else
            gameSettings.SavedQualityLevel = Enum.SavedQualitySetting.QualityLevel1
            perfToggle.Text = T("PerformanceEco")
        end
    end)

    createSectionLabel(T("Camera"), 66, generalPage)

    local function createCameraButton(text, xPos, onClick)
        local btn = Instance.new("TextButton")
        btn.Size = UDim2.new(0, 56, 0, 28)
        btn.Position = UDim2.new(0, xPos, 0, 86)
        btn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
        btn.Text = text
        btn.TextColor3 = Color3.fromRGB(255, 255, 255)
        btn.Font = Enum.Font.GothamBold
        btn.TextSize = 13
        btn.AutoButtonColor = false
        btn.Parent = generalPage

        local corner = Instance.new("UICorner")
        corner.CornerRadius = UDim.new(0, 6)
        corner.Parent = btn

        btn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
        btn.MouseButton1Click:Connect(function()
            playSound("Click")
            onClick()
        end)

        return btn
    end

    local function setFOV(fov)
        local camera = workspace.CurrentCamera
        if camera then
            camera.FieldOfView = math.clamp(fov, 50, 120)
        end
    end

    createCameraButton("-5°", 0, function()
        local camera = workspace.CurrentCamera
        setFOV((camera and camera.FieldOfView or 70) - 5)
    end)
    createCameraButton(T("CameraReset"), 62, function()
        setFOV(70)
    end)
    createCameraButton("+5°", 156, function()
        local camera = workspace.CurrentCamera
        setFOV((camera and camera.FieldOfView or 70) + 5)
    end)

    -- ---- Estado local do jogador (velocidade, pulo, auto-correr) ----
    local PlayerState = {
        WalkSpeed = 16,
        JumpPower = 50,
        AutoRun = false,
    }

    local function getHumanoid()
        local character = player.Character
        return character and character:FindFirstChildOfClass("Humanoid")
    end

    local function applyPlayerStats(humanoid)
        humanoid.WalkSpeed = PlayerState.WalkSpeed
        humanoid.UseJumpPower = true
        humanoid.JumpPower = PlayerState.JumpPower
        if PlayerState.AutoRun then
            humanoid:Move(Vector3.new(0, 0, -1), true)
        end
    end

    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        applyPlayerStats(humanoid)
    end)

    if player.Character then
        local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
        if humanoid then applyPlayerStats(humanoid) end
    end

    -- ---- JOGADOR: velocidade, pulo, resetar ----
    local function createStatRow(labelText, yPos, getValue, onChange, parent)
        local row = Instance.new("Frame")
        row.Size = UDim2.new(1, 0, 0, 30)
        row.Position = UDim2.new(0, 0, 0, yPos)
        row.BackgroundTransparency = 1
        row.Parent = parent

        local label = trackFont(Instance.new("TextLabel"))
        label.Size = UDim2.new(0, 110, 1, 0)
        label.BackgroundTransparency = 1
        label.Text = labelText
        label.TextColor3 = Color3.fromRGB(200, 200, 205)
        label.Font = Enum.Font.Gotham
        label.TextSize = 12
        label.TextXAlignment = Enum.TextXAlignment.Left
        label.Parent = row

        local minusBtn = Instance.new("TextButton")
        minusBtn.Size = UDim2.new(0, 26, 0, 26)
        minusBtn.Position = UDim2.new(0, 116, 0, 2)
        minusBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
        minusBtn.Text = "-"
        minusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        minusBtn.Font = Enum.Font.GothamBold
        minusBtn.TextSize = 16
        minusBtn.AutoButtonColor = false
        minusBtn.Parent = row
        local mc = Instance.new("UICorner"); mc.CornerRadius = UDim.new(0, 6); mc.Parent = minusBtn

        local valueLabel = Instance.new("TextLabel")
        valueLabel.Size = UDim2.new(0, 50, 1, 0)
        valueLabel.Position = UDim2.new(0, 148, 0, 0)
        valueLabel.BackgroundTransparency = 1
        valueLabel.Text = tostring(getValue())
        valueLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
        valueLabel.Font = Enum.Font.GothamBold
        valueLabel.TextSize = 13
        valueLabel.TextXAlignment = Enum.TextXAlignment.Center
        valueLabel.Parent = row

        local plusBtn = Instance.new("TextButton")
        plusBtn.Size = UDim2.new(0, 26, 0, 26)
        plusBtn.Position = UDim2.new(0, 200, 0, 2)
        plusBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
        plusBtn.Text = "+"
        plusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        plusBtn.Font = Enum.Font.GothamBold
        plusBtn.TextSize = 16
        plusBtn.AutoButtonColor = false
        plusBtn.Parent = row
        local pc = Instance.new("UICorner"); pc.CornerRadius = UDim.new(0, 6); pc.Parent = plusBtn

        minusBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
        plusBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)

        minusBtn.MouseButton1Click:Connect(function()
            playSound("Click")
            onChange(-1)
            valueLabel.Text = tostring(getValue())
        end)
        plusBtn.MouseButton1Click:Connect(function()
            playSound("Click")
            onChange(1)
            valueLabel.Text = tostring(getValue())
        end)

        return row
    end

    createSectionLabel(T("PlayerStats"), 4, playerPage)

    createStatRow(T("WalkSpeed"), 24, function() return PlayerState.WalkSpeed end, function(dir)
        PlayerState.WalkSpeed = math.clamp(PlayerState.WalkSpeed + dir * 4, 8, 100)
        local humanoid = getHumanoid()
        if humanoid then humanoid.WalkSpeed = PlayerState.WalkSpeed end
    end, playerPage)

    createStatRow(T("JumpPower"), 60, function() return PlayerState.JumpPower end, function(dir)
        PlayerState.JumpPower = math.clamp(PlayerState.JumpPower + dir * 10, 20, 200)
        local humanoid = getHumanoid()
        if humanoid then
            humanoid.UseJumpPower = true
            humanoid.JumpPower = PlayerState.JumpPower
        end
    end, playerPage)

    local resetBtn = Instance.new("TextButton")
    resetBtn.Size = UDim2.new(0, 180, 0, 30)
    resetBtn.Position = UDim2.new(0, 0, 0, 104)
    resetBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
    resetBtn.Text = T("ResetCharacter")
    resetBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    resetBtn.Font = Enum.Font.GothamBold
    resetBtn.TextSize = 13
    resetBtn.AutoButtonColor = false
    resetBtn.Parent = playerPage

    local resetCorner = Instance.new("UICorner")
    resetCorner.CornerRadius = UDim.new(0, 6)
    resetCorner.Parent = resetBtn

    resetBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
    resetBtn.MouseButton1Click:Connect(function()
        playSound("Click")
        player:LoadCharacter()
    end)

    -- ---- TROLL ALL: só brincadeiras no seu próprio personagem/tela ----
    createSectionLabel(T("TrollSection"), 4, trollPage)

    local autoRunBtn = Instance.new("TextButton")
    autoRunBtn.Size = UDim2.new(0, 200, 0, 30)
    autoRunBtn.Position = UDim2.new(0, 0, 0, 24)
    autoRunBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
    autoRunBtn.Text = T("AutoRunOff")
    autoRunBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    autoRunBtn.Font = Enum.Font.GothamBold
    autoRunBtn.TextSize = 13
    autoRunBtn.AutoButtonColor = false
    autoRunBtn.Parent = trollPage

    local autoRunCorner = Instance.new("UICorner")
    autoRunCorner.CornerRadius = UDim.new(0, 6)
    autoRunCorner.Parent = autoRunBtn

    autoRunBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
    autoRunBtn.MouseButton1Click:Connect(function()
        playSound("Click")
        PlayerState.AutoRun = not PlayerState.AutoRun
        autoRunBtn.Text = PlayerState.AutoRun and T("AutoRunOn") or T("AutoRunOff")

        local humanoid = getHumanoid()
        if humanoid then
            if PlayerState.AutoRun then
                humanoid:Move(Vector3.new(0, 0, -1), true)
            else
                humanoid:Move(Vector3.new(0, 0, 0), true)
            end
        end
    end)

    local function playConfetti()
        local confettiColors = {
            Color3.fromRGB(255, 90, 90),
            Color3.fromRGB(255, 200, 60),
            Color3.fromRGB(90, 180, 255),
            Color3.fromRGB(140, 255, 140),
            Color3.fromRGB(240, 90, 170),
        }

        for i = 1, 30 do
            local piece = Instance.new("Frame")
            piece.Size = UDim2.new(0, math.random(4, 8), 0, math.random(4, 8))
            piece.Position = UDim2.new(math.random(10, 90) / 100, 0, 0, -20)
            piece.BackgroundColor3 = confettiColors[math.random(1, #confettiColors)]
            piece.BorderSizePixel = 0
            piece.ZIndex = 100
            piece.Rotation = math.random(0, 360)
            piece.Parent = screenGui

            local duration = math.random(15, 25) / 10
            local fall = TweenService:Create(
                piece,
                TweenInfo.new(duration, Enum.EasingStyle.Linear),
                {
                    Position = UDim2.new(piece.Position.X.Scale, 0, 1, 20),
                    Rotation = piece.Rotation + math.random(180, 720),
                }
            )
            fall:Play()
            fall.Completed:Connect(function()
                piece:Destroy()
            end)
        end
    end

    local confettiBtn = Instance.new("TextButton")
    confettiBtn.Size = UDim2.new(0, 200, 0, 30)
    confettiBtn.Position = UDim2.new(0, 0, 0, 62)
    confettiBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
    confettiBtn.Text = T("Confetti")
    confettiBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    confettiBtn.Font = Enum.Font.GothamBold
    confettiBtn.TextSize = 13
    confettiBtn.AutoButtonColor = false
    confettiBtn.Parent = trollPage

    local confettiCorner = Instance.new("UICorner")
    confettiCorner.CornerRadius = UDim.new(0, 6)
    confettiCorner.Parent = confettiBtn

    confettiBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
    confettiBtn.MouseButton1Click:Connect(function()
        playSound("Click")
        playConfetti()
    end)

    local funnySoundBtn = Instance.new("TextButton")
    funnySoundBtn.Size = UDim2.new(0, 200, 0, 30)
    funnySoundBtn.Position = UDim2.new(0, 0, 0, 100)
    funnySoundBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
    funnySoundBtn.Text = T("FunnySound")
    funnySoundBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    funnySoundBtn.Font = Enum.Font.GothamBold
    funnySoundBtn.TextSize = 13
    funnySoundBtn.AutoButtonColor = false
    funnySoundBtn.Parent = trollPage

    local funnySoundCorner = Instance.new("UICorner")
    funnySoundCorner.CornerRadius = UDim.new(0, 6)
    funnySoundCorner.Parent = funnySoundBtn

    funnySoundBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
    funnySoundBtn.MouseButton1Click:Connect(function()
        playSound("Funny", 0.6)
    end)

    -- CONTEÚDO DA ABA "INFO"
    local discordCard = Instance.new("Frame")
    discordCard.Name = "DiscordCard"
    discordCard.Size = UDim2.new(1, 0, 0, 130)
    discordCard.Position = UDim2.new(0, 0, 0, 0)
    discordCard.BackgroundColor3 = Color3.fromRGB(26, 26, 32)
    discordCard.BackgroundTransparency = 0.1
    discordCard.ClipsDescendants = true
    discordCard.Parent = infoPage

    local discordCardCorner = Instance.new("UICorner")
    discordCardCorner.CornerRadius = UDim.new(0, 10)
    discordCardCorner.Parent = discordCard

    local discordBanner = Instance.new("ImageLabel")
    discordBanner.Name = "DiscordBanner"
    discordBanner.Size = UDim2.new(1, 0, 0, 60)
    discordBanner.BackgroundColor3 = Color3.fromRGB(38, 38, 46)
    discordBanner.BackgroundTransparency = 0
    discordBanner.Image = DiscordInfo.BannerImage
    discordBanner.ScaleType = Enum.ScaleType.Crop
    discordBanner.Parent = discordCard

    local discordIcon = Instance.new("ImageLabel")
    discordIcon.Name = "DiscordIcon"
    discordIcon.Size = UDim2.new(0, 48, 0, 48)
    discordIcon.Position = UDim2.new(0, 14, 0, 36)
    discordIcon.BackgroundColor3 = Color3.fromRGB(45, 45, 54)
    discordIcon.Image = DiscordInfo.IconImage
    discordIcon.ZIndex = 2
    discordIcon.Parent = discordCard

    local discordIconCorner = Instance.new("UICorner")
    discordIconCorner.CornerRadius = UDim.new(1, 0)
    discordIconCorner.Parent = discordIcon

    local discordIconStroke = Instance.new("UIStroke")
    discordIconStroke.Color = Color3.fromRGB(26, 26, 32)
    discordIconStroke.Thickness = 3
    discordIconStroke.Parent = discordIcon

    local discordNameLabel = trackFont(Instance.new("TextLabel"))
    discordNameLabel.Name = "DiscordName"
    discordNameLabel.Size = UDim2.new(1, -80, 0, 20)
    discordNameLabel.Position = UDim2.new(0, 72, 0, 66)
    discordNameLabel.BackgroundTransparency = 1
    discordNameLabel.Text = DiscordInfo.ServerName
    discordNameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    discordNameLabel.Font = Enum.Font.GothamBold
    discordNameLabel.TextSize = 15
    discordNameLabel.TextXAlignment = Enum.TextXAlignment.Left
    discordNameLabel.Parent = discordCard

    local discordSubLabel = trackFont(Instance.new("TextLabel"))
    discordSubLabel.Name = "DiscordSub"
    discordSubLabel.Size = UDim2.new(1, -80, 0, 16)
    discordSubLabel.Position = UDim2.new(0, 72, 0, 86)
    discordSubLabel.BackgroundTransparency = 1
    discordSubLabel.Text = T("Discord")
    discordSubLabel.TextColor3 = Color3.fromRGB(160, 160, 168)
    discordSubLabel.Font = Enum.Font.Gotham
    discordSubLabel.TextSize = 12
    discordSubLabel.TextXAlignment = Enum.TextXAlignment.Left
    discordSubLabel.Parent = discordCard

    local joinButton = Instance.new("TextButton")
    joinButton.Name = "JoinServerButton"
    joinButton.Size = UDim2.new(1, -24, 0, 30)
    joinButton.Position = UDim2.new(0, 12, 1, -40)
    joinButton.BackgroundColor3 = Config.ThemeColor
    joinButton.Text = T("JoinServer")
    joinButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    joinButton.Font = Enum.Font.GothamBold
    joinButton.TextSize = 13
    joinButton.AutoButtonColor = false
    joinButton.Parent = discordCard

    local joinButtonCorner = Instance.new("UICorner")
    joinButtonCorner.CornerRadius = UDim.new(0, 6)
    joinButtonCorner.Parent = joinButton

    joinButton.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
    joinButton.MouseButton1Click:Connect(function()
        playSound("Click")
        local ok = false
        if typeof(setclipboard) == "function" then
            ok = pcall(setclipboard, DiscordInfo.InviteLink)
        end

        local originalText = T("JoinServer")
        joinButton.Text = ok and T("LinkCopied") or T("NoClipboard")
        task.delay(1.6, function()
            joinButton.Text = originalText
        end)
    end)

    local function createInfoRow(labelKey, valueText, yPos)
        local row = trackFont(Instance.new("TextLabel"))
        row.Size = UDim2.new(1, 0, 0, 20)
        row.Position = UDim2.new(0, 0, 0, yPos)
        row.BackgroundTransparency = 1
        row.RichText = true
        row.Text = "<b>" .. T(labelKey) .. ":</b> " .. valueText
        row.TextColor3 = Color3.fromRGB(210, 210, 215)
        row.Font = Enum.Font.Gotham
        row.TextSize = 13
        row.TextXAlignment = Enum.TextXAlignment.Left
        row.Parent = infoPage
        return row
    end

    createInfoRow("Owner", DevInfo.Owner, 144)
    createInfoRow("Programmer", DevInfo.Programmer, 170)
    createInfoRow("Platform", getPlatformName(), 196)
    createInfoRow("Update", DevInfo.LastUpdate, 222)

    -- PAINEL DE APARÊNCIA (aberto pela engrenagem)
    -- Só cor / fonte / som — as categorias NÃO ficam mais aqui.
    local settingsFrame = Instance.new("ScrollingFrame")
    settingsFrame.Name = "SettingsFrame"
    settingsFrame.Size = UDim2.new(1, -20, 1, -55)
    settingsFrame.Position = UDim2.new(0, 10, 0, 48)
    settingsFrame.BackgroundTransparency = 1
    settingsFrame.BorderSizePixel = 0
    settingsFrame.ScrollBarThickness = 4
    settingsFrame.ScrollBarImageColor3 = Config.ThemeColor
    settingsFrame.CanvasSize = UDim2.new(0, 0, 0, 420)
    settingsFrame.Visible = false
    settingsFrame.Parent = mainFrame

    local settingsTitle = trackFont(Instance.new("TextLabel"))
    settingsTitle.Name = "SettingsTitle"
    settingsTitle.Size = UDim2.new(1, 0, 0, 22)
    settingsTitle.BackgroundTransparency = 1
    settingsTitle.Text = T("Appearance")
    settingsTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
    settingsTitle.Font = Enum.Font.GothamBold
    settingsTitle.TextSize = 16
    settingsTitle.TextXAlignment = Enum.TextXAlignment.Left
    settingsTitle.Parent = settingsFrame

    local colorSectionLabel = createSectionLabel(T("Color"), 30, settingsFrame)

    local themeColors = {
        Color3.fromRGB(138, 92, 246), Color3.fromRGB(220, 50, 50),
        Color3.fromRGB(45, 140, 240), Color3.fromRGB(40, 180, 110),
        Color3.fromRGB(240, 150, 30), Color3.fromRGB(240, 90, 170),
        Color3.fromRGB(250, 220, 40), Color3.fromRGB(30, 210, 210),
        Color3.fromRGB(120, 220, 60), Color3.fromRGB(160, 100, 255),
        Color3.fromRGB(255, 255, 255), Color3.fromRGB(90, 90, 100),
        Color3.fromRGB(200, 30, 90), Color3.fromRGB(10, 80, 200),
        Color3.fromRGB(255, 130, 60), Color3.fromRGB(60, 60, 255),
    }

    local colorGrid = Instance.new("Frame")
    colorGrid.Name = "ColorGrid"
    colorGrid.Size = UDim2.new(1, 0, 0, 60)
    colorGrid.Position = UDim2.new(0, 0, 0, 48)
    colorGrid.BackgroundTransparency = 1
    colorGrid.Parent = settingsFrame

    local colorLayout = Instance.new("UIGridLayout")
    colorLayout.CellSize = UDim2.new(0, 26, 0, 26)
    colorLayout.CellPadding = UDim2.new(0, 6, 0, 6)
    colorLayout.Parent = colorGrid

    local colorButtons = {}

    local function getLuminance(color)
        return (0.299 * color.R + 0.587 * color.G + 0.114 * color.B)
    end

    local function applyTheme(color)
        Config.ThemeColor = color
        toggleStroke.Color = color
        mainStroke.Color = color
        accentLine.BackgroundColor3 = color
        settingsFrame.ScrollBarImageColor3 = color
        generalPage.ScrollBarImageColor3 = color
        infoPage.ScrollBarImageColor3 = color
        playerPage.ScrollBarImageColor3 = color
        trollPage.ScrollBarImageColor3 = color
        joinButton.BackgroundColor3 = color

        for _, tabInfo in ipairs(tabButtons) do
            tabInfo.underline.BackgroundColor3 = color
        end

        for _, swatch in ipairs(colorButtons) do
            local selected = swatch:GetAttribute("SwatchColor") == color:ToHex()
            swatch.SelectedDot.Visible = selected
        end
    end

    for i, color in ipairs(themeColors) do
        local swatch = Instance.new("TextButton")
        swatch.Name = "ColorSwatch" .. i
        swatch.BackgroundColor3 = color
        swatch.Text = ""
        swatch.AutoButtonColor = false
        swatch:SetAttribute("SwatchColor", color:ToHex())
        swatch.LayoutOrder = i
        swatch.Parent = colorGrid

        local swatchCorner = Instance.new("UICorner")
        swatchCorner.CornerRadius = UDim.new(1, 0)
        swatchCorner.Parent = swatch

        local swatchStroke = Instance.new("UIStroke")
        swatchStroke.Name = "UIStroke"
        swatchStroke.Color = Color3.fromRGB(0, 0, 0)
        swatchStroke.Thickness = 1
        swatchStroke.Transparency = 0.55
        swatchStroke.Parent = swatch

        local selectedDot = Instance.new("Frame")
        selectedDot.Name = "SelectedDot"
        selectedDot.Size = UDim2.new(0, 8, 0, 8)
        selectedDot.AnchorPoint = Vector2.new(0.5, 0.5)
        selectedDot.Position = UDim2.new(0.5, 0, 0.5, 0)
        selectedDot.BorderSizePixel = 0
        selectedDot.Visible = false
        selectedDot.ZIndex = 2
        selectedDot.BackgroundColor3 = getLuminance(color) > 0.6
            and Color3.fromRGB(20, 20, 24)
            or Color3.fromRGB(255, 255, 255)
        selectedDot.Parent = swatch

        local selectedDotCorner = Instance.new("UICorner")
        selectedDotCorner.CornerRadius = UDim.new(1, 0)
        selectedDotCorner.Parent = selectedDot

        swatch.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
        swatch.MouseButton1Click:Connect(function()
            playSound("Click")
            applyTheme(color)
        end)

        table.insert(colorButtons, swatch)
    end

    local fontSectionLabel = createSectionLabel(T("Font"), 120, settingsFrame)

    local fontOptions = {
        {name = "Gotham", font = Enum.Font.Gotham},
        {name = "GothamBold", font = Enum.Font.GothamBold},
        {name = "GothamBlack", font = Enum.Font.GothamBlack},
        {name = "GothamMedium", font = Enum.Font.GothamMedium},
        {name = "SourceSans", font = Enum.Font.SourceSans},
        {name = "SourceSansBold", font = Enum.Font.SourceSansBold},
        {name = "SourceSansLight", font = Enum.Font.SourceSansLight},
        {name = "SourceSansItalic", font = Enum.Font.SourceSansItalic},
        {name = "Code", font = Enum.Font.Code},
        {name = "Highway", font = Enum.Font.Highway},
        {name = "Fantasy", font = Enum.Font.Fantasy},
        {name = "Antique", font = Enum.Font.Antique},
        {name = "Cartoon", font = Enum.Font.Cartoon},
        {name = "Bangers", font = Enum.Font.Bangers},
        {name = "Creepster", font = Enum.Font.Creepster},
        {name = "FredokaOne", font = Enum.Font.FredokaOne},
        {name = "PatrickHand", font = Enum.Font.PatrickHand},
        {name = "PermanentMarker", font = Enum.Font.PermanentMarker},
        {name = "Oswald", font = Enum.Font.Oswald},
        {name = "Roboto", font = Enum.Font.Roboto},
        {name = "RobotoMono", font = Enum.Font.RobotoMono},
        {name = "Sarpanch", font = Enum.Font.Sarpanch},
    }

    local fontGrid = Instance.new("Frame")
    fontGrid.Name = "FontGrid"
    fontGrid.Size = UDim2.new(1, 0, 0, 190)
    fontGrid.Position = UDim2.new(0, 0, 0, 140)
    fontGrid.BackgroundTransparency = 1
    fontGrid.Parent = settingsFrame

    local fontLayout = Instance.new("UIGridLayout")
    fontLayout.CellSize = UDim2.new(0, 88, 0, 26)
    fontLayout.CellPadding = UDim2.new(0, 6, 0, 6)
    fontLayout.Parent = fontGrid

    local fontButtons = {}

    local function applyFont(font)
        Config.Font = font
        for _, obj in ipairs(fontTargets) do
            obj.Font = font
        end
    end

    for i, option in ipairs(fontOptions) do
        local fontBtn = Instance.new("TextButton")
        fontBtn.Name = "FontOption" .. i
        fontBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
        fontBtn.Text = option.name
        fontBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        fontBtn.Font = option.font
        fontBtn.TextSize = 11
        fontBtn.TextTruncate = Enum.TextTruncate.AtEnd
        fontBtn.AutoButtonColor = false
        fontBtn.LayoutOrder = i
        fontBtn.Parent = fontGrid

        local fontCorner = Instance.new("UICorner")
        fontCorner.CornerRadius = UDim.new(0, 6)
        fontCorner.Parent = fontBtn

        local fontStroke = Instance.new("UIStroke")
        fontStroke.Name = "UIStroke"
        fontStroke.Color = Config.ThemeColor
        fontStroke.Thickness = 1.5
        fontStroke.Transparency = 1
        fontStroke.Parent = fontBtn

        fontBtn.MouseEnter:Connect(function() playSound("Hover", 0.2) end)
        fontBtn.MouseButton1Click:Connect(function()
            playSound("Click")
            applyFont(option.font)
            for _, b in ipairs(fontButtons) do
                b.UIStroke.Transparency = 1
            end
            fontStroke.Transparency = 0
        end)

        table.insert(fontButtons, fontBtn)
    end

    local soundSectionLabel = createSectionLabel(T("Sound"), 345, settingsFrame)

    local soundToggleBtn = Instance.new("TextButton")
    soundToggleBtn.Name = "SoundToggle"
    soundToggleBtn.Size = UDim2.new(0, 110, 0, 26)
    soundToggleBtn.Position = UDim2.new(0, 0, 0, 365)
    soundToggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
    soundToggleBtn.Text = Config.SoundEnabled and T("SoundOn") or T("SoundOff")
    soundToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    soundToggleBtn.Font = Enum.Font.GothamBold
    soundToggleBtn.TextSize = 12
    soundToggleBtn.AutoButtonColor = false
    soundToggleBtn.Parent = settingsFrame

    local soundToggleCorner = Instance.new("UICorner")
    soundToggleCorner.CornerRadius = UDim.new(0, 6)
    soundToggleCorner.Parent = soundToggleBtn

    soundToggleBtn.MouseButton1Click:Connect(function()
        Config.SoundEnabled = not Config.SoundEnabled
        soundToggleBtn.Text = Config.SoundEnabled and T("SoundOn") or T("SoundOff")
        playSound("Click")
    end)

    -- OVERLAY DE CONFIRMAÇÃO (aparece ao clicar no X)
    local confirmOverlay = Instance.new("Frame")
    confirmOverlay.Name = "ConfirmOverlay"
    confirmOverlay.Size = UDim2.new(1, 0, 1, 0)
    confirmOverlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    confirmOverlay.BackgroundTransparency = 1
    confirmOverlay.Visible = false
    confirmOverlay.ZIndex = 50
    confirmOverlay.Parent = mainFrame

    local confirmCorner = Instance.new("UICorner")
    confirmCorner.CornerRadius = UDim.new(0, 10)
    confirmCorner.Parent = confirmOverlay

    local confirmText = Instance.new("TextLabel")
    confirmText.Name = "ConfirmText"
    confirmText.Size = UDim2.new(1, -40, 0, 50)
    confirmText.Position = UDim2.new(0, 20, 0.35, 0)
    confirmText.BackgroundTransparency = 1
    confirmText.Text = T("Confirm")
    confirmText.TextWrapped = true
    confirmText.TextColor3 = Color3.fromRGB(255, 255, 255)
    confirmText.Font = Enum.Font.GothamBold
    confirmText.TextSize = 16
    confirmText.ZIndex = 51
    confirmText.Parent = confirmOverlay

    local yesButton = Instance.new("TextButton")
    yesButton.Name = "YesButton"
    yesButton.Size = UDim2.new(0, 90, 0, 32)
    yesButton.Position = UDim2.new(0.5, -100, 0.6, 0)
    yesButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40)
    yesButton.Text = T("Yes")
    yesButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    yesButton.Font = Enum.Font.GothamBold
    yesButton.TextSize = 14
    yesButton.AutoButtonColor = false
    yesButton.ZIndex = 51
    yesButton.Parent = confirmOverlay

    local yesCorner = Instance.new("UICorner")
    yesCorner.CornerRadius = UDim.new(0, 6)
    yesCorner.Parent = yesButton

    local noButton = Instance.new("TextButton")
    noButton.Name = "NoButton"
    noButton.Size = UDim2.new(0, 90, 0, 32)
    noButton.Position = UDim2.new(0.5, 10, 0.6, 0)
    noButton.BackgroundColor3 = Color3.fromRGB(45, 45, 52)
    noButton.Text = T("No")
    noButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    noButton.Font = Enum.Font.GothamBold
    noButton.TextSize = 14
    noButton.AutoButtonColor = false
    noButton.ZIndex = 51
    noButton.Parent = confirmOverlay

    local noCorner = Instance.new("UICorner")
    noCorner.CornerRadius = UDim.new(0, 6)
    noCorner.Parent = noButton

    -- 5) ANIMAÇÕES DE ABRIR / FECHAR / MINIMIZAR
    local isOpen = false
    local isMinimized = false

    local openSize = UDim2.new(0, WINDOW_WIDTH, 0, WINDOW_HEIGHT)
    local closedSize = UDim2.new(0, WINDOW_WIDTH, 0, 0)
    local minimizedSize = UDim2.new(0, WINDOW_WIDTH, 0, 40)

    local function playFireworks(originPosition)
        local colors = {
            Color3.fromRGB(255, 90, 90), Color3.fromRGB(255, 200, 60),
            Color3.fromRGB(90, 180, 255), Color3.fromRGB(140, 255, 140),
            Config.ThemeColor,
        }

        for i = 1, 14 do
            local particle = Instance.new("Frame")
            particle.Size = UDim2.new(0, 6, 0, 6)
            particle.Position = originPosition
            particle.BackgroundColor3 = colors[math.random(1, #colors)]
            particle.BorderSizePixel = 0
            particle.ZIndex = 100
            particle.Parent = screenGui

            local pCorner = Instance.new("UICorner")
            pCorner.CornerRadius = UDim.new(1, 0)
            pCorner.Parent = particle

            local angle = math.random(0, 360)
            local distance = math.random(60, 140)
            local radians = math.rad(angle)
            local offsetX = math.cos(radians) * distance
            local offsetY = math.sin(radians) * distance

            local tween = TweenService:Create(
                particle,
                TweenInfo.new(0.6, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
                {
                    Position = UDim2.new(
                        originPosition.X.Scale, originPosition.X.Offset + offsetX,
                        originPosition.Y.Scale, originPosition.Y.Offset + offsetY
                    ),
                    BackgroundTransparency = 1,
                    Size = UDim2.new(0, 2, 0, 2),
                }
            )
            tween:Play()
            tween.Completed:Connect(function()
                particle:Destroy()
            end)
        end
    end

    local function openMenu()
        mainFrame.Visible = true
        mainFrame.Size = closedSize
        shadow.Visible = true
        syncShadow()
        TweenService:Create(
            mainFrame,
            TweenInfo.new(0.35, Enum.EasingStyle.Quint, Enum.EasingDirection.Out),
            {Size = openSize}
        ):Play()

        playSound("Open")
        playFireworks(toggleButton.Position)
        isOpen = true
    end

    local function closeMenu()
        local tween = TweenService:Create(
            mainFrame,
            TweenInfo.new(0.25, Enum.EasingStyle.Quint, Enum.EasingDirection.In),
            {Size = closedSize}
        )
        playSound("Close")
        tween:Play()
        tween.Completed:Wait()
        mainFrame.Visible = false
        shadow.Visible = false
        isOpen = false
    end

    local function toggleMinimize()
        isMinimized = not isMinimized
        local targetSize = isMinimized and minimizedSize or openSize

        TweenService:Create(
            mainFrame,
            TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out),
            {Size = targetSize}
        ):Play()

        if isMinimized then
            settingsFrame.Visible = false
            contentFrame.Visible = false
        else
            contentFrame.Visible = true
        end
    end

    local toggleWasDragged = false

    toggleButton.MouseButton1Click:Connect(function()
        if toggleWasDragged then
            toggleWasDragged = false
            return
        end

        playSound("Click")
        if isOpen then
            closeMenu()
        else
            openMenu()
        end
    end)

    settingsButton.MouseButton1Click:Connect(function()
        playSound("Click")
        settingsFrame.Visible = not settingsFrame.Visible
        contentFrame.Visible = not settingsFrame.Visible
    end)

    minimizeButton.MouseButton1Click:Connect(function()
        playSound("Click")
        toggleMinimize()
    end)

    local function showConfirm()
        confirmOverlay.Visible = true
        TweenService:Create(confirmOverlay, TweenInfo.new(0.2), {BackgroundTransparency = 0.15}):Play()
    end

    local function hideConfirm()
        local tween = TweenService:Create(confirmOverlay, TweenInfo.new(0.2), {BackgroundTransparency = 1})
        tween:Play()
        tween.Completed:Connect(function()
            confirmOverlay.Visible = false
        end)
    end

    closeButton.MouseButton1Click:Connect(function()
        playSound("Click")
        showConfirm()
    end)

    noButton.MouseButton1Click:Connect(function()
        playSound("Click")
        hideConfirm()
    end)

    yesButton.MouseButton1Click:Connect(function()
        playSound("Click")
        hideConfirm()
        closeMenu()

        local shrinkTween = TweenService:Create(
            toggleButton,
            TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.In),
            {Size = UDim2.new(0, 0, 0, 0)}
        )
        shrinkTween:Play()
        shrinkTween.Completed:Connect(function()
            screenGui:Destroy()
            shadow:Destroy()
        end)
    end)

    -- 6A) SEGURAR A BOLINHA POR 3s -> MOVER A BOLINHA
    local HOLD_TIME_BALL = 3

    toggleButton.InputBegan:Connect(function(input)
        if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then
            return
        end

        local held = true
        local dragging = false
        local startTime = os.clock()
        local dragStart = input.Position
        local startPos = toggleButton.Position

        task.spawn(function()
            while held do
                if os.clock() - startTime >= HOLD_TIME_BALL then
                    dragging = true
                    toggleWasDragged = true
                    break
                end
                task.wait(0.05)
            end
        end)

        local moveConn
        moveConn = UserInputService.InputChanged:Connect(function(moveInput)
            if not dragging then return end
            if moveInput.UserInputType == Enum.UserInputType.MouseMovement or moveInput.UserInputType == Enum.UserInputType.Touch then
                local delta = moveInput.Position - dragStart
                toggleButton.Position = UDim2.new(
                    startPos.X.Scale, startPos.X.Offset + delta.X,
                    startPos.Y.Scale, startPos.Y.Offset + delta.Y
                )
            end
        end)

        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                held = false
                dragging = false
                if moveConn then
                    moveConn:Disconnect()
                end
            end
        end)
    end)

    -- 6B) DRAG DO MENU (a sombra se ajusta sozinha via syncShadow)
    local function startInstantDrag(triggerObject, targetFrame)
        triggerObject.InputBegan:Connect(function(input)
            if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then
                return
            end

            local dragStart = input.Position
            local startPos = targetFrame.Position
            local dragging = true

            local moveConn
            moveConn = UserInputService.InputChanged:Connect(function(moveInput)
                if not dragging then return end
                if moveInput.UserInputType == Enum.UserInputType.MouseMovement or moveInput.UserInputType == Enum.UserInputType.Touch then
                    local delta = moveInput.Position - dragStart
                    targetFrame.Position = UDim2.new(
                        startPos.X.Scale, startPos.X.Offset + delta.X,
                        startPos.Y.Scale, startPos.Y.Offset + delta.Y
                    )
                end
            end)

            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                    if moveConn then
                        moveConn:Disconnect()
                    end
                end
            end)
        end)
    end

    local function startHoldDrag(triggerObject, targetFrame, holdTime)
        triggerObject.InputBegan:Connect(function(input)
            if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then
                return
            end

            local held = true
            local dragging = false
            local startTime = os.clock()
            local dragStart = input.Position
            local startPos = targetFrame.Position

            task.spawn(function()
                while held do
                    if os.clock() - startTime >= holdTime then
                        dragging = true
                        break
                    end
                    task.wait(0.05)
                end
            end)

            local moveConn
            moveConn = UserInputService.InputChanged:Connect(function(moveInput)
                if not dragging then return end
                if moveInput.UserInputType == Enum.UserInputType.MouseMovement or moveInput.UserInputType == Enum.UserInputType.Touch then
                    local delta = moveInput.Position - dragStart
                    targetFrame.Position = UDim2.new(
                        startPos.X.Scale, startPos.X.Offset + delta.X,
                        startPos.Y.Scale, startPos.Y.Offset + delta.Y
                    )
                end
            end)

            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    held = false
                    dragging = false
                    if moveConn then
                        moveConn:Disconnect()
                    end
                end
            end)
        end)
    end

    startInstantDrag(topBar, mainFrame)

    local BORDER_THICKNESS = 6
    local HOLD_TIME_BORDER = 2

    local function createBorderZone(name, size, position)
        local zone = Instance.new("Frame")
        zone.Name = name
        zone.Size = size
        zone.Position = position
        zone.BackgroundTransparency = 1
        zone.ZIndex = 5
        zone.Parent = mainFrame
        return zone
    end

    local borderTop = createBorderZone("BorderTop", UDim2.new(1, 0, 0, BORDER_THICKNESS), UDim2.new(0, 0, 0, 0))
    local borderBottom = createBorderZone("BorderBottom", UDim2.new(1, 0, 0, BORDER_THICKNESS), UDim2.new(0, 0, 1, -BORDER_THICKNESS))
    local borderLeft = createBorderZone("BorderLeft", UDim2.new(0, BORDER_THICKNESS, 1, 0), UDim2.new(0, 0, 0, 0))
    local borderRight = createBorderZone("BorderRight", UDim2.new(0, BORDER_THICKNESS, 1, 0), UDim2.new(1, -BORDER_THICKNESS, 0, 0))

    for _, border in ipairs({borderTop, borderBottom, borderLeft, borderRight}) do
        startHoldDrag(border, mainFrame, HOLD_TIME_BORDER)
    end

    applyTheme(Config.ThemeColor)
end

-- INICIALIZAÇÃO
showLoadingScreen(buildInterface)

Features & Information

Dragonic Team by Lightbolt_dev
#Dragonic team#DRAGONIC HUB#BROOKHAVEN#Kit kat#Dark hub

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts