7x hub universal
Key RequiredUniversal

7x hub universal

Universal Scriptzuko7xzuko7x 229 views 1.8K executesUpdated Aug 26, 2026
Unrated
00
Lua Script•1228 lines (54165 chars)
-- ==========================================
-- // SETTINGS & CONFIG AUTO-LOAD
-- ==========================================
local BACKGROUND_IMAGE_ID = "" -- Leave blank ("") or use a valid rbxassetid
local IMAGE_BLEND = 0.5

-- // Services
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local HttpService = game:GetService("HttpService")

local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

-- // Safe GUI Parent
local success, parent = pcall(function() return gethui() or CoreGui end)
if not success then parent = LocalPlayer:WaitForChild("PlayerGui") end

if parent:FindFirstChild("7xHub") then
    parent["7xHub"]:Destroy()
end

-- // Create ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "7xHub"
ScreenGui.Parent = parent

-- // 50 Premium Colors Library
local ColorPalette = {
    {Name = "Purple", Color = Color3.fromRGB(138, 43, 226)}, {Name = "Blue", Color = Color3.fromRGB(0, 119, 255)},
    {Name = "White", Color = Color3.fromRGB(255, 255, 255)}, {Name = "Black", Color = Color3.fromRGB(0, 0, 0)},
    {Name = "Gray", Color = Color3.fromRGB(128, 128, 128)}, {Name = "Dark Gray", Color = Color3.fromRGB(64, 64, 64)},
    {Name = "Light Gray", Color = Color3.fromRGB(192, 192, 192)}, {Name = "Red", Color = Color3.fromRGB(255, 0, 0)},
    {Name = "Crimson", Color = Color3.fromRGB(220, 20, 60)}, {Name = "Firebrick", Color = Color3.fromRGB(178, 34, 34)},
    {Name = "Dark Red", Color = Color3.fromRGB(139, 0, 0)}, {Name = "Pink", Color = Color3.fromRGB(255, 192, 203)},
    {Name = "Deep Pink", Color = Color3.fromRGB(255, 20, 147)}, {Name = "Hot Pink", Color = Color3.fromRGB(255, 105, 180)},
    {Name = "Orange", Color = Color3.fromRGB(255, 165, 0)}, {Name = "Dark Orange", Color = Color3.fromRGB(255, 140, 0)},
    {Name = "Coral", Color = Color3.fromRGB(255, 127, 80)}, {Name = "Tomato", Color = Color3.fromRGB(255, 99, 71)},
    {Name = "Gold", Color = Color3.fromRGB(255, 215, 0)}, {Name = "Yellow", Color = Color3.fromRGB(255, 255, 0)},
    {Name = "Light Yellow", Color = Color3.fromRGB(255, 255, 224)}, {Name = "Khaki", Color = Color3.fromRGB(240, 230, 140)},
    {Name = "Violet", Color = Color3.fromRGB(238, 130, 238)}, {Name = "Magenta", Color = Color3.fromRGB(255, 0, 255)},
    {Name = "Indigo", Color = Color3.fromRGB(75, 0, 130)}, {Name = "Deep Purple", Color = Color3.fromRGB(103, 58, 183)},
    {Name = "Cyan", Color = Color3.fromRGB(0, 255, 255)}, {Name = "Light Blue", Color = Color3.fromRGB(173, 216, 230)},
    {Name = "Navy", Color = Color3.fromRGB(0, 0, 128)}, {Name = "Royal Blue", Color = Color3.fromRGB(65, 105, 225)},
    {Name = "Turquoise", Color = Color3.fromRGB(64, 224, 208)}, {Name = "Teal", Color = Color3.fromRGB(0, 128, 128)},
    {Name = "Green", Color = Color3.fromRGB(0, 128, 0)}, {Name = "Lime", Color = Color3.fromRGB(0, 255, 0)},
    {Name = "Lime Green", Color = Color3.fromRGB(50, 205, 50)}, {Name = "Forest Green", Color = Color3.fromRGB(34, 139, 34)},
    {Name = "Dark Green", Color = Color3.fromRGB(0, 100, 0)}, {Name = "Olive", Color = Color3.fromRGB(128, 128, 0)},
    {Name = "Sea Green", Color = Color3.fromRGB(46, 139, 87)}, {Name = "Spring Green", Color = Color3.fromRGB(0, 255, 127)},
    {Name = "Brown", Color = Color3.fromRGB(165, 42, 42)}, {Name = "Maroon", Color = Color3.fromRGB(128, 0, 0)},
    {Name = "Saddle Brown", Color = Color3.fromRGB(139, 69, 19)}, {Name = "Sienna", Color = Color3.fromRGB(160, 82, 45)},
    {Name = "Sandy Brown", Color = Color3.fromRGB(244, 164, 96)}, {Name = "Peach", Color = Color3.fromRGB(255, 218, 185)},
    {Name = "Plum", Color = Color3.fromRGB(221, 160, 221)}, {Name = "Orchid", Color = Color3.fromRGB(218, 112, 214)},
    {Name = "Slate Blue", Color = Color3.fromRGB(106, 90, 205)}, {Name = "Steel Blue", Color = Color3.fromRGB(70, 130, 180)}
}

-- // CONFIGURATION & VARIABLES
local Config = {
    TeamCheck = false,
    AimLock = false,
    AimSmoothing = 0,
    AimKey = Enum.KeyCode.Q,
    ESPEnabled = false,
    ESPTeamCheck = false,
    ESPColorIndex = 3,
    LOSEnabled = false,
    LOSTeamCheck = false,
    LOSLength = 20,
    LOSWidth = 1,
    LOSColorIndex = 8,
    Speed = false,
    AntiFling = false,
    MenuKey = Enum.KeyCode.Home,
    
    -- Mic Up Config
    MicUpAntiBang = false,
    MicUpESP = false,
    MicUpFlight = false,

    -- Ghost Drivers Config
    VehicleSpeed = false,
    VehicleSpeedMultiplier = 2,
    CarNoClip = false,
    AutoFlip = false,

    -- Volleyball Legends Config
    VBLBeamEnabled = false,
    VBLBeamSize = 30,
    VBLBeamWidth = 2,
    VBLBeamColorIndex = 35,
    VBLLetterEnabled = false,
    VBLLetterGroundView = false,
    VBLLetterSize = 32,
    VBLLetterColorIndex = 35
}

-- Config Persistence Functions
local CONFIG_FILE = "7xHub_Config.json"
local function SaveConfig()
    local success, encoded = pcall(function()
        return HttpService:JSONEncode(Config)
    end)
    if success and writefile then
        pcall(function() writefile(CONFIG_FILE, encoded) end)
    end
end

local function LoadConfig()
    if isfile and readfile then
        local success, content = pcall(function()
            if isfile(CONFIG_FILE) then return readfile(CONFIG_FILE) end
        end)
        if success and content then
            local decodedSuccess, decoded = pcall(function()
                return HttpService:JSONDecode(content)
            end)
            if decodedSuccess and type(decoded) == "table" then
                for k, v in pairs(decoded) do
                    if Config[k] ~= nil then
                        if k == "MenuKey" and typeof(v) == "string" then
                            Config[k] = Enum.KeyCode[v] or Enum.KeyCode.Home
                        else
                            Config[k] = v
                        end
                    end
                end
            end
        end
    end
end
LoadConfig()

-- // Main Window Setup
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 0, 0, 0)
MainFrame.Position = UDim2.new(0.5, 0, 0.5, -160)
MainFrame.AnchorPoint = Vector2.new(0.5, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui

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

-- // Dynamic UI Gradient & Coloring Logic
local UIGradient = Instance.new("UIGradient")
UIGradient.Rotation = 45 
UIGradient.Parent = MainFrame

local UIConfig = {
    Style = "Gradient",
    Color1 = ColorPalette[1].Color,
    Color2 = ColorPalette[2].Color
}

local function UpdateUIColors()
    if UIConfig.Style == "Gradient" then
        UIGradient.Enabled = true
        MainFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
        UIGradient.Color = ColorSequence.new({
            ColorSequenceKeypoint.new(0.00, UIConfig.Color1),
            ColorSequenceKeypoint.new(0.30, UIConfig.Color1:Lerp(Color3.new(0,0,0), 0.5)),
            ColorSequenceKeypoint.new(0.50, Color3.fromRGB(12, 12, 12)),
            ColorSequenceKeypoint.new(0.70, UIConfig.Color2:Lerp(Color3.new(0,0,0), 0.5)),
            ColorSequenceKeypoint.new(1.00, UIConfig.Color2)
        })
    else
        UIGradient.Enabled = false
        MainFrame.BackgroundColor3 = UIConfig.Color1
    end
end
UpdateUIColors()

-- // Custom Background Image Layer
local BgImage = Instance.new("ImageLabel")
BgImage.Name = "BackgroundLayer"
BgImage.Size = UDim2.new(1, 0, 1, 0)
BgImage.BackgroundTransparency = 1
BgImage.Image = BACKGROUND_IMAGE_ID
BgImage.ScaleType = Enum.ScaleType.Crop
BgImage.ImageTransparency = IMAGE_BLEND
BgImage.ZIndex = 1
BgImage.Parent = MainFrame

-- // Solid Black Top Bar
local TopBar = Instance.new("Frame")
TopBar.Size = UDim2.new(1, 0, 0, 35)
TopBar.BackgroundColor3 = Color3.fromRGB(15, 15, 18)
TopBar.BorderSizePixel = 0
TopBar.Visible = false
TopBar.ZIndex = 2
TopBar.Parent = MainFrame

local TopBarCorner = Instance.new("UICorner")
TopBarCorner.CornerRadius = UDim.new(0, 10)
TopBarCorner.Parent = TopBar

local TopBarFiller = Instance.new("Frame")
TopBarFiller.Size = UDim2.new(1, 0, 0, 10)
TopBarFiller.Position = UDim2.new(0, 0, 1, -10)
TopBarFiller.BackgroundColor3 = Color3.fromRGB(15, 15, 18)
TopBarFiller.BorderSizePixel = 0
TopBarFiller.ZIndex = 2
TopBarFiller.Parent = TopBar

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(0, 220, 1, 0)
Title.Position = UDim2.new(0, 15, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "7x Hub // made by zuko"
Title.TextColor3 = Color3.fromRGB(240, 240, 240)
Title.TextSize = 14
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.ZIndex = 3
Title.Parent = TopBar

local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 35, 0, 35)
CloseBtn.Position = UDim2.new(1, -35, 0, 0)
CloseBtn.BackgroundTransparency = 1
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
CloseBtn.TextSize = 14
CloseBtn.Font = Enum.Font.Gotham
CloseBtn.ZIndex = 3
CloseBtn.Parent = TopBar

local MinBtn = Instance.new("TextButton")
MinBtn.Size = UDim2.new(0, 35, 0, 35)
MinBtn.Position = UDim2.new(1, -70, 0, 0)
MinBtn.BackgroundTransparency = 1
MinBtn.Text = "—"
MinBtn.TextColor3 = Color3.fromRGB(180, 180, 180)
MinBtn.TextSize = 12
MinBtn.Font = Enum.Font.Gotham
MinBtn.ZIndex = 3
MinBtn.Parent = TopBar

-- // Main Body Container
local BodyFrame = Instance.new("Frame")
BodyFrame.Size = UDim2.new(1, 0, 1, -35)
BodyFrame.Position = UDim2.new(0, 0, 0, 35)
BodyFrame.BackgroundTransparency = 1
BodyFrame.Visible = false
BodyFrame.ZIndex = 2
BodyFrame.Parent = MainFrame

local Sidebar = Instance.new("ScrollingFrame")
Sidebar.Size = UDim2.new(0, 130, 1, 0)
Sidebar.BackgroundColor3 = Color3.fromRGB(10, 10, 12)
Sidebar.BackgroundTransparency = 0.5
Sidebar.BorderSizePixel = 0
Sidebar.Active = true
Sidebar.ScrollBarThickness = 0
Sidebar.ZIndex = 3
Sidebar.Parent = BodyFrame

local SidebarLayout = Instance.new("UIListLayout")
SidebarLayout.SortOrder = Enum.SortOrder.LayoutOrder
SidebarLayout.Padding = UDim.new(0, 5)
SidebarLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
SidebarLayout.Parent = Sidebar

local SidebarPadding = Instance.new("UIPadding")
SidebarPadding.PaddingTop = UDim.new(0, 10)
SidebarPadding.PaddingBottom = UDim.new(0, 10)
SidebarPadding.Parent = Sidebar

local PagesContainer = Instance.new("Frame")
PagesContainer.Size = UDim2.new(1, -130, 1, 0)
PagesContainer.Position = UDim2.new(0, 130, 0, 0)
PagesContainer.BackgroundTransparency = 1
PagesContainer.ZIndex = 3
PagesContainer.Parent = BodyFrame

-- ==========================================
-- // TAB SYSTEM & SIDEBAR HEADERS
-- ==========================================
local pages = {}
local tabButtons = {}

local function createCategoryHeader(text)
    local lbl = Instance.new("TextLabel")
    lbl.Size = UDim2.new(1, -10, 0, 20)
    lbl.BackgroundTransparency = 1
    lbl.Text = text
    lbl.TextColor3 = Color3.fromRGB(120, 120, 140)
    lbl.TextSize = 10
    lbl.Font = Enum.Font.GothamBold
    lbl.ZIndex = 4
    lbl.Parent = Sidebar
end

local function createTab(name, isFirst)
    local TabBtn = Instance.new("TextButton")
    TabBtn.Size = UDim2.new(1, -15, 0, 30)
    TabBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    TabBtn.BackgroundTransparency = isFirst and 0.2 or 1
    TabBtn.Text = name
    TabBtn.TextColor3 = isFirst and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(180, 180, 180)
    TabBtn.TextSize = 12
    TabBtn.Font = Enum.Font.GothamBold
    TabBtn.ZIndex = 4
    TabBtn.Parent = Sidebar
    Instance.new("UICorner", TabBtn).CornerRadius = UDim.new(0, 6)

    local PageScroll = Instance.new("ScrollingFrame")
    PageScroll.Size = UDim2.new(1, 0, 1, 0)
    PageScroll.BackgroundTransparency = 1
    PageScroll.Visible = isFirst
    PageScroll.Active = true
    PageScroll.ScrollBarThickness = 2
    PageScroll.ZIndex = 3
    PageScroll.Parent = PagesContainer

    local PageLayout = Instance.new("UIListLayout")
    PageLayout.SortOrder = Enum.SortOrder.LayoutOrder
    PageLayout.Padding = UDim.new(0, 10)
    PageLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
    PageLayout.Parent = PageScroll

    local PagePadding = Instance.new("UIPadding")
    PagePadding.PaddingTop = UDim.new(0, 15)
    PagePadding.Parent = PageScroll

    table.insert(tabButtons, TabBtn)
    
    TabBtn.MouseButton1Click:Connect(function()
        for _, btn in ipairs(tabButtons) do
            btn.BackgroundTransparency = 1
            btn.TextColor3 = Color3.fromRGB(180, 180, 180)
        end
        for _, p in pairs(pages) do p.Visible = false end
        TabBtn.BackgroundTransparency = 0.2
        TabBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
        PageScroll.Visible = true
    end)

    pages[name] = PageScroll
    Sidebar.CanvasSize = UDim2.new(0, 0, 0, SidebarLayout.AbsoluteContentSize.Y + 20)
    return PageScroll
end

createCategoryHeader("- UNIVERSAL -")
local CombatPage = createTab("Combat", true)
local VisualsPage = createTab("Visuals", false)
local MovementPage = createTab("Movement", false)
local SettingsPage = createTab("Settings", false)

createCategoryHeader("- GAMES -")
local MicUpPage = createTab("Mic Up", false)
local VolleyPage = createTab("Volleyball Legends", false)
local GhostDriversPage = createTab("Ghost Drivers", false)
local JujutsuPage = createTab("Jujutsu Shenanigans", false)
local DaHoodPage = createTab("Da Hood", false)
local AnimePage = createTab("Anime Expeditions", false)

-- ==========================================
-- // UI BUILDER HELPERS
-- ==========================================
local function updatePageCanvas(page)
    task.spawn(function()
        task.wait(0.1)
        if page:IsA("ScrollingFrame") and page.UIListLayout then
            page.CanvasSize = UDim2.new(0, 0, 0, page.UIListLayout.AbsoluteContentSize.Y + 60)
        end
    end)
end

local function createToggle(page, name, defaultState, callback)
    local Row = Instance.new("Frame")
    Row.Size = UDim2.new(1, -30, 0, 40) Row.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Row.BackgroundTransparency = 0.5 Row.ZIndex = 3 Row.Parent = page
    Instance.new("UICorner", Row).CornerRadius = UDim.new(0, 6)

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(0, 200, 1, 0) Label.Position = UDim2.new(0, 15, 0, 0) Label.BackgroundTransparency = 1 Label.Text = name
    Label.TextColor3 = Color3.fromRGB(220, 220, 220) Label.TextSize = 13 Label.Font = Enum.Font.Gotham Label.TextXAlignment = Enum.TextXAlignment.Left Label.ZIndex = 4 Label.Parent = Row

    local Btn = Instance.new("TextButton")
    Btn.Size = UDim2.new(0, 60, 0, 26) Btn.Position = UDim2.new(1, -75, 0.5, -13)
    Btn.BackgroundColor3 = defaultState and Color3.fromRGB(80, 120, 255) or Color3.fromRGB(30, 30, 35)
    Btn.TextColor3 = Color3.fromRGB(255, 255, 255) Btn.Text = defaultState and "ON" or "OFF"
    Btn.TextSize = 12 Btn.Font = Enum.Font.GothamBold Btn.ZIndex = 4 Btn.Parent = Row
    Instance.new("UICorner", Btn).CornerRadius = UDim.new(0, 4)

    local state = defaultState
    Btn.MouseButton1Click:Connect(function()
        state = not state
        Btn.Text = state and "ON" or "OFF"
        Btn.BackgroundColor3 = state and Color3.fromRGB(80, 120, 255) or Color3.fromRGB(30, 30, 35)
        callback(state)
    end)
    updatePageCanvas(page)
end

local function createSlider(page, name, min, max, defaultVal, callback)
    local Row = Instance.new("Frame")
    Row.Size = UDim2.new(1, -30, 0, 50) Row.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Row.BackgroundTransparency = 0.5 Row.ZIndex = 3 Row.Parent = page
    Instance.new("UICorner", Row).CornerRadius = UDim.new(0, 6)

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(0, 200, 0, 20) Label.Position = UDim2.new(0, 15, 0, 5) Label.BackgroundTransparency = 1 Label.Text = name .. ": " .. tostring(defaultVal)
    Label.TextColor3 = Color3.fromRGB(220, 220, 220) Label.TextSize = 13 Label.Font = Enum.Font.Gotham Label.TextXAlignment = Enum.TextXAlignment.Left Label.ZIndex = 4 Label.Parent = Row

    local SliderBG = Instance.new("Frame")
    SliderBG.Size = UDim2.new(1, -30, 0, 6) SliderBG.Position = UDim2.new(0, 15, 0, 30) SliderBG.BackgroundColor3 = Color3.fromRGB(30, 30, 35) SliderBG.ZIndex = 4 SliderBG.Parent = Row
    Instance.new("UICorner", SliderBG).CornerRadius = UDim.new(1, 0)

    local pct = math.clamp((defaultVal - min) / (max - min), 0, 1)
    local SliderFill = Instance.new("Frame")
    SliderFill.Size = UDim2.new(pct, 0, 1, 0) SliderFill.BackgroundColor3 = Color3.fromRGB(80, 120, 255) SliderFill.ZIndex = 5 SliderFill.Parent = SliderBG
    Instance.new("UICorner", SliderFill).CornerRadius = UDim.new(1, 0)

    local SliderBtn = Instance.new("TextButton")
    SliderBtn.Size = UDim2.new(1, 0, 1, 10) SliderBtn.Position = UDim2.new(0, 0, 0, -5) SliderBtn.BackgroundTransparency = 1 SliderBtn.Text = "" SliderBtn.ZIndex = 6 SliderBtn.Parent = SliderBG

    local dragging = false
    SliderBtn.MouseButton1Down:Connect(function() dragging = true end)
    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
    end)

    RunService.RenderStepped:Connect(function()
        if dragging then
            local mousePos = UserInputService:GetMouseLocation()
            local relativeX = mousePos.X - SliderBG.AbsolutePosition.X
            local percent = math.clamp(relativeX / SliderBG.AbsoluteSize.X, 0, 1)
            SliderFill.Size = UDim2.new(percent, 0, 1, 0)
            local val = math.floor(min + (max - min) * percent)
            Label.Text = name .. ": " .. tostring(val)
            callback(val)
        end
    end)
    updatePageCanvas(page)
end

local function createDropdown(page, name, options, defaultIndex, isColor, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, -30, 0, 40) Container.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Container.BackgroundTransparency = 0.5 Container.ClipsDescendants = true Container.ZIndex = 3 Container.Parent = page
    Instance.new("UICorner", Container).CornerRadius = UDim.new(0, 6)

    local Header = Instance.new("TextButton")
    Header.Size = UDim2.new(1, 0, 0, 40) Header.BackgroundTransparency = 1 Header.Text = "" Header.ZIndex = 5 Header.Parent = Container

    local Label = Instance.new("TextLabel")
    Label.Size = UDim2.new(0, 200, 1, 0) Label.Position = UDim2.new(0, 15, 0, 0) Label.BackgroundTransparency = 1 Label.Text = name
    Label.TextColor3 = Color3.fromRGB(220, 220, 220) Label.TextSize = 13 Label.Font = Enum.Font.Gotham Label.TextXAlignment = Enum.TextXAlignment.Left Label.ZIndex = 4 Label.Parent = Header

    local SelectedText = Instance.new("TextLabel")
    SelectedText.Size = UDim2.new(0, 100, 0, 26) SelectedText.Position = UDim2.new(1, -115, 0.5, -13) SelectedText.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    if isColor then
        SelectedText.Text = options[defaultIndex].Name
        SelectedText.TextColor3 = options[defaultIndex].Color
    else
        SelectedText.Text = options[defaultIndex]
        SelectedText.TextColor3 = Color3.fromRGB(255, 255, 255)
    end
    SelectedText.TextSize = 11 SelectedText.Font = Enum.Font.GothamBold SelectedText.ZIndex = 4 SelectedText.Parent = Header
    Instance.new("UICorner", SelectedText).CornerRadius = UDim.new(0, 4)

    local Scroll = Instance.new("ScrollingFrame")
    Scroll.Size = UDim2.new(1, -20, 0, 130) Scroll.Position = UDim2.new(0, 10, 0, 45) Scroll.BackgroundTransparency = 1 Scroll.Active = true Scroll.ScrollBarThickness = 2 Scroll.ZIndex = 4 Scroll.Parent = Container
    local ListLayout = Instance.new("UIListLayout") ListLayout.SortOrder = Enum.SortOrder.LayoutOrder ListLayout.Padding = UDim.new(0, 5) ListLayout.Parent = Scroll

    local expanded = false
    Header.MouseButton1Click:Connect(function()
        expanded = not expanded
        TweenService:Create(Container, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Size = expanded and UDim2.new(1, -30, 0, 185) or UDim2.new(1, -30, 0, 40)}):Play()
        updatePageCanvas(page)
    end)

    for _, opt in ipairs(options) do
        local Btn = Instance.new("TextButton")
        Btn.Size = UDim2.new(1, -10, 0, 25) Btn.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
        if isColor then Btn.Text = opt.Name Btn.TextColor3 = opt.Color else Btn.Text = opt Btn.TextColor3 = Color3.fromRGB(220, 220, 220) end
        Btn.TextSize = 11 Btn.Font = Enum.Font.GothamBold Btn.ZIndex = 5 Btn.Parent = Scroll
        Instance.new("UICorner", Btn).CornerRadius = UDim.new(0, 4)

        Btn.MouseButton1Click:Connect(function()
            if isColor then SelectedText.Text = opt.Name SelectedText.TextColor3 = opt.Color callback(opt) else SelectedText.Text = opt callback(opt) end
            expanded = false
            TweenService:Create(Container, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Size = UDim2.new(1, -30, 0, 40)}):Play()
            updatePageCanvas(page)
        end)
    end
    Scroll.CanvasSize = UDim2.new(0, 0, 0, #options * 30)
    updatePageCanvas(page)
end

local lockedPlayer = nil
local bindingAimKey = false
local bindingMenuKey = false

-- ==========================================
-- // POPULATE TABS
-- ==========================================

-- // COMBAT PAGE
createToggle(CombatPage, "Enable Aim Lock (Head/Cursor)", Config.AimLock, function(val) Config.AimLock = val end)
createToggle(CombatPage, "Team Check (Ignore Teammates)", Config.TeamCheck, function(val) Config.TeamCheck = val end)
createSlider(CombatPage, "Aim Smoothing (0 = Instant)", 0, 500, Config.AimSmoothing, function(val) Config.AimSmoothing = val end)

local AimKeyRow = Instance.new("Frame")
AimKeyRow.Size = UDim2.new(1, -30, 0, 40) AimKeyRow.BackgroundColor3 = Color3.fromRGB(0, 0, 0) AimKeyRow.BackgroundTransparency = 0.5 AimKeyRow.ZIndex = 3 AimKeyRow.Parent = CombatPage
Instance.new("UICorner", AimKeyRow).CornerRadius = UDim.new(0, 6)
local AimKeyLbl = Instance.new("TextLabel") AimKeyLbl.Size = UDim2.new(0, 200, 1, 0) AimKeyLbl.Position = UDim2.new(0, 15, 0, 0) AimKeyLbl.BackgroundTransparency = 1 AimKeyLbl.Text = "Aim Lock Keybind" AimKeyLbl.TextColor3 = Color3.fromRGB(220, 220, 220) AimKeyLbl.TextSize = 13 AimKeyLbl.Font = Enum.Font.Gotham AimKeyLbl.TextXAlignment = Enum.TextXAlignment.Left AimKeyLbl.ZIndex = 4 AimKeyLbl.Parent = AimKeyRow
local AimKeyBtn = Instance.new("TextButton") AimKeyBtn.Size = UDim2.new(0, 80, 0, 26) AimKeyBtn.Position = UDim2.new(1, -95, 0.5, -13) AimKeyBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 35) AimKeyBtn.TextColor3 = Color3.fromRGB(255, 255, 255) AimKeyBtn.Text = Config.AimKey.Name AimKeyBtn.TextSize = 12 AimKeyBtn.Font = Enum.Font.GothamBold AimKeyBtn.ZIndex = 4 AimKeyBtn.Parent = AimKeyRow
Instance.new("UICorner", AimKeyBtn).CornerRadius = UDim.new(0, 4)

AimKeyBtn.MouseButton1Click:Connect(function()
    bindingAimKey = true AimKeyBtn.Text = "Press..." AimKeyBtn.TextColor3 = Color3.fromRGB(255, 255, 0)
end)

-- // VISUALS PAGE
createToggle(VisualsPage, "Enable Character ESP", Config.ESPEnabled, function(val) Config.ESPEnabled = val end)
createToggle(VisualsPage, "ESP Team Check", Config.ESPTeamCheck, function(val) Config.ESPTeamCheck = val end)
createDropdown(VisualsPage, "ESP Highlight Color", ColorPalette, Config.ESPColorIndex, true, function(opt) 
    for idx, item in ipairs(ColorPalette) do if item.Name == opt.Name then Config.ESPColorIndex = idx break end end
end)

createToggle(VisualsPage, "Show Line Of Sight (LOS)", Config.LOSEnabled, function(val) Config.LOSEnabled = val end)
createToggle(VisualsPage, "LOS Team Check", Config.LOSTeamCheck, function(val) Config.LOSTeamCheck = val end)
createSlider(VisualsPage, "LOS Length", 1, 500, Config.LOSLength, function(val) Config.LOSLength = val end)
createSlider(VisualsPage, "LOS Width", 1, 10, Config.LOSWidth, function(val) Config.LOSWidth = val end)
createDropdown(VisualsPage, "LOS Beam Color", ColorPalette, Config.LOSColorIndex, true, function(opt) 
    for idx, item in ipairs(ColorPalette) do if item.Name == opt.Name then Config.LOSColorIndex = idx break end end
end)

-- // MOVEMENT PAGE
createToggle(MovementPage, "Enable CFrame Speed", Config.Speed, function(val) Config.Speed = val end)
createToggle(MovementPage, "Enable Anti-Fling", Config.AntiFling, function(val) Config.AntiFling = val end)

-- // MIC UP PAGE
createToggle(MicUpPage, "Anti-Bang / Anti-Headsit", Config.MicUpAntiBang, function(val) Config.MicUpAntiBang = val end)
createToggle(MicUpPage, "Player ESP", Config.MicUpESP, function(val) Config.MicUpESP = val end)
createToggle(MicUpPage, "Flight Mode", Config.MicUpFlight, function(val) Config.MicUpFlight = val end)

-- // GHOST DRIVERS PAGE
createToggle(GhostDriversPage, "Enable Vehicle Speed Boost", Config.VehicleSpeed, function(val) Config.VehicleSpeed = val end)
createSlider(GhostDriversPage, "Speed Multiplier", 1, 10, Config.VehicleSpeedMultiplier, function(val) Config.VehicleSpeedMultiplier = val end)
createToggle(GhostDriversPage, "Enable Car No-Clip", Config.CarNoClip, function(val) Config.CarNoClip = val end)
createToggle(GhostDriversPage, "Auto-Flip Car", Config.AutoFlip, function(val) Config.AutoFlip = val end)

-- // VOLLEYBALL LEGENDS PAGE
createToggle(VolleyPage, "Tilt Visualizer (Beam)", Config.VBLBeamEnabled, function(val)
    Config.VBLBeamEnabled = val
end)
createSlider(VolleyPage, "Beam Length", 10, 80, Config.VBLBeamSize, function(val)
    Config.VBLBeamSize = val
end)
createSlider(VolleyPage, "Beam Width", 1, 10, Config.VBLBeamWidth, function(val)
    Config.VBLBeamWidth = val
end)
createDropdown(VolleyPage, "Beam Color", ColorPalette, Config.VBLBeamColorIndex, true, function(opt)
    for idx, item in ipairs(ColorPalette) do if item.Name == opt.Name then Config.VBLBeamColorIndex = idx break end end
end)

createToggle(VolleyPage, "Letter Visualizer", Config.VBLLetterEnabled, function(val)
    Config.VBLLetterEnabled = val
end)
createToggle(VolleyPage, "Show Letter on Ground", Config.VBLLetterGroundView, function(val)
    Config.VBLLetterGroundView = val
end)
createSlider(VolleyPage, "Letter Size", 16, 64, Config.VBLLetterSize, function(val)
    Config.VBLLetterSize = val
end)
createDropdown(VolleyPage, "Letter Color", ColorPalette, Config.VBLLetterColorIndex, true, function(opt)
    for idx, item in ipairs(ColorPalette) do if item.Name == opt.Name then Config.VBLLetterColorIndex = idx break end end
end)

-- // SETTINGS PAGE
local MenuKeyRow = Instance.new("Frame")
MenuKeyRow.Size = UDim2.new(1, -30, 0, 40)
MenuKeyRow.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
MenuKeyRow.BackgroundTransparency = 0.5
MenuKeyRow.ZIndex = 3
MenuKeyRow.Parent = SettingsPage
Instance.new("UICorner", MenuKeyRow).CornerRadius = UDim.new(0, 6)

local MenuKeyLbl = Instance.new("TextLabel")
MenuKeyLbl.Size = UDim2.new(0, 200, 1, 0)
MenuKeyLbl.Position = UDim2.new(0, 15, 0, 0)
MenuKeyLbl.BackgroundTransparency = 1
MenuKeyLbl.Text = "Hide/Show UI Keybind"
MenuKeyLbl.TextColor3 = Color3.fromRGB(220, 220, 220)
MenuKeyLbl.TextSize = 13
MenuKeyLbl.Font = Enum.Font.Gotham
MenuKeyLbl.TextXAlignment = Enum.TextXAlignment.Left
MenuKeyLbl.ZIndex = 4
MenuKeyLbl.Parent = MenuKeyRow

local MenuKeyBtn = Instance.new("TextButton")
MenuKeyBtn.Size = UDim2.new(0, 80, 0, 26)
MenuKeyBtn.Position = UDim2.new(1, -95, 0.5, -13)
MenuKeyBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
MenuKeyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MenuKeyBtn.Text = Config.MenuKey.Name
MenuKeyBtn.TextSize = 12
MenuKeyBtn.Font = Enum.Font.GothamBold
MenuKeyBtn.ZIndex = 4
MenuKeyBtn.Parent = MenuKeyRow
Instance.new("UICorner", MenuKeyBtn).CornerRadius = UDim.new(0, 4)

MenuKeyBtn.MouseButton1Click:Connect(function()
    bindingMenuKey = true
    MenuKeyBtn.Text = "Press..."
    MenuKeyBtn.TextColor3 = Color3.fromRGB(255, 255, 0)
end)

createDropdown(SettingsPage, "UI Theme Format", {"Gradient", "Solid"}, 1, false, function(val) UIConfig.Style = val UpdateUIColors() end)
createDropdown(SettingsPage, "Primary Theme Color", ColorPalette, 1, true, function(opt) UIConfig.Color1 = opt.Color UpdateUIColors() end)
createDropdown(SettingsPage, "Secondary Theme Color", ColorPalette, 2, true, function(opt) UIConfig.Color2 = opt.Color UpdateUIColors() end)

-- Save Settings Button
local SaveBtn = Instance.new("TextButton")
SaveBtn.Size = UDim2.new(1, -30, 0, 40)
SaveBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 120)
SaveBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SaveBtn.Text = "Save Settings (Config)"
SaveBtn.TextSize = 13
SaveBtn.Font = Enum.Font.GothamBold
SaveBtn.Parent = SettingsPage
Instance.new("UICorner", SaveBtn).CornerRadius = UDim.new(0, 6)

SaveBtn.MouseButton1Click:Connect(function()
    SaveConfig()
    SaveBtn.Text = "Settings Saved!"
    task.wait(1.5)
    SaveBtn.Text = "Save Settings (Config)"
end)

-- // PLACEHOLDER GAMES PAGES
local function createPlaceholder(page)
    local lbl = Instance.new("TextLabel")
    lbl.Size = UDim2.new(1, 0, 0, 50)
    lbl.BackgroundTransparency = 1
    lbl.Text = "Scripts for this game are currently in development.\nCheck back later!"
    lbl.TextColor3 = Color3.fromRGB(150, 150, 150)
    lbl.TextSize = 12
    lbl.Font = Enum.Font.Gotham
    lbl.Parent = page
end

createPlaceholder(JujutsuPage)
createPlaceholder(DaHoodPage)
createPlaceholder(HoodModdedPage)
createPlaceholder(AnimePage)

-- ==========================================
-- // CORE SCRIPT ENGINE
-- ==========================================

local function getClosestTarget()
    local bestTarget = nil
    local bestDist = math.huge
    local mousePos = UserInputService:GetMouseLocation()

    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            local isTeammate = player.Team ~= nil and player.Team == LocalPlayer.Team
            if Config.TeamCheck and isTeammate then continue end

            local hum = player.Character:FindFirstChild("Humanoid")
            local head = player.Character:FindFirstChild("Head") or player.Character:FindFirstChild("HumanoidRootPart")
            
            if hum and hum.Health > 0 and head then
                local screenPos, onScreen = Camera:WorldToViewportPoint(head.Position)
                if onScreen then
                    local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
                    if dist < bestDist then
                        bestDist = dist
                        bestTarget = player
                    end
                end
            end
        end
    end
    return bestTarget
end

-- Keybind Listener
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if input.UserInputType == Enum.UserInputType.Keyboard then
        if bindingAimKey then
            Config.AimKey = input.KeyCode
            AimKeyBtn.Text = Config.AimKey.Name
            AimKeyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
            bindingAimKey = false
            return
        end
        if bindingMenuKey then
            Config.MenuKey = input.KeyCode
            MenuKeyBtn.Text = Config.MenuKey.Name
            MenuKeyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
            bindingMenuKey = false
            return
        end

        if input.KeyCode == Config.AimKey and Config.AimLock then
            if lockedPlayer then lockedPlayer = nil else lockedPlayer = getClosestTarget() end
        end

        if input.KeyCode == Config.MenuKey then
            isHidden = not isHidden
            if isHidden then
                TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = UDim2.new(0, 0, 0, 0)}):Play()
            else
                local targetSize = isMinimized and UDim2.new(0, 550, 0, 35) or UDim2.new(0, 550, 0, 320)
                TweenService:Create(MainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = targetSize}):Play()
            end
        end
    end
end)

local EngineFolder = Instance.new("Folder")
EngineFolder.Name = "7x_Engine_Folder"
EngineFolder.Parent = CoreGui

local LOSFolder = Instance.new("Folder")
LOSFolder.Name = "7x_LOS_Visualizer"
LOSFolder.Parent = workspace
local LOSParts = {}
local ESPHighlights = {}
local MicUpESPHighlights = {}

-- Volleyball Legends Multi-Player Tilt Visualizer Container
local TiltVisualizerFolder = workspace:FindFirstChild("7x_TiltVisualizer")
if not TiltVisualizerFolder then
    TiltVisualizerFolder = Instance.new("Folder")
    TiltVisualizerFolder.Name = "7x_TiltVisualizer"
    TiltVisualizerFolder.Parent = workspace
end

local VBLVisuals = {} -- [player] = {Beam = part, Billboard = gui, Label = text}

Players.PlayerRemoving:Connect(function(player)
    if VBLVisuals[player] then
        if VBLVisuals[player].Beam then VBLVisuals[player].Beam:Destroy() end
        if VBLVisuals[player].Billboard then VBLVisuals[player].Billboard:Destroy() end
        VBLVisuals[player] = nil
    end
    if MicUpESPHighlights[player] then MicUpESPHighlights[player]:Destroy(); MicUpESPHighlights[player] = nil end
    if LOSParts[player] then LOSParts[player]:Destroy(); LOSParts[player] = nil end
    if ESPHighlights[player] then ESPHighlights[player]:Destroy(); ESPHighlights[player] = nil end
end)

RunService.RenderStepped:Connect(function()
    -- Aimlock Engine with Fractional Lerp Smoothing
    if Config.AimLock and lockedPlayer and lockedPlayer.Character then
        local head = lockedPlayer.Character:FindFirstChild("Head") or lockedPlayer.Character:FindFirstChild("HumanoidRootPart")
        local hum = lockedPlayer.Character:FindFirstChild("Humanoid")
        
        local isTeammate = lockedPlayer.Team ~= nil and lockedPlayer.Team == LocalPlayer.Team
        
        if Config.TeamCheck and isTeammate then
            lockedPlayer = nil
        elseif head and hum and hum.Health > 0 then
            local currentCFrame = Camera.CFrame
            local targetCFrame = CFrame.lookAt(currentCFrame.Position, head.Position)
            
            if Config.AimSmoothing == 0 then
                Camera.CFrame = targetCFrame
            else
                local smoothStep = math.clamp(1 - (Config.AimSmoothing / 500), 0.01, 0.99)
                Camera.CFrame = currentCFrame:Lerp(targetCFrame, smoothStep / 4) 
            end
        else
            lockedPlayer = nil
        end
    else
        lockedPlayer = nil
    end

    -- Visuals Engine (ESP & Working LOS with Independent Team Checks)
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local char = player.Character
            local isTeammate = player.Team ~= nil and player.Team == LocalPlayer.Team
            local hasAliveHum = char and char:FindFirstChild("Humanoid") and char.Humanoid.Health > 0

            -- ESP Logic
            local showESP = Config.ESPEnabled and hasAliveHum
            if Config.ESPTeamCheck and isTeammate then
                showESP = false
            end

            if showESP then
                local hl = ESPHighlights[player]
                if not hl then
                    hl = Instance.new("Highlight")
                    hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
                    hl.Parent = EngineFolder
                    ESPHighlights[player] = hl
                end
                hl.Adornee = char
                hl.FillColor = ColorPalette[Config.ESPColorIndex].Color
                hl.OutlineColor = Color3.new(0, 0, 0)
                hl.FillTransparency = 0.5
                hl.OutlineTransparency = 0
                hl.Enabled = true
            else
                if ESPHighlights[player] then ESPHighlights[player].Enabled = false end
            end

            -- Mic Up ESP Logic
            if Config.MicUpESP and hasAliveHum then
                local mhl = MicUpESPHighlights[player]
                if not mhl then
                    mhl = Instance.new("Highlight")
                    mhl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
                    mhl.Parent = EngineFolder
                    MicUpESPHighlights[player] = mhl
                end
                mhl.Adornee = char
                mhl.FillColor = Color3.fromRGB(0, 255, 150)
                mhl.OutlineColor = Color3.new(255, 255, 255)
                mhl.FillTransparency = 0.6
                mhl.Enabled = true
            else
                if MicUpESPHighlights[player] then MicUpESPHighlights[player].Enabled = false end
            end

            -- LOS Logic
            local showLOS = Config.LOSEnabled and hasAliveHum
            if Config.LOSTeamCheck and isTeammate then
                showLOS = false
            end

            if showLOS then
                local head = char:FindFirstChild("Head")
                if head then
                    local part = LOSParts[player]
                    if not part then
                        part = Instance.new("Part")
                        part.Anchored = true
                        part.CanCollide = false
                        part.CastShadow = false
                        part.Material = Enum.Material.Neon
                        part.Parent = LOSFolder
                        LOSParts[player] = part
                    end
                    
                    local origin = head.Position
                    local destination = origin + (head.CFrame.LookVector * Config.LOSLength)
                    local dist = Config.LOSLength
                    
                    part.Size = Vector3.new(Config.LOSWidth / 10, Config.LOSWidth / 10, dist)
                    part.CFrame = CFrame.lookAt(origin, destination) * CFrame.new(0, 0, -dist / 2)
                    part.Color = ColorPalette[Config.LOSColorIndex].Color
                    part.Transparency = 0.3
                else
                    if LOSParts[player] then LOSParts[player].Transparency = 1 end
                end
            else
                if LOSParts[player] then LOSParts[player].Transparency = 1 end
            end
        end
    end

    -- Speed Engine
    if Config.Speed then
        local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid")
        if root and hum and hum.MoveDirection.Magnitude > 0 then
            root.CFrame = root.CFrame + (hum.MoveDirection * 0.5)
        end
    end

    -- Mic Up Flight Engine
    if Config.MicUpFlight then
        local lChar = LocalPlayer.Character
        local root = lChar and lChar:FindFirstChild("HumanoidRootPart")
        if root then
            root.AssemblyLinearVelocity = Vector3.new(0, 1, 0)
            if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
                root.CFrame = root.CFrame + Vector3.new(0, 1, 0)
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
                root.CFrame = root.CFrame - Vector3.new(0, 1, 0)
            end
        end
    end

    -- Mic Up Anti-Bang / Anti-Headsit Engine
    if Config.MicUpAntiBang then
        local lChar = LocalPlayer.Character
        local lRoot = lChar and lChar:FindFirstChild("HumanoidRootPart")
        if lRoot then
            for _, player in ipairs(Players:GetPlayers()) do
                if player ~= LocalPlayer and player.Character then
                    local eRoot = player.Character:FindFirstChild("HumanoidRootPart")
                    if eRoot then
                        local dist = (lRoot.Position - eRoot.Position).Magnitude
                        if dist < 3.5 then
                            eRoot.CFrame = eRoot.CFrame + (eRoot.CFrame.LookVector * -5) + Vector3.new(0, 3, 0)
                        end
                    end
                end
            end
        end
    end

    -- Ghost Drivers Vehicle Utilities Engine
    local char = LocalPlayer.Character
    local seat = char and char:FindFirstChildOfClass("Humanoid") and char.Humanoid.SeatPart
    if seat and seat.Parent then
        local vehicleModel = seat.Parent
        local primaryPart = vehicleModel.PrimaryPart or vehicleModel:FindFirstChild("Body") or vehicleModel:FindFirstChildWhichIsA("BasePart")
        
        if primaryPart then
            -- Vehicle Speed Boost
            if Config.VehicleSpeed then
                if primaryPart.AssemblyLinearVelocity.Magnitude > 2 then
                    primaryPart.AssemblyLinearVelocity = primaryPart.AssemblyLinearVelocity * (1 + (Config.VehicleSpeedMultiplier * 0.05))
                end
            end

            -- Car No-Clip
            if Config.CarNoClip then
                for _, part in ipairs(vehicleModel:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = false
                    end
                end
            end

            -- Auto-Flip Car if upside down
            if Config.AutoFlip then
                if primaryPart.CFrame.UpVector.Y < -0.3 then
                    primaryPart.CFrame = CFrame.new(primaryPart.Position + Vector3.new(0, 4, 0)) * CFrame.Angles(0, primaryPart.Orientation.Y, 0)
                end
            end
        end
    end

    -- // Volleyball Legends Multi-Player Tilt Visualizers & Team Check //
    for _, player in ipairs(Players:GetPlayers()) do
        local isSelf = (player == LocalPlayer)
        local isTeammate = (player.Team ~= nil and LocalPlayer.Team ~= nil and player.Team == LocalPlayer.Team)

        -- Team Check: Exclude self and teammates
        if isSelf or isTeammate then
            if VBLVisuals[player] then
                if VBLVisuals[player].Beam then VBLVisuals[player].Beam:Destroy() end
                if VBLVisuals[player].Billboard then VBLVisuals[player].Billboard:Destroy() end
                VBLVisuals[player] = nil
            end
        else
            local pChar = player.Character
            local pRoot = pChar and pChar:FindFirstChild("HumanoidRootPart")
            local pHead = pChar and pChar:FindFirstChild("Head")
            local pHum = pChar and pChar:FindFirstChildOfClass("Humanoid")

            if pChar and pRoot and pHead and pHum and pHum.Health > 0 then
                if not VBLVisuals[player] then
                    VBLVisuals[player] = {}
                end
                local visuals = VBLVisuals[player]

                local isInAir = (pHum.FloorMaterial == Enum.Material.Air) or (pHum:GetState() == Enum.HumanoidStateType.Freefall) or (pHum:GetState() == Enum.HumanoidStateType.Jumping)

                local moveDir = pHum.MoveDirection
                local localMove = pRoot.CFrame:VectorToObjectSpace(moveDir)
                local currentLetter = "-"
                local rootCF = pRoot.CFrame
                local flatLook = Vector3.new(rootCF.LookVector.X, 0, rootCF.LookVector.Z).Unit
                local flatRight = Vector3.new(rootCF.RightVector.X, 0, rootCF.RightVector.Z).Unit
                local flatUp = Vector3.new(0, 1, 0)
                local offsetDir = flatLook

                if localMove.Magnitude > 0.1 then
                    if localMove.Z < -0.3 then
                        currentLetter = "W"
                        offsetDir = (flatLook - (flatUp * 0.75)).Unit
                    elseif localMove.Z > 0.3 then
                        currentLetter = "S"
                        offsetDir = (flatLook + (flatUp * 0.75)).Unit
                    elseif localMove.X < -0.3 then
                        currentLetter = "A"
                        offsetDir = (flatLook - (flatRight * 0.75)).Unit
                    elseif localMove.X > 0.3 then
                        currentLetter = "D"
                        offsetDir = (flatLook + (flatRight * 0.75)).Unit
                    end
                end

                -- 1. Beam Visualizer for Player
                if Config.VBLBeamEnabled then
                    if not visuals.Beam or not visuals.Beam.Parent then
                        visuals.Beam = Instance.new("Part")
                        visuals.Beam.Name = "7x_PlayerTiltBeam"
                        visuals.Beam.Anchored = true
                        visuals.Beam.CanCollide = false
                        visuals.Beam.CastShadow = false
                        visuals.Beam.Material = Enum.Material.Neon
                        visuals.Beam.Parent = TiltVisualizerFolder
                    end

                    local activeOffset = flatLook
                    if isInAir then
                        activeOffset = offsetDir
                    end

                    visuals.Beam.Size = Vector3.new(Config.VBLBeamWidth / 10, Config.VBLBeamWidth / 10, Config.VBLBeamSize)
                    visuals.Beam.Color = ColorPalette[Config.VBLBeamColorIndex].Color
                    visuals.Beam.CFrame = CFrame.lookAt(pHead.Position, pHead.Position + activeOffset * Config.VBLBeamSize) * CFrame.new(0, 0, -Config.VBLBeamSize / 2)
                    visuals.Beam.Transparency = 0.2
                else
                    if visuals.Beam then visuals.Beam.Transparency = 1 end
                end

                -- 2. Letter Visualizer for Player
                if Config.VBLLetterEnabled then
                    if not visuals.Billboard or not visuals.Billboard.Parent then
                        visuals.Billboard = Instance.new("BillboardGui")
                        visuals.Billboard.Name = "7x_PlayerTiltIndicator"
                        visuals.Billboard.Size = UDim2.new(0, 80, 0, 80)
                        visuals.Billboard.StudsOffset = Vector3.new(0, 2.8, 0)
                        visuals.Billboard.AlwaysOnTop = true

                        visuals.Label = Instance.new("TextLabel")
                        visuals.Label.Size = UDim2.new(1, 0, 1, 0)
                        visuals.Label.BackgroundTransparency = 1
                        visuals.Label.Font = Enum.Font.GothamBold
                        visuals.Label.TextStrokeTransparency = 0
                        visuals.Label.Parent = visuals.Billboard

                        visuals.Billboard.Parent = pHead
                    end

                    if visuals.Label then
                        visuals.Label.TextSize = Config.VBLLetterSize
                        visuals.Label.TextColor3 = ColorPalette[Config.VBLLetterColorIndex].Color
                        if Config.VBLLetterGroundView or isInAir then
                            visuals.Label.Text = currentLetter
                        else
                            visuals.Label.Text = "-"
                        end
                    end
                else
                    if visuals.Billboard then visuals.Billboard:Destroy(); visuals.Billboard = nil end
                end
            else
                if VBLVisuals[player] then
                    if VBLVisuals[player].Beam then VBLVisuals[player].Beam:Destroy() end
                    if VBLVisuals[player].Billboard then VBLVisuals[player].Billboard:Destroy() end
                    VBLVisuals[player] = nil
                end
            end
        end
    end
end)

RunService.Stepped:Connect(function()
    if Config.AntiFling then
        for _, player in ipairs(Players:GetPlayers()) do
            if player ~= LocalPlayer and player.Character then
                for _, part in ipairs(player.Character:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = false
                        part.Velocity = Vector3.new(0, 0, 0)
                        part.RotVelocity = Vector3.new(0, 0, 0)
                    end
                end
            end
        end
    end
end)

-- ==========================================
-- // ADVANCED BOOT SEQUENCE (GLOCKS & SKULL)
-- ==========================================
local LoadingFrame = Instance.new("Frame")
LoadingFrame.Size = UDim2.new(1, 0, 1, 0)
LoadingFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
LoadingFrame.BackgroundTransparency = 0.1 
LoadingFrame.ZIndex = 10 
LoadingFrame.Parent = MainFrame

-- Center Skull Icon
local SkullText = Instance.new("TextLabel")
SkullText.Size = UDim2.new(0, 60, 0, 60)
SkullText.Position = UDim2.new(0.5, -30, 0, 15)
SkullText.BackgroundTransparency = 1
SkullText.Text = "☠"
SkullText.TextColor3 = Color3.fromRGB(0, 255, 150)
SkullText.TextSize = 50
SkullText.Font = Enum.Font.GothamBold
SkullText.ZIndex = 11
SkullText.Parent = LoadingFrame

-- Left Glock facing Right (Toward Skull)
local GlockLeft = Instance.new("TextLabel")
GlockLeft.Size = UDim2.new(0, 60, 0, 40)
GlockLeft.Position = UDim2.new(0.5, -110, 0, 25)
GlockLeft.BackgroundTransparency = 1
GlockLeft.Text = "🔫"
GlockLeft.TextSize = 35
GlockLeft.Rotation = 15
GlockLeft.ZIndex = 11
GlockLeft.Parent = LoadingFrame

-- Right Glock facing Left (Toward Skull)
local GlockRight = Instance.new("TextLabel")
GlockRight.Size = UDim2.new(0, 60, 0, 40)
GlockRight.Position = UDim2.new(0.5, 50, 0, 25)
GlockRight.BackgroundTransparency = 1
GlockRight.Text = "🔫"
GlockRight.TextSize = 35
GlockRight.Rotation = -15
GlockRight.TextXAlignment = Enum.TextXAlignment.Right
GlockRight.ZIndex = 11
GlockRight.Parent = LoadingFrame

task.spawn(function()
    while LoadingFrame.Parent do
        TweenService:Create(SkullText, TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true), {TextSize = 60, TextColor3 = Color3.fromRGB(200, 255, 200)}):Play()
        task.wait(1)
    end
end)

local TerminalText = Instance.new("TextLabel")
TerminalText.Size = UDim2.new(1, -40, 0, 30)
TerminalText.Position = UDim2.new(0, 20, 0, 110)
TerminalText.BackgroundTransparency = 1
TerminalText.Text = "> AWAITING INJECTION..."
TerminalText.TextColor3 = Color3.fromRGB(0, 255, 150)
TerminalText.TextSize = 13
TerminalText.Font = Enum.Font.Code
TerminalText.TextXAlignment = Enum.TextXAlignment.Left
TerminalText.ZIndex = 11
TerminalText.Parent = LoadingFrame

local ProgressBG = Instance.new("Frame")
ProgressBG.Size = UDim2.new(1, -40, 0, 6)
ProgressBG.Position = UDim2.new(0, 20, 0, 155)
ProgressBG.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
ProgressBG.BorderSizePixel = 0
ProgressBG.ZIndex = 11
ProgressBG.Parent = LoadingFrame

local ProgressFill = Instance.new("Frame")
ProgressFill.Size = UDim2.new(0, 0, 1, 0)
ProgressFill.BackgroundColor3 = Color3.fromRGB(0, 255, 150)
ProgressFill.BorderSizePixel = 0
ProgressFill.ZIndex = 12
ProgressFill.Parent = ProgressBG

local bounceTween = TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
local smoothTween = TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out)

TweenService:Create(MainFrame, bounceTween, {Size = UDim2.new(0, 550, 0, 320)}):Play()

task.spawn(function()
    task.wait(0.4)
    local loadDuration = 2.5
    
    TweenService:Create(ProgressFill, TweenInfo.new(loadDuration, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Size = UDim2.new(1, 0, 1, 0)}):Play()

    local jargon = {
        "Allocating VirtualAllocEx...", "Bypassing Byfron anti-tamper...", "Resolving DataModel pointer...",
        "Hooking lua_gettop & lua_settop...", "Spoofing thread identity (Level 8)...", "Parsing Luau bytecode...",
        "Patching memory regions...", "Fetching execution context...", "Establishing secure IPC...",
        "Scanning for CoreGui hooks...", "Disabling crash telemetry...", "Injecting 7x payload...", "Initializing environment..."
    }

    local startTime = os.clock()
    while os.clock() - startTime < loadDuration do
        local term = jargon[math.random(1, #jargon)]
        local fakeHex = string.format("0x%04X%04X", math.random(0, 65535), math.random(0, 65535)) 
        TerminalText.Text = "> " .. term .. " [" .. fakeHex .. "]"
        task.wait(math.random(3, 10) / 100)
    end

    TerminalText.Text = "> 7x INJECTION SUCCESSFUL."
    SkullText.TextColor3 = Color3.fromRGB(255, 255, 255)
    task.wait(0.5)
    
    TweenService:Create(LoadingFrame, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play()
    TweenService:Create(SkullText, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
    TweenService:Create(GlockLeft, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
    TweenService:Create(GlockRight, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
    TweenService:Create(TerminalText, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
    TweenService:Create(ProgressBG, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play()
    TweenService:Create(ProgressFill, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play()
    
    task.wait(0.3)
    LoadingFrame:Destroy()
    
    TopBar.Visible = true
    BodyFrame.Visible = true
    
    BodyFrame.Position = UDim2.new(0, 0, 0, 50)
    TweenService:Create(BodyFrame, smoothTween, {Position = UDim2.new(0, 0, 0, 35)}):Play()
end)

-- Window Controls (Minimize / Close)
CloseBtn.MouseButton1Click:Connect(function()
    local closeAnim = TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = UDim2.new(0, 0, 0, 0)})
    closeAnim:Play()
    closeAnim.Completed:Connect(function()
        ScreenGui:Destroy()
    end)
end)

MinBtn.MouseButton1Click:Connect(function()
    isMinimized = not isMinimized
    if isMinimized then
        BodyFrame.Visible = false
        BgImage.Visible = false
        TopBarFiller.Visible = false
        TweenService:Create(MainFrame, smoothTween, {Size = UDim2.new(0, 550, 0, 35)}):Play()
    else
        TweenService:Create(MainFrame, smoothTween, {Size = UDim2.new(0, 550, 0, 320)}):Play()
        TopBarFiller.Visible = true
        BgImage.Visible = true
        task.wait(0.1)
        BodyFrame.Visible = true
    end
end)

Features & Information

simple universal hub script ig free
#universal#aimlock#lockon#lock#LOS visualizer

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts