Car hub (FE) OP (FREE-no Key)
Key Required

Car hub (FE) OP (FREE-no Key)

Brookhaven 🏡RPPao_scriptsPao_scripts 2.8K views 9.7K executesUpdated Aug 18, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•461 lines (15962 chars)
-- [[ CAR HUB FE OP - BROOKHAVEN ]] --

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Workspace = game:GetService("Workspace")

-- Tele de Carregamento (Loading Screen)
local ScreenGui = Instance.new("ScreenGui")
local LoadingFrame = Instance.new("Frame")
local LoadingText = Instance.new("TextLabel")
local UICorner = Instance.new("UICorner")

ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false

LoadingFrame.Parent = ScreenGui
LoadingFrame.BackgroundColor3 = Color3.fromRGB(128, 0, 128)
LoadingFrame.Position = UDim2.new(0.35, 0, 0.4, 0)
LoadingFrame.Size = UDim2.new(0, 300, 0, 150)
LoadingFrame.Active = true

UICorner.CornerRadius = UDim.new(0, 12)
UICorner.Parent = LoadingFrame

LoadingText.Parent = LoadingFrame
LoadingText.BackgroundTransparency = 1
LoadingText.Size = UDim2.new(1, 0, 1, 0)
LoadingText.Font = Enum.Font.SourceSansBold
LoadingText.Text = "CARREGANDO..."
LoadingText.TextColor3 = Color3.fromRGB(255, 255, 255)
LoadingText.TextSize = 28

task.wait(3)
ScreenGui:Destroy()

-- Notificação de Boas-Vindas
game:GetService("StarterGui"):SetCore("SendNotification", {
    Title = "CAR HUB FE OP",
    Text = "BEM VINDO(A), " .. LocalPlayer.DisplayName,
    Duration = 5
})

-- Carregamento da Fluent UI
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()

local Window = Fluent:CreateWindow({
    Title = "CAR HUB FE OP",
    SubTitle = "Brookhaven FE",
    TabWidth = 140,
    Size = UDim2.fromOffset(480, 340), -- UI Menor
    Theme = "Dark",
    Acrylic = false
})

-- Modificação do Menu para Roxo
Fluent.Options = Fluent.Options or {}
Window.Root.BackgroundColor3 = Color3.fromRGB(45, 10, 60)

-- Variáveis Globais de Controle
local TargetPlayerCarros = ""
local TargetPlayerTrolls = ""
local SpeedGiro = 50

local SuperPuloLoop = nil
local GiroLoop = nil
local SeguirDonoLoop = nil
local OrbitLoop = nil
local FollowLoop = nil

-- Função Auxiliar para Encontrar Jogador pelo Primeiro Nome
local function GetPlayerByFirstName(name)
    name = string.lower(name)
    for _, player in pairs(Players:GetPlayers()) do
        if string.sub(string.lower(player.Name), 1, #name) == name or string.sub(string.lower(player.DisplayName), 1, #name) == name then
            return player
        end
    end
    return nil
end

-- Função para verificar se o jogador com script está sozinho no veículo
local function IsSoloInVehicle(vehicle)
    if not vehicle then return false end
    local occupants = 0
    local isLocalPlayerInside = false
    
    for _, desc in pairs(vehicle:GetDescendants()) do
        if desc:IsA("VehicleSeat") or desc:IsA("Seat") then
            if desc.Occupant then
                occupants = occupants + 1
                if desc.Occupant.Parent == LocalPlayer.Character then
                    isLocalPlayerInside = true
                end
            end
        end
    end
    return isLocalPlayerInside and occupants == 1
end

-- Função para verificar se o carro está completamente vazio
local function IsVehicleEmpty(vehicle)
    if not vehicle then return false end
    for _, desc in pairs(vehicle:GetDescendants()) do
        if desc:IsA("VehicleSeat") or desc:IsA("Seat") then
            if desc.Occupant then return false end
        end
    end
    return true
end

-- Função para buscar o veículo de um jogador
local function GetPlayerVehicle(player)
    if not player or not player.Character then return nil end
    local vehicles = Workspace:FindFirstChild("Vehicles") or Workspace
    for _, veh in pairs(vehicles:GetChildren()) do
        if veh:FindFirstChild("Owner") and veh.Owner.Value == player.Name then
            return veh
        elseif veh.Name:find(player.Name) then
            return veh
        end
    end
    return nil
end

--------------------------------------------------------------------------------
-- ABA 1: CARROS
--------------------------------------------------------------------------------
local TabCarros = Window:AddTab({ Title = "CARROS", Icon = "car" })

TabCarros:AddInput("InputJogadorCarros", {
    Title = "JOGADOR:",
    Default = "",
    Placeholder = "Primeiro nome...",
    Callback = function(Value)
        TargetPlayerCarros = Value
    end
})

TabCarros:AddButton({
    Title = "VERIFICAR",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerCarros)
        if target then
            Fluent:Notify({ Title = "Status", Content = target.Name .. " está ativo", Duration = 3 })
        else
            Fluent:Notify({ Title = "Status", Content = "JOGADOR INVALIDO", Duration = 3 })
        end
    end
})

TabCarros:AddButton({
    Title = "SUPER PULO(CARROS)",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerCarros)
        local veh = GetPlayerVehicle(target)
        if SuperPuloLoop then SuperPuloLoop:Disconnect() end
        
        SuperPuloLoop = RunService.Heartbeat:Connect(function()
            if veh and IsSoloInVehicle(veh) then
                local primary = veh.PrimaryPart or veh:FindFirstChildWhichIsA("BasePart")
                if primary then
                    primary.Velocity = Vector3.new(primary.Velocity.X, 50, primary.Velocity.Z)
                end
            end
        end)
    end
})

TabCarros:AddButton({
    Title = "PARAR PULO",
    Callback = function()
        if SuperPuloLoop then
            SuperPuloLoop:Disconnect()
            SuperPuloLoop = nil
        end
    end
})

TabCarros:AddParagraph({ Title = "GIRO (FE)", Content = "GIRE QUALQUER CARRO DO JOGADOR SELECIONADO" })

TabCarros:AddInput("InputVelocidade", {
    Title = "VELOCIDADE:",
    Default = "50",
    Numeric = true,
    Finished = true,
    Callback = function(Value)
        SpeedGiro = tonumber(Value) or 50
    end
})

TabCarros:AddButton({
    Title = "GIRAR CARRO SELECIONADO",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerCarros)
        local veh = GetPlayerVehicle(target)
        if GiroLoop then GiroLoop:Disconnect() end
        
        GiroLoop = RunService.Heartbeat:Connect(function()
            if veh and IsSoloInVehicle(veh) then
                local primary = veh.PrimaryPart or veh:FindFirstChildWhichIsA("BasePart")
                if primary then
                    primary.CFrame = primary.CFrame * CFrame.Angles(0, math.rad(SpeedGiro), 0)
                end
            end
        end)
    end
})

TabCarros:AddButton({
    Title = "PARAR GIRO",
    Callback = function()
        if GiroLoop then
            GiroLoop:Disconnect()
            GiroLoop = nil
        end
    end
})

--------------------------------------------------------------------------------
-- ABA 2: TROLLS
--------------------------------------------------------------------------------
local TabTrolls = Window:AddTab({ Title = "TROLLS", Icon = "skull" })

TabTrolls:AddInput("InputJogadorTrolls", {
    Title = "JOGADOR:",
    Default = "",
    Placeholder = "Primeiro nome...",
    Callback = function(Value)
        TargetPlayerTrolls = Value
    end
})

TabTrolls:AddButton({
    Title = "VERIFICAR",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerTrolls)
        if target then
            Fluent:Notify({ Title = "Status", Content = target.Name .. " está ativo", Duration = 3 })
        else
            Fluent:Notify({ Title = "Status", Content = "JOGADOR INVALIDO", Duration = 3 })
        end
    end
})

TabTrolls:AddButton({
    Title = "TRAZER CARRO(CARROS)",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerTrolls)
        local veh = GetPlayerVehicle(target)
        if veh and IsVehicleEmpty(veh) and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            local primary = veh.PrimaryPart or veh:FindFirstChildWhichIsA("BasePart")
            if primary then
                primary.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, -5)
            end
        end
    end
})

TabTrolls:AddButton({
    Title = "SEGUIR DONO(CARROS)",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerTrolls)
        local veh = GetPlayerVehicle(target)
        if SeguirDonoLoop then SeguirDonoLoop:Disconnect() end
        
        SeguirDonoLoop = RunService.Heartbeat:Connect(function()
            if veh and IsSoloInVehicle(veh) and target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
                local primary = veh.PrimaryPart or veh:FindFirstChildWhichIsA("BasePart")
                if primary then
                    primary.CFrame = target.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 8)
                end
            end
        end)
    end
})

TabTrolls:AddButton({
    Title = "PARAR DE SEGUIR(DONO)",
    Callback = function()
        if SeguirDonoLoop then
            SeguirDonoLoop:Disconnect()
            SeguirDonoLoop = nil
        end
    end
})

TabTrolls:AddButton({
    Title = "FRENTE(CARROS)",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerTrolls)
        local veh = GetPlayerVehicle(target)
        if veh and IsSoloInVehicle(veh) then
            local primary = veh.PrimaryPart or veh:FindFirstChildWhichIsA("BasePart")
            if primary then
                primary.CFrame = primary.CFrame * CFrame.new(0, 0, -3)
            end
        end
    end
})

TabTrolls:AddButton({
    Title = "TRAS(CARROS)",
    Callback = function()
        local target = GetPlayerByFirstName(TargetPlayerTrolls)
        local veh = GetPlayerVehicle(target)
        if veh and IsSoloInVehicle(veh) then
            local primary = veh.PrimaryPart or veh:FindFirstChildWhichIsA("BasePart")
            if primary then
                primary.CFrame = primary.CFrame * CFrame.new(0, 0, 3)
            end
        end
    end
})

--------------------------------------------------------------------------------
-- ABA 3: COMMANDOS
--------------------------------------------------------------------------------
local TabCommandos = Window:AddTab({ Title = "COMMANDOS", Icon = "terminal" })

TabCommandos:AddParagraph({
    Title = "COMMANDOS:",
    Content = "Para ativa os COMMANDOS do script digite no chat: ;cmds para ativar"
})

-- Criando Menu de Comandos Clássico Arrastável
local CmdsGui = Instance.new("ScreenGui")
local CmdsFrame = Instance.new("Frame")
local CmdsTitle = Instance.new("TextLabel")
local CloseBtn = Instance.new("TextButton")
local ScrollFrame = Instance.new("ScrollingFrame")
local UIListLayout = Instance.new("UIListLayout")

CmdsGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
CmdsGui.Enabled = false
CmdsGui.ResetOnSpawn = false

CmdsFrame.Parent = CmdsGui
CmdsFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
CmdsFrame.BorderSizePixel = 2
CmdsFrame.BorderColor3 = Color3.fromRGB(128, 0, 128)
CmdsFrame.Position = UDim2.new(0.1, 0, 0.2, 0)
CmdsFrame.Size = UDim2.new(0, 260, 0, 220)
CmdsFrame.Active = true
CmdsFrame.Draggable = true

CmdsTitle.Parent = CmdsFrame
CmdsTitle.BackgroundColor3 = Color3.fromRGB(128, 0, 128)
CmdsTitle.Size = UDim2.new(1, -30, 0, 25)
CmdsTitle.Font = Enum.Font.SourceSansBold
CmdsTitle.Text = " LISTA DE COMANDOS"
CmdsTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
CmdsTitle.TextSize = 14
CmdsTitle.TextXAlignment = Enum.TextXAlignment.Left

CloseBtn.Parent = CmdsFrame
CloseBtn.BackgroundColor3 = Color3.fromRGB(180, 0, 0)
CloseBtn.Position = UDim2.new(1, -30, 0, 0)
CloseBtn.Size = UDim2.new(0, 30, 0, 25)
CloseBtn.Font = Enum.Font.SourceSansBold
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 14

CloseBtn.MouseButton1Click:Connect(function()
    CmdsGui.Enabled = false
end)

ScrollFrame.Parent = CmdsFrame
ScrollFrame.BackgroundTransparency = 1
ScrollFrame.Position = UDim2.new(0, 5, 0, 30)
ScrollFrame.Size = UDim2.new(1, -10, 1, -35)
ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 200)
ScrollFrame.ScrollBarThickness = 6

UIListLayout.Parent = ScrollFrame
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 5)

local listaComandos = {
    ";view(NOME DO JOGADOR)",
    ";unview",
    ";Headsit: (nome do jogador)",
    ";unheadsit",
    ";orbit: (nome do jogador)",
    ";unorbit",
    ";follow: (nome do jogador)",
    ";unfollow"
}

for _, cmdText in ipairs(listaComandos) do
    local lbl = Instance.new("TextLabel")
    lbl.Parent = ScrollFrame
    lbl.Size = UDim2.new(1, 0, 0, 20)
    lbl.BackgroundTransparency = 1
    lbl.Font = Enum.Font.SourceSans
    lbl.Text = cmdText
    lbl.TextColor3 = Color3.fromRGB(255, 255, 255)
    lbl.TextSize = 14
    lbl.TextXAlignment = Enum.TextXAlignment.Left
end

-- Processamento de Comandos de Chat
LocalPlayer.Chatted:Connect(function(msg)
    local args = string.split(msg, " ")
    local cmd = string.lower(args[1] or "")
    local targetName = args[2] or ""

    if cmd == ";cmds" then
        CmdsGui.Enabled = true
    elseif cmd == ";view" and targetName ~= "" then
        local target = GetPlayerByFirstName(targetName)
        if target and target.Character and target.Character:FindFirstChild("Humanoid") then
            Workspace.CurrentCamera.CameraSubject = target.Character.Humanoid
        end
    elseif cmd == ";unview" then
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
            Workspace.CurrentCamera.CameraSubject = LocalPlayer.Character.Humanoid
        end
    elseif cmd == ";headsit" and targetName ~= "" then
        local target = GetPlayerByFirstName(targetName)
        if target and target.Character and target.Character:FindFirstChild("Head") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            LocalPlayer.Character.HumanoidRootPart.CFrame = target.Character.Head.CFrame * CFrame.new(0, 1.5, 0)
        end
    elseif cmd == ";unheadsit" then
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            LocalPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 3, 0)
        end
    elseif cmd == ";orbit" and targetName ~= "" then
        local target = GetPlayerByFirstName(targetName)
        if OrbitLoop then OrbitLoop:Disconnect() end
        local angle = 0
        OrbitLoop = RunService.Heartbeat:Connect(function()
            if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                angle = angle + 0.05
                local offset = Vector3.new(math.cos(angle) * 8, 0, math.sin(angle) * 8)
                LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(target.Character.HumanoidRootPart.Position + offset, target.Character.HumanoidRootPart.Position)
            end
        end)
    elseif cmd == ";unorbit" then
        if OrbitLoop then
            OrbitLoop:Disconnect()
            OrbitLoop = nil
        end
    elseif cmd == ";follow" and targetName ~= "" then
        local target = GetPlayerByFirstName(targetName)
        if FollowLoop then FollowLoop:Disconnect() end
        FollowLoop = RunService.Heartbeat:Connect(function()
            if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                LocalPlayer.Character.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 4)
            end
        end)
    elseif cmd == ";unfollow" then
        if FollowLoop then
            FollowLoop:Disconnect()
            FollowLoop = nil
        end
    end
end)

Window:SelectTab(1)

Features & Information

Car Hub FE OP is fully FE with commands that you can type in the chat, unlike the CAR HUB REMAKE, it's made in FLUENT UI to be more OP.

Community Comments (1)

Is this actually fe or nah

More Scripts for Brookhaven 🏡RP