Universal Script – MF HUB - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – MF HUB

Universal Scriptmf_emf_e 1.4K views 3.2K executesUpdated Oct 24, 2026
Unrated
00
Lua Script•1209 lines (50979 chars)
--[==]--
--  MF HUB | Tubers93 Team - UNIVERSAL (EDITION DELTA - COM MULTI-FLING AVANÇADO)     --
--[==]--

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local TeleportService = game:GetService("TeleportService")
local LocalPlayer = Players.LocalPlayer

local function getCharacter()
    return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
end

local function getHumanoid()
    local char = getCharacter()
    return char:FindFirstChildOfClass("Humanoid")
end

local function getRootPart()
    local char = getCharacter()
    return char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
end

if CoreGui:FindFirstChild("MFHubWelcome") then CoreGui.MFHubWelcome:Destroy() end
if CoreGui:FindFirstChild("MFHubMain") then CoreGui.MFHubMain:Destroy() end

local WelcomeGui = Instance.new("ScreenGui", CoreGui)
WelcomeGui.Name = "MFHubWelcome"
WelcomeGui.ResetOnSpawn = false

local WelFrame = Instance.new("Frame", WelcomeGui)
WelFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 18)
WelFrame.BorderColor3 = Color3.fromRGB(220, 20, 40)
WelFrame.BorderSizePixel = 2
WelFrame.Position = UDim2.new(0.5, -160, 0.5, -90)
WelFrame.Size = UDim2.new(0, 320, 0, 180)
Instance.new("UICorner", WelFrame).CornerRadius = UDim.new(0, 10)

-- Aplicando decalque de fundo na Tela de Boas-Vindas
local WelBgDecal = Instance.new("ImageLabel", WelFrame)
WelBgDecal.BackgroundTransparency = 1
WelBgDecal.Size = UDim2.new(1, 0, 1, 0)
WelBgDecal.Image = "rbxassetid://137680093217222"
WelBgDecal.ImageTransparency = 0.82
WelBgDecal.ScaleType = Enum.ScaleType.Tile
WelBgDecal.TileSize = UDim2.new(0, 80, 0, 80)
WelBgDecal.ZIndex = 0

local WelTitle = Instance.new("TextLabel", WelFrame)
WelTitle.BackgroundTransparency = 1
WelTitle.Position = UDim2.new(0, 20, 0, 25)
WelTitle.Size = UDim2.new(1, -40, 0, 40)
WelTitle.Font = Enum.Font.GothamBold
WelTitle.Text = "Seja bem-vindo ao MF Hub!"
WelTitle.TextColor3 = Color3.fromRGB(255, 30, 50)
WelTitle.TextSize = 16
WelTitle.TextXAlignment = Enum.TextXAlignment.Center
WelTitle.ZIndex = 1

local WelSub = Instance.new("TextLabel", WelFrame)
WelSub.BackgroundTransparency = 1
WelSub.Position = UDim2.new(0, 20, 0, 70)
WelSub.Size = UDim2.new(1, -40, 0, 30)
WelSub.Font = Enum.Font.Gotham
WelSub.Text = "Tubers93 Team | Multi-Fling Engine"
WelSub.TextColor3 = Color3.fromRGB(180, 180, 180)
WelSub.TextSize = 12
WelSub.TextXAlignment = Enum.TextXAlignment.Center
WelSub.ZIndex = 1

local OpenBtn = Instance.new("TextButton", WelFrame)
OpenBtn.BackgroundColor3 = Color3.fromRGB(200, 20, 40)
OpenBtn.BorderSizePixel = 0
OpenBtn.Position = UDim2.new(0.5, -90, 0, 120)
OpenBtn.Size = UDim2.new(0, 180, 0, 36)
OpenBtn.Font = Enum.Font.GothamBold
OpenBtn.Text = "OPEN"
OpenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
OpenBtn.TextSize = 14
OpenBtn.ZIndex = 1
Instance.new("UICorner", OpenBtn).CornerRadius = UDim.new(0, 6)

local MainGui = Instance.new("ScreenGui", CoreGui)
MainGui.Name = "MFHubMain"
MainGui.Enabled = false
MainGui.ResetOnSpawn = false

local MainFrame = Instance.new("Frame", MainGui)
MainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 15)
MainFrame.BorderColor3 = Color3.fromRGB(220, 20, 40)
MainFrame.BorderSizePixel = 2
MainFrame.Position = UDim2.new(0.5, -280, 0.5, -190)
MainFrame.Size = UDim2.new(0, 560, 0, 380)
MainFrame.Active = true
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 8)

-- Aplicando decalque de fundo espalhado por toda a interface principal
local MainBgDecal = Instance.new("ImageLabel", MainFrame)
MainBgDecal.BackgroundTransparency = 1
MainBgDecal.Size = UDim2.new(1, 0, 1, 0)
MainBgDecal.Image = "rbxassetid://137680093217222"
MainBgDecal.ImageTransparency = 0.82
MainBgDecal.ScaleType = Enum.ScaleType.Tile
MainBgDecal.TileSize = UDim2.new(0, 90, 0, 90)
MainBgDecal.ZIndex = 0

local dragging, dragInput, dragStart, startPos
MainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = MainFrame.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then dragging = false end
        end)
    end
end)
MainFrame.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)
RunService.RenderStepped:Connect(function()
    if dragging and dragInput then
        local delta = dragInput.Position - dragStart
        MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

local TopBar = Instance.new("Frame", MainFrame)
TopBar.BackgroundColor3 = Color3.fromRGB(18, 18, 24)
TopBar.BorderSizePixel = 0
TopBar.Size = UDim2.new(1, 0, 0, 36)
TopBar.ZIndex = 2
Instance.new("UICorner", TopBar).CornerRadius = UDim.new(0, 8)

local TitleLbl = Instance.new("TextLabel", TopBar)
TitleLbl.BackgroundTransparency = 1
TitleLbl.Position = UDim2.new(0, 15, 0, 0)
TitleLbl.Size = UDim2.new(0, 350, 1, 0)
TitleLbl.Font = Enum.Font.GothamBold
TitleLbl.Text = "MF HUB | Tubers93 Team"
TitleLbl.TextColor3 = Color3.fromRGB(255, 30, 50)
TitleLbl.TextSize = 13
TitleLbl.TextXAlignment = Enum.TextXAlignment.Left
TitleLbl.ZIndex = 2

local CloseBtn = Instance.new("TextButton", TopBar)
CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 20, 40)
CloseBtn.Position = UDim2.new(1, -32, 0.5, -11)
CloseBtn.Size = UDim2.new(0, 22, 0, 22)
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 11
CloseBtn.ZIndex = 2
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 4)
CloseBtn.MouseButton1Click:Connect(function() MainGui:Destroy() end)

local MinBtn = Instance.new("TextButton", TopBar)
MinBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
MinBtn.Position = UDim2.new(1, -60, 0.5, -11)
MinBtn.Size = UDim2.new(0, 22, 0, 22)
MinBtn.Font = Enum.Font.GothamBold
MinBtn.Text = "-"
MinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinBtn.TextSize = 12
MinBtn.ZIndex = 2
Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(0, 4)

local minimized = false
MinBtn.MouseButton1Click:Connect(function()
    minimized = not minimized
    for _, child in pairs(MainFrame:GetChildren()) do
        if child ~= TopBar and child ~= MainBgDecal and child:IsA("GuiObject") then
            child.Visible = not minimized
        end
    end
    if minimized then
        MainFrame.Size = UDim2.new(0, 560, 0, 36)
    else
        MainFrame.Size = UDim2.new(0, 560, 0, 380)
    end
end)

OpenBtn.MouseButton1Click:Connect(function()
    WelcomeGui:Destroy()
    MainGui.Enabled = true
end)

local Sidebar = Instance.new("ScrollingFrame", MainFrame)
Sidebar.Active = true
Sidebar.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
Sidebar.BorderSizePixel = 0
Sidebar.Position = UDim2.new(0, 0, 0, 36)
Sidebar.Size = UDim2.new(0, 140, 1, -36)
Sidebar.CanvasSize = UDim2.new(0, 0, 0, 350)
Sidebar.ScrollBarThickness = 2
Sidebar.ZIndex = 2
local SLayout = Instance.new("UIListLayout", Sidebar)
SLayout.SortOrder = Enum.SortOrder.LayoutOrder
SLayout.Padding = UDim.new(0, 4)

local Container = Instance.new("Frame", MainFrame)
Container.BackgroundTransparency = 1
Container.Position = UDim2.new(0, 150, 0, 46)
Container.Size = UDim2.new(1, -160, 1, -56)
Container.ZIndex = 2

local tabs, pages = {}, {}
local function makeTab(name, order)
    local btn = Instance.new("TextButton", Sidebar)
    btn.BackgroundColor3 = Color3.fromRGB(22, 22, 28)
    btn.BorderSizePixel = 0
    btn.Size = UDim2.new(1, 0, 0, 34)
    btn.Font = Enum.Font.GothamSemibold
    btn.Text = name
    btn.TextColor3 = Color3.fromRGB(180, 180, 180)
    btn.TextSize = 12
    btn.LayoutOrder = order
    btn.ZIndex = 2

    local page = Instance.new("ScrollingFrame", Container)
    page.BackgroundTransparency = 1
    page.Size = UDim2.new(1, 0, 1, 0)
    page.CanvasSize = UDim2.new(0, 0, 0, 4500)
    page.ScrollBarThickness = 3
    page.Visible = false
    page.ZIndex = 2
    local pLayout = Instance.new("UIListLayout", page)
    pLayout.SortOrder = Enum.SortOrder.LayoutOrder
    pLayout.Padding = UDim.new(0, 8)

    btn.MouseButton1Click:Connect(function()
        for _, p in pairs(pages) do p.Visible = false end
        for _, t in pairs(tabs) do t.TextColor3 = Color3.fromRGB(180, 180, 180); t.BackgroundColor3 = Color3.fromRGB(22, 22, 28) end
        page.Visible = true
        btn.TextColor3 = Color3.fromRGB(255, 255, 255)
        btn.BackgroundColor3 = Color3.fromRGB(200, 20, 40)
    end)
    tabs[name] = btn
    pages[name] = page
    return page
end

local CPage = makeTab("Créditos", 1)
pages["Créditos"].Visible = true
tabs["Créditos"].TextColor3 = Color3.fromRGB(255, 255, 255)
tabs["Créditos"].BackgroundColor3 = Color3.fromRGB(200, 20, 40)

local function addCredBlock(txt, sz)
    local l = Instance.new("TextLabel", CPage)
    l.BackgroundTransparency = 1
    l.Size = UDim2.new(1, -10, 0, sz)
    l.Font = Enum.Font.GothamBold
    l.Text = txt
    l.TextColor3 = Color3.fromRGB(240, 240, 240)
    l.TextSize = 12
    l.TextXAlignment = Enum.TextXAlignment.Left
    l.TextWrapped = true
    l.ZIndex = 2
end

addCredBlock("BY ENZO DEV", 25)
addCredBlock("DESENVOLVEDORES:\nENZO E ISAAC", 35)
addCredBlock("COLABORADORES:\nVITOR, ISAAC, ICEMANE, SOPHIA, AKILA VITÓRIA, RUAN, CARLOS, TAINÁ, PEDRO HENRIQUE, JONATHAN, DAVI CABREIRA, JOSÉ WILSON.", 65)
addCredBlock("INVESTIDORES:\nROGÉRIO, ÉRICA, LUÍSA, RODOLFO, HÉLIO, PAULO, ROSÂNGELA, FÁBIO, VIVIANE, JAQUELINE E EPIFÂNIO!", 65)
addCredBlock("AGRADECIMENTO:\nICEMANE, lillo_angel6, vitor", 40)

local MPage = makeTab("Movimento", 2)
local APage = makeTab("Avatar & Modificadores", 3)
local VPage = makeTab("Visual & Mundo", 4)
local TPage = makeTab("Troll & Fun", 5)
local TPPage = makeTab("Teleporte", 6)
local RPage = makeTab("Reset", 7)
local SExitPage = makeTab("Sair", 8)

local function addAction(pg, txt, cb)
    local b = Instance.new("TextButton", pg)
    b.BackgroundColor3 = Color3.fromRGB(20, 20, 26)
    b.BorderSizePixel = 0
    b.Size = UDim2.new(1, -10, 0, 32)
    b.Font = Enum.Font.GothamSemibold
    b.Text = txt
    b.TextColor3 = Color3.fromRGB(230, 230, 230)
    b.TextSize = 12
    b.ZIndex = 2
    Instance.new("UICorner", b).CornerRadius = UDim.new(0, 5)
    b.MouseButton1Click:Connect(function() pcall(cb) end)
end

-- =========================================================================
-- MOVIMENTO
-- =========================================================================
addAction(MPage, "[001] Super Velocidade (WalkSpeed 100)", function() local h = getHumanoid() if h then h.WalkSpeed = 100 end end)
addAction(MPage, "[002] Ultra Velocidade (WalkSpeed 200)", function() local h = getHumanoid() if h then h.WalkSpeed = 200 end end)
addAction(MPage, "[003] Velocidade Normal (WalkSpeed 16)", function() local h = getHumanoid() if h then h.WalkSpeed = 16 end end)
addAction(MPage, "[004] Super Pulo (JumpPower 150)", function() local h = getHumanoid() if h then h.UseJumpPower = true; h.JumpPower = 150 end end)
addAction(MPage, "[005] Ultra Pulo (JumpPower 250)", function() local h = getHumanoid() if h then h.UseJumpPower = true; h.JumpPower = 250 end end)
addAction(MPage, "[006] Gravidade Zero", function() Workspace.Gravity = 0 end)
addAction(MPage, "[007] Gravidade Normal", function() Workspace.Gravity = 196.2 end)

local flying = false
local flySpeed = 50
addAction(MPage, "[008] Fly Livre (Tridimensional)", function()
    flying = not flying
    local hrp = getRootPart()
    local hum = getHumanoid()
    if not hrp or not hum then flying = false return end
    if flying then
        hum.PlatformStand = true
        local bg = Instance.new("BodyGyro", hrp)
        bg.Name = "MF_FlyGyro"
        bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
        local bv = Instance.new("BodyVelocity", hrp)
        bv.Name = "MF_FlyVel"
        bv.MaxForce = Vector3.new(9e9, 9e9, 9e9)
        bv.Velocity = Vector3.new(0, 0, 0)
        task.spawn(function()
            local cam = Workspace.CurrentCamera
            while flying and getCharacter() and hrp and hrp.Parent do
                bg.CFrame = cam.CFrame
                local moveDir = Vector3.new(0,0,0)
                if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + cam.CFrame.LookVector end
                if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - cam.CFrame.LookVector end
                if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + cam.CFrame.RightVector end
                if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - cam.CFrame.RightVector end
                if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0,1,0) end
                if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0,1,0) end
                bv.Velocity = moveDir * flySpeed
                task.wait()
            end
            if bg then bg:Destroy() end
            if bv then bv:Destroy() end
            local h = getHumanoid() if h then h.PlatformStand = false end
        end)
    else
        if hrp:FindFirstChild("MF_FlyGyro") then hrp.MF_FlyGyro:Destroy() end
        if hrp:FindFirstChild("MF_FlyVel") then hrp.MF_FlyVel:Destroy() end
        hum.PlatformStand = false
    end
end)

local noclipConn
addAction(MPage, "[009] NoClip (Atravessar Paredes)", function()
    if noclipConn then noclipConn:Disconnect() end
    noclipConn = RunService.Stepped:Connect(function()
        local char = getCharacter()
        if char then
            for _, part in pairs(char:GetDescendants()) do
                if part:IsA("BasePart") then part.CanCollide = false end
            end
        end
    end)
end)

addAction(MPage, "[010] Desativar NoClip", function()
    if noclipConn then noclipConn:Disconnect(); noclipConn = nil end
    local char = getCharacter()
    if char then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then part.CanCollide = true end
        end
    end
end)

addAction(MPage, "[011] Dash Ninja (Frente 20m)", function() local hrp = getRootPart() if hrp then hrp.CFrame = hrp.CFrame + (hrp.CFrame.LookVector * 20) end end)
addAction(MPage, "[012] Super Dash (Frente 50m)", function() local hrp = getRootPart() if hrp then hrp.CFrame = hrp.CFrame + (hrp.CFrame.LookVector * 50) end end)

-- =========================================================================
-- AVATAR & MODIFICADORES
-- =========================================================================
addAction(APage, "[013] Invisível Total (Ghost)", function()
    local char = getCharacter()
    if char then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") or part:IsA("Decal") then part.Transparency = 1 end
        end
    end
end)

addAction(APage, "[014] Visível Total (Restaurar)", function()
    local char = getCharacter()
    if char then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") or part:IsA("Decal") then part.Transparency = 0 end
        end
    end
end)

addAction(APage, "[015] Encolher Personagem", function() local c = getCharacter() if c and c:FindFirstChild("Humanoid") then c.Humanoid.BodyDepthScale.Value = 0.5; c.Humanoid.BodyWidthScale.Value = 0.5; c.Humanoid.BodyHeightScale.Value = 0.5 end end)
addAction(APage, "[016] Ampliar Personagem (Gigante)", function() local c = getCharacter() if c and c:FindFirstChild("Humanoid") then c.Humanoid.BodyDepthScale.Value = 1.8; c.Humanoid.BodyWidthScale.Value = 1.8; c.Humanoid.BodyHeightScale.Value = 1.8 end end)
addAction(APage, "[017] Tamanho Normal Avatar", function() local c = getCharacter() if c and c:FindFirstChild("Humanoid") then c.Humanoid.BodyDepthScale.Value = 1; c.Humanoid.BodyWidthScale.Value = 1; c.Humanoid.BodyHeightScale.Value = 1 end end)
addAction(APage, "[018] Soltar Ferramentas (Drop All)", function() local c = getCharacter() for _, t in pairs(c:GetChildren()) do if t:IsA("Tool") then t.Parent = Workspace end end end)
addAction(APage, "[019] Cabeça Gigante", function() local c = getCharacter() if c and c:FindFirstChild("Head") then c.Head.Size = Vector3.new(4, 4, 4) end end)
addAction(APage, "[020] Cabeça Pequena", function() local c = getCharacter() if c and c:FindFirstChild("Head") then c.Head.Size = Vector3.new(0.5, 0.5, 0.5) end end)
addAction(APage, "[021] Efeito Fumaça Vermelha na Cabeça", function() local h = getCharacter():FindFirstChild("Head") if h then local s = Instance.new("Smoke", h) s.Color = Color3.fromRGB(220, 20, 40) end end)
addAction(APage, "[022] Efeito Fumaça Azul Hacker", function() local h = getCharacter():FindFirstChild("Head") if h then local s = Instance.new("Smoke", h) s.Color = Color3.fromRGB(0, 150, 255) end end)
addAction(APage, "[023] Remover Fumaças do Avatar", function() local h = getCharacter():FindFirstChild("Head") if h then for _, v in pairs(h:GetChildren()) do if v:IsA("Smoke") then v:Destroy() end end end end)
addAction(APage, "[024] Brilho Neon Azul no Corpo", function() local c = getCharacter() for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") then p.Material = Enum.Material.Neon; p.Color = Color3.fromRGB(0, 100, 255) end end end)
addAction(APage, "[025] Brilho Neon Vermelho no Corpo", function() local c = getCharacter() for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") then p.Material = Enum.Material.Neon; p.Color = Color3.fromRGB(220, 20, 40) end end end)
addAction(APage, "[026] Restaurar Materiais Padrão", function() local c = getCharacter() for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") then p.Material = Enum.Material.SmoothPlastic end end end)
addAction(APage, "[027] Faíscas de Fogo no Personagem", function() local hrp = getRootPart() if hrp then Instance.new("Fire", hrp) end end)
addAction(APage, "[028] Remover Fogo do Personagem", function() local hrp = getRootPart() if hrp then for _, v in pairs(hrp:GetChildren()) do if v:IsA("Fire") then v:Destroy() end end end end)
addAction(APage, "[029] Congelar Movimento do Corpo", function() local hrp = getRootPart() if hrp then hrp.Anchored = true end end)
addAction(APage, "[030] Descongelar Movimento do Corpo", function() local hrp = getRootPart() if hrp then hrp.Anchored = false end end)

-- =========================================================================
-- VISUAL & MUNDO
-- =========================================================================
addAction(VPage, "[031] Fullbright (Remover Escuridão)", function() Lighting.Brightness = 2; Lighting.ClockTime = 14; Lighting.GlobalShadows = false end)
addAction(VPage, "[032] Visão Geral (BrightParts)", function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and (obj.Name:lower():find("wall") or obj.Name:lower():find("part")) then obj.Transparency = 0.5 end end end)
addAction(VPage, "[033] Remover Névoa Total", function() Lighting.FogEnd = 999999 end)
addAction(VPage, "[034] Dia Infinito (Meio-Dia 12:00)", function() Lighting.ClockTime = 12 end)
addAction(VPage, "[035] Noite Infinita (Meia-Noite 00:00)", function() Lighting.ClockTime = 0 end)
addAction(VPage, "[036] Clima Hacker Matrix (Filtro Azul)", function() Lighting.FogColor = Color3.fromRGB(0, 0, 255); Lighting.FogEnd = 500 end)
addAction(VPage, "[037] Visão C00LKID (Filtro Tela)", function()
    local cc = Lighting:FindFirstChild("MF_CC") or Instance.new("ColorCorrectionEffect", Lighting)
    cc.Name = "MF_CC"
    cc.TintColor = Color3.fromRGB(50, 150, 255)
    cc.Saturation = 0.5
end)
addAction(VPage, "[038] Remover Filtro C00LKID", function() local cc = Lighting:FindFirstChild("MF_CC") if cc then cc:Destroy() end end)
addAction(VPage, "[039] X-Ray de Paredes (Local)", function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and not obj:IsDescendantOf(LocalPlayer.Character) then obj.Transparency = 0.6 end end end)
addAction(VPage, "[040] Restaurar Opacidade do Mundo", function() for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and not obj:IsDescendantOf(LocalPlayer.Character) then obj.Transparency = 0 end end end)

-- =========================================================================
-- TROLL & FUN (MOTOR MULTI-FLING AVANÇADO INTEGRADO)
-- =========================================================================
addAction(TPage, "[041] SpinBot (Girar 360 Graus sem Parar)", function()
    local hrp = getRootPart()
    if hrp then
        task.spawn(function()
            while hrp and hrp.Parent do
                hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(45), 0)
                task.wait()
            end
        end)
    end
end)

addAction(TPage, "[042] Criar Explosão Falsa Local", function()
    local hrp = getRootPart()
    if hrp then
        local exp = Instance.new("Explosion", Workspace)
        exp.Position = hrp.Position
        exp.BlastRadius = 0
    end
end)

addAction(TPage, "[043] Chuva de Partículas FX Locais", function() local hrp = getRootPart() if hrp then local p = Instance.new("ParticleEmitter", hrp) p.Color = ColorSequence.new(Color3.fromRGB(0,100,255)) p.Rate = 50 end end)
addAction(TPage, "[044] Remover Partículas FX Locais", function() local hrp = getRootPart() if hrp then for _, v in pairs(hrp:GetChildren()) do if v:IsA("ParticleEmitter") then v:Destroy() end end end end)
addAction(TPage, "[045] Parar Queda Livre (Hover Instantâneo)", function() local hrp = getRootPart() if hrp then hrp.Velocity = Vector3.new(0, 0, 0) end end)
addAction(TPage, "[046] Recarregar Personagem (Respawn Local)", function() LocalPlayer.Character:BreakJoints() end)
addAction(TPage, "[047] Destruir MF Hub Completamente", function() if CoreGui:FindFirstChild("MFHubMain") then CoreGui.MFHubMain:Destroy() end if CoreGui:FindFirstChild("MFHubWelcome") then CoreGui.MFHubWelcome:Destroy() end end)

-- =========================================================================
-- PAINEL DE SELEÇÃO DE ALVOS E MOTOR MULTI-FLING AVANÇADO
-- =========================================================================

local SelectedTargets = {}
local PlayerCheckboxes = {}
local FlingActive = false
getgenv().OldPos = nil
getgenv().FPDH = workspace.FallenPartsDestroyHeight

local function CountSelectedTargets()
    local count = 0
    for _ in pairs(SelectedTargets) do
        count = count + 1
    end
    return count
end

local StatusLabel = Instance.new("TextLabel", TPage)
StatusLabel.Size = UDim2.new(1, -10, 0, 25)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "Selecione alvos abaixo para o Fling"
StatusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
StatusLabel.Font = Enum.Font.GothamBold
StatusLabel.TextSize = 12
StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
StatusLabel.ZIndex = 2

local SelectionFrame = Instance.new("ScrollingFrame", TPage)
SelectionFrame.Size = UDim2.new(1, -10, 0, 160)
SelectionFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24)
SelectionFrame.BorderSizePixel = 0
SelectionFrame.ScrollBarThickness = 3
SelectionFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
SelectionFrame.ZIndex = 2
Instance.new("UICorner", SelectionFrame).CornerRadius = UDim.new(0, 6)
local SF_Layout = Instance.new("UIListLayout", SelectionFrame)
SF_Layout.Padding = UDim.new(0, 3)

local currentMethod = "BodyVelocity"
local methodList = {"BodyVelocity", "FlingNEW", "BodyThrust", "BodyForce", "VectorForce", "LinearVelocity", "ExplodeFling", "RocketFling", "TorqueFling", "ImpulseFling1", "ImpulseFling2", "AlignPositionFling", "PhysicsRepFling", "NaNFling"}
local methodIndex = 1

local MethodButton = Instance.new("TextButton", TPage)
MethodButton.Size = UDim2.new(1, -10, 0, 32)
MethodButton.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
MethodButton.BorderSizePixel = 0
MethodButton.Font = Enum.Font.GothamSemibold
MethodButton.Text = "Método Fling: BodyVelocity"
MethodButton.TextColor3 = Color3.fromRGB(255, 255, 255)
MethodButton.TextSize = 12
MethodButton.ZIndex = 2
Instance.new("UICorner", MethodButton).CornerRadius = UDim.new(0, 5)

MethodButton.MouseButton1Click:Connect(function()
    methodIndex = methodIndex % #methodList + 1
    currentMethod = methodList[methodIndex]
    MethodButton.Text = "Método Fling: " .. currentMethod
end)

local BtnHolder = Instance.new("Frame", TPage)
BtnHolder.Size = UDim2.new(1, -10, 0, 36)
BtnHolder.BackgroundTransparency = 1
BtnHolder.ZIndex = 2

local StartButton = Instance.new("TextButton", BtnHolder)
StartButton.Size = UDim2.new(0.48, 0, 1, 0)
StartButton.BackgroundColor3 = Color3.fromRGB(0, 160, 60)
StartButton.BorderSizePixel = 0
StartButton.Font = Enum.Font.GothamBold
StartButton.Text = "INICIAR FLING"
StartButton.TextColor3 = Color3.fromRGB(255, 255, 255)
StartButton.TextSize = 12
StartButton.ZIndex = 2
Instance.new("UICorner", StartButton).CornerRadius = UDim.new(0, 5)

local StopButton = Instance.new("TextButton", BtnHolder)
StopButton.Size = UDim2.new(0.48, 0, 1, 0)
StopButton.Position = UDim2.new(0.52, 0, 0, 0)
StopButton.BackgroundColor3 = Color3.fromRGB(180, 20, 40)
StopButton.BorderSizePixel = 0
StopButton.Font = Enum.Font.GothamBold
StopButton.Text = "PARAR FLING"
StopButton.TextColor3 = Color3.fromRGB(255, 255, 255)
StopButton.TextSize = 12
StopButton.ZIndex = 2
Instance.new("UICorner", StopButton).CornerRadius = UDim.new(0, 5)

local ActionHolder = Instance.new("Frame", TPage)
ActionHolder.Size = UDim2.new(1, -10, 0, 30)
ActionHolder.BackgroundTransparency = 1
ActionHolder.ZIndex = 2

local SelectAllBtn = Instance.new("TextButton", ActionHolder)
SelectAllBtn.Size = UDim2.new(0.48, 0, 1, 0)
SelectAllBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
SelectAllBtn.BorderSizePixel = 0
SelectAllBtn.Font = Enum.Font.GothamSemibold
SelectAllBtn.Text = "Selecionar Todos"
SelectAllBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SelectAllBtn.TextSize = 11
SelectAllBtn.ZIndex = 2
Instance.new("UICorner", SelectAllBtn).CornerRadius = UDim.new(0, 5)

local DeselectAllBtn = Instance.new("TextButton", ActionHolder)
DeselectAllBtn.Size = UDim2.new(0.48, 0, 1, 0)
DeselectAllBtn.Position = UDim2.new(0.52, 0, 0, 0)
DeselectAllBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
DeselectAllBtn.BorderSizePixel = 0
DeselectAllBtn.Font = Enum.Font.GothamSemibold
DeselectAllBtn.Text = "Desmarcar Todos"
DeselectAllBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
DeselectAllBtn.TextSize = 11
DeselectAllBtn.ZIndex = 2
Instance.new("UICorner", DeselectAllBtn).CornerRadius = UDim.new(0, 5)

local function UpdateStatus()
    local count = CountSelectedTargets()
    if FlingActive then
        StatusLabel.Text = "Status: Atacando " .. count .. " alvo(s)!"
        StatusLabel.TextColor3 = Color3.fromRGB(255, 80, 80)
    else
        StatusLabel.Text = "Status: " .. count .. " alvo(s) selecionado(s)"
        StatusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    end
end

local function hasNoCollision(character)
    if not character then return false end
    local hrp = character:FindFirstChild("HumanoidRootPart")
    if hrp and hrp:IsA("BasePart") then
        if hrp.CanCollide == false or hrp.Massless == true or hrp.Anchored == true then return true end
    end
    return false
end

local function RefreshPlayerList()
    for _, child in pairs(SelectionFrame:GetChildren()) do
        if child:IsA("Frame") then child:Destroy() end
    end
    PlayerCheckboxes = {}

    local PlayerList = Players:GetPlayers()
    table.sort(PlayerList, function(a, b) return a.Name:lower() < b.Name:lower() end)

    local yPos = 3
    for _, player in ipairs(PlayerList) do
        if player ~= LocalPlayer then
            local pEntry = Instance.new("Frame", SelectionFrame)
            pEntry.Size = UDim2.new(1, -6, 0, 28)
            pEntry.Position = UDim2.new(0, 3, 0, yPos)
            pEntry.BackgroundColor3 = Color3.fromRGB(25, 25, 32)
            pEntry.BorderSizePixel = 0
            pEntry.ZIndex = 2
            Instance.new("UICorner", pEntry).CornerRadius = UDim.new(0, 4)

            local Checkbox = Instance.new("TextButton", pEntry)
            Checkbox.Size = UDim2.new(0, 20, 0, 20)
            Checkbox.Position = UDim2.new(0, 4, 0.5, -10)
            Checkbox.BackgroundColor3 = Color3.fromRGB(40, 40, 55)
            Checkbox.BorderSizePixel = 0
            Checkbox.Text = ""
            Checkbox.ZIndex = 2
            Instance.new("UICorner", Checkbox).CornerRadius = UDim.new(0, 3)

            local Checkmark = Instance.new("TextLabel", Checkbox)
            Checkmark.Size = UDim2.new(1, 0, 1, 0)
            Checkmark.BackgroundTransparency = 1
            Checkmark.Text = "✓"
            Checkmark.TextColor3 = Color3.fromRGB(0, 255, 100)
            Checkmark.TextSize = 14
            Checkmark.Font = Enum.Font.GothamBold
            Checkmark.Visible = SelectedTargets[player.Name] ~= nil
            Checkmark.ZIndex = 2

            local NameLbl = Instance.new("TextLabel", pEntry)
            NameLbl.Size = UDim2.new(1, -30, 1, 0)
            NameLbl.Position = UDim2.new(0, 30, 0, 0)
            NameLbl.BackgroundTransparency = 1
            NameLbl.Font = Enum.Font.Gotham
            NameLbl.Text = player.Name
            NameLbl.TextColor3 = Color3.fromRGB(230, 230, 230)
            NameLbl.TextSize = 11
            NameLbl.TextXAlignment = Enum.TextXAlignment.Left
            NameLbl.ZIndex = 2

            local ClickArea = Instance.new("TextButton", pEntry)
            ClickArea.Size = UDim2.new(1, 0, 1, 0)
            ClickArea.BackgroundTransparency = 1
            ClickArea.Text = ""
            ClickArea.ZIndex = 2

            ClickArea.MouseButton1Click:Connect(function()
                if SelectedTargets[player.Name] then
                    SelectedTargets[player.Name] = nil
                    Checkmark.Visible = false
                else
                    SelectedTargets[player.Name] = player
                    Checkmark.Visible = true
                end
                UpdateStatus()
            end)

            PlayerCheckboxes[player.Name] = { Entry = pEntry, Checkmark = Checkmark }
            yPos = yPos + 31
        end
    end
    SelectionFrame.CanvasSize = UDim2.new(0, 0, 0, yPos + 5)
end

local function ToggleAll(select)
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local box = PlayerCheckboxes[player.Name]
            if box then
                if select then
                    SelectedTargets[player.Name] = player
                    box.Checkmark.Visible = true
                else
                    SelectedTargets[player.Name] = nil
                    box.Checkmark.Visible = false
                end
            end
        end
    end
    UpdateStatus()
end

SelectAllBtn.MouseButton1Click:Connect(function() ToggleAll(true) end)
DeselectAllBtn.MouseButton1Click:Connect(function() ToggleAll(false) end)

local FlingMethods = {
    ["BodyVelocity"] = function(rootPart, power, dir)
        local bv = Instance.new("BodyVelocity")
        bv.Velocity = dir * power * 100
        bv.MaxForce = Vector3.new(9e9, 9e9, 9e9)
        bv.Parent = rootPart
        return bv
    end,
    ["BodyThrust"] = function(rootPart, power, dir)
        local bt = Instance.new("BodyThrust")
        bt.Force = dir * power * 500
        bt.Location = rootPart.Position + Vector3.new(0, 1, 0)
        bt.Parent = rootPart
        return bt
    end,
    ["BodyForce"] = function(rootPart, power, dir)
        local bf = Instance.new("BodyForce")
        bf.Force = dir * power * 500
        bf.Parent = rootPart
        return bf
    end,
    ["VectorForce"] = function(rootPart, power, dir)
        local vf = Instance.new("VectorForce")
        vf.Force = dir * power * 500
        vf.Parent = rootPart
        return vf
    end,
    ["LinearVelocity"] = function(rootPart, power, dir)
        local lv = Instance.new("LinearVelocity")
        lv.Velocity = dir * power * 100
        lv.MaxForce = 9e9
        lv.Parent = rootPart
        return lv
    end,
    ["ExplodeFling"] = function(rootPart, power, dir)
        local bf = Instance.new("BodyForce")
        bf.Force = dir * power * 999999
        bf.Parent = rootPart
        local bv = Instance.new("BodyVelocity")
        bv.Velocity = Vector3.new(math.random(-1000, 1000), math.random(500, 1500), math.random(-1000, 1000))
        bv.MaxForce = Vector3.new(9e9, 9e9, 9e9)
        bv.Parent = rootPart
        game:GetService("Debris"):AddItem(bf, 0.3)
        game:GetService("Debris"):AddItem(bv, 0.3)
        return {bf, bv}
    end,
    ["NaNFling"] = function(rootPart, power, dir)
        local targetRoot = nil
        for _, player in pairs(SelectedTargets) do
            if player and player.Character then
                local tr = player.Character:FindFirstChild("HumanoidRootPart")
                if tr then targetRoot = tr break end
            end
        end
        if not targetRoot then return nil end
        local nan_val = 0 / 0
        local nan_vec = Vector3.new(nan_val, nan_val, nan_val)
        local hum = rootPart.Parent:FindFirstChildOfClass("Humanoid")
        if hum then hum.PlatformStand = true end
        rootPart.CFrame = targetRoot.CFrame
        rootPart.AssemblyLinearVelocity = nan_vec
        rootPart.AssemblyAngularVelocity = nan_vec
        pcall(function() sethiddenproperty(rootPart, "PhysicsRepRootPart", targetRoot) end)
        return nil
    end,
    ["PhysicsRepFling"] = function(rootPart, power, dir)
        if not sethiddenproperty then return nil end
        local targetRoot = nil
        for _, player in pairs(SelectedTargets) do
            if player and player.Character then
                local tr = player.Character:FindFirstChild("HumanoidRootPart")
                if tr then targetRoot = tr break end
            end
        end
        if not targetRoot then return nil end
        pcall(function() sethiddenproperty(rootPart, "PhysicsRepRootPart", targetRoot) end)
        rootPart.CFrame = targetRoot.CFrame
        rootPart.Velocity = Vector3.new(9e9, 9e9, 9e9)
        rootPart.RotVelocity = Vector3.new(9e9, 9e9, 9e9)
        return nil
    end,
    ["FlingNEW"] = function(rootPart, power, dir)
        local bodies = {}
        local targetRoot = nil
        for _, player in pairs(SelectedTargets) do
            if player and player.Character then
                local tr = player.Character:FindFirstChild("HumanoidRootPart")
                if tr then targetRoot = tr break end
            end
        end
        if not targetRoot then return nil end
        pcall(function()
            sethiddenproperty(rootPart, "PhysicsRepRootPart", targetRoot)
            sethiddenproperty(LocalPlayer, "SimulationRadius", math.huge)
        end)
        for i = 1, 100 do
            local bv = Instance.new("BodyVelocity")
            bv.Parent = rootPart
            local nan = 0/0
            bv.Velocity = Vector3.new(nan, nan, nan)
            bv.MaxForce = Vector3.new(9e30, 9e30, 9e30)
            table.insert(bodies, bv)
            game:GetService("Debris"):AddItem(bv, 0.05 + (i * 0.001))
        end
        return bodies
    end,
    ["RocketFling"] = function(rootPart, power, dir)
        local rp = Instance.new("RocketPropulsion")
        rp.Parent = rootPart
        local tPart = Instance.new("Part")
        tPart.Position = rootPart.Position + dir * 100
        tPart.Anchored = true
        tPart.CanCollide = false
        tPart.Parent = Workspace
        rp.Target = tPart
        rp.MaxThrust = power * 1000
        rp.ThrustP = 1e5
        rp.ThrustD = math.huge
        rp:Fire()
        game:GetService("Debris"):AddItem(rp, 0.5)
        game:GetService("Debris"):AddItem(tPart, 0.5)
        return rp
    end,
    ["TorqueFling"] = function(rootPart, power, dir)
        local torque = Instance.new("Torque")
        torque.Parent = rootPart
        torque.Torque = Vector3.new(power * 10000, power * 10000, power * 10000)
        game:GetService("Debris"):AddItem(torque, 0.5)
        return torque
    end,
    ["ImpulseFling1"] = function(rootPart, power, dir)
        local bodies = {}
        for i = 1, 100 do
            local bv = Instance.new("BodyVelocity")
            bv.Parent = rootPart
            bv.Velocity = Vector3.new(9e9, 9e9, 9e9)
            bv.MaxForce = Vector3.new(9e9, 9e9, 9e9)
            table.insert(bodies, bv)
            game:GetService("Debris"):AddItem(bv, 0.05)
        end
        return bodies
    end,
    ["ImpulseFling2"] = function(rootPart, power, dir)
        local bodies = {}
        for i = 1, 100 do
            local bv = Instance.new("BodyVelocity")
            bv.Parent = rootPart
            bv.Velocity = dir * power * 9e9
            bv.MaxForce = Vector3.new(9e9, 9e9, 9e9)
            table.insert(bodies, bv)
            game:GetService("Debris"):AddItem(bv, 0.05 + (i * 0.001))
        end
        return bodies
    end,
    ["AlignPositionFling"] = function(rootPart, power, dir)
        local align = Instance.new("AlignPosition")
        align.Parent = rootPart
        local att = Instance.new("Attachment", rootPart)
        align.Attachment0 = att
        local tPart = Instance.new("Part")
        tPart.Position = rootPart.Position + dir * 100
        tPart.Anchored = true
        tPart.CanCollide = false
        tPart.Parent = Workspace
        local att2 = Instance.new("Attachment", tPart)
        align.Attachment1 = att2
        align.RigidityEnabled = false
        align.MaxForce = power * 10000
        game:GetService("Debris"):AddItem(align, 0.5)
        game:GetService("Debris"):AddItem(tPart, 0.5)
        return align
    end,
}

local function SkidFling(TargetPlayer)
    local Character = LocalPlayer.Character
    local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
    local RootPart = Humanoid and Humanoid.RootPart
    local TCharacter = TargetPlayer.Character
    if not TCharacter then return end

    local THumanoid = TCharacter:FindFirstChildOfClass("Humanoid")
    local TRootPart = THumanoid and THumanoid.RootPart
    local THead = TCharacter:FindFirstChild("Head")
    local Accessory = TCharacter:FindFirstChildOfClass("Accessory")
    local Handle = Accessory and Accessory:FindFirstChild("Handle")

    if not Character or not Humanoid or not RootPart then return end

    if RootPart.Velocity.Magnitude < 50 then
        getgenv().OldPos = RootPart.CFrame
    end

    if THumanoid and THumanoid.Sit then return end

    local FPos = function(BasePart, Pos, Ang)
        RootPart.CFrame = CFrame.new(BasePart.Position) * Pos * Ang
        Character:SetPrimaryPartCFrame(CFrame.new(BasePart.Position) * Pos * Ang)
        RootPart.Velocity = Vector3.new(9e9, 9e9, 9e9)
        RootPart.RotVelocity = Vector3.new(9e9, 9e9, 9e9)
    end

    local SFBasePart = function(BasePart)
        local startTime = tick()
        local angle = 0
        local moveDir = THumanoid.MoveDirection
        local speed = THumanoid.WalkSpeed

        repeat
            if not RootPart or not THumanoid or not BasePart or not BasePart.Parent then break end
            local velMag = BasePart.Velocity.Magnitude
            local posOffset = CFrame.new(0, 1.5, 0) + moveDir * (velMag / 1.25)
            local negOffset = CFrame.new(0, -1.5, 0) + moveDir * (velMag / 1.25)

            if velMag < 50 then
                angle = angle + 100
                local ang = CFrame.Angles(math.rad(angle), 0, 0)
                FPos(BasePart, posOffset, ang); task.wait()
                FPos(BasePart, negOffset, ang); task.wait()
            else
                local high = CFrame.Angles(math.rad(90), 0, 0)
                local zero = CFrame.new()
                FPos(BasePart, CFrame.new(0, 1.5, speed), high); task.wait()
                FPos(BasePart, CFrame.new(0, -1.5, -speed), zero); task.wait()
            end
        until tick() - startTime >= 2 or not FlingActive
    end

    Workspace.FallenPartsDestroyHeight = 0/0
    local dir = Vector3.new(0, 1, 0)
    local power = 10
    local body = FlingMethods[currentMethod](RootPart, power, dir)

    Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)

    if TRootPart then
        SFBasePart(TRootPart)
    elseif THead then
        SFBasePart(THead)
    elseif Handle then
        SFBasePart(Handle)
    end

    if type(body) == "table" then
        for _, obj in ipairs(body) do if obj and obj.Destroy then obj:Destroy() end end
    elseif body and body.Destroy then
        body:Destroy()
    end

    Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)

    if getgenv().OldPos then
        repeat
            RootPart.CFrame = getgenv().OldPos * CFrame.new(0, .5, 0)
            Character:SetPrimaryPartCFrame(getgenv().OldPos * CFrame.new(0, .5, 0))
            Humanoid:ChangeState("GettingUp")
            for _, part in pairs(Character:GetChildren()) do
                if part:IsA("BasePart") then part.Velocity, part.RotVelocity = Vector3.new(), Vector3.new() end
            end
            task.wait()
        until (RootPart.Position - getgenv().OldPos.p).Magnitude < 25
        Workspace.FallenPartsDestroyHeight = getgenv().FPDH
    end
end

StartButton.MouseButton1Click:Connect(function()
    if FlingActive then return end
    if CountSelectedTargets() == 0 then
        StatusLabel.Text = "Erro: Nenhum alvo selecionado!"
        task.wait(1)
        UpdateStatus()
        return
    end

    FlingActive = true
    UpdateStatus()

    task.spawn(function()
        while FlingActive do
            for name, player in pairs(SelectedTargets) do
                if player and player.Parent then
                    if FlingActive then
                        SkidFling(player)
                        task.wait(0.1)
                    end
                else
                    SelectedTargets[name] = nil
                    if PlayerCheckboxes[name] then PlayerCheckboxes[name].Checkmark.Visible = false end
                end
            end
            UpdateStatus()
            task.wait(0.5)
        end
    end)
end)

StopButton.MouseButton1Click:Connect(function()
    if not FlingActive then return end
    FlingActive = false

    local character = LocalPlayer.Character
    if character then
        for _, v in pairs(character:GetDescendants()) do
            if v:IsA("BodyVelocity") or v:IsA("BodyForce") or v:IsA("BodyThrust") or 
               v:IsA("LinearVelocity") or v:IsA("VectorForce") or v:IsA("RocketPropulsion") or
               v:IsA("AlignPosition") or v:IsA("Torque") then
                v:Destroy()
            end
        end
        pcall(function() sethiddenproperty(character.HumanoidRootPart, "PhysicsRepRootPart", character.HumanoidRootPart) end)
    end
    UpdateStatus()
end)

Players.PlayerAdded:Connect(RefreshPlayerList)
Players.PlayerRemoving:Connect(function(player)
    if SelectedTargets[player.Name] then SelectedTargets[player.Name] = nil end
    RefreshPlayerList()
    UpdateStatus()
end)

RefreshPlayerList()
UpdateStatus()

-- =========================================================================
-- CATEGORIA TELEPORTE (SELETOR INDEPENDENTE + BOTÃO GOTO)
-- =================================0========================================
local TeleportSelectedTarget = nil
local TPCheckboxes = {}

local TPStatusLabel = Instance.new("TextLabel", TPPage)
TPStatusLabel.Size = UDim2.new(1, -10, 0, 25)
TPStatusLabel.BackgroundTransparency = 1
TPStatusLabel.Text = "Selecione um alvo para o Teleporte"
TPStatusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TPStatusLabel.Font = Enum.Font.GothamBold
TPStatusLabel.TextSize = 12
TPStatusLabel.TextXAlignment = Enum.TextXAlignment.Left
TPStatusLabel.ZIndex = 2

local TPSelectionFrame = Instance.new("ScrollingFrame", TPPage)
TPSelectionFrame.Size = UDim2.new(1, -10, 0, 200)
TPSelectionFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24)
TPSelectionFrame.BorderSizePixel = 0
TPSelectionFrame.ScrollBarThickness = 3
TPSelectionFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
TPSelectionFrame.ZIndex = 2
Instance.new("UICorner", TPSelectionFrame).CornerRadius = UDim.new(0, 6)
local TP_SF_Layout = Instance.new("UIListLayout", TPSelectionFrame)
TP_SF_Layout.Padding = UDim.new(0, 3)

local GotoButton = Instance.new("TextButton", TPPage)
GotoButton.Size = UDim2.new(1, -10, 0, 36)
GotoButton.BackgroundColor3 = Color3.fromRGB(0, 120, 220)
GotoButton.BorderSizePixel = 0
GotoButton.Font = Enum.Font.GothamBold
GotoButton.Text = "GOTO (Teleportar para a frente)"
GotoButton.TextColor3 = Color3.fromRGB(255, 255, 255)
GotoButton.TextSize = 12
GotoButton.ZIndex = 2
Instance.new("UICorner", GotoButton).CornerRadius = UDim.new(0, 5)

local function UpdateTPStatus()
    if TeleportSelectedTarget and TeleportSelectedTarget.Parent then
        TPStatusLabel.Text = "Alvo selecionado: " .. TeleportSelectedTarget.Name
        TPStatusLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
    else
        TPStatusLabel.Text = "Nenhum alvo selecionado"
        TPStatusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    end
end

local function RefreshTPPlayerList()
    for _, child in pairs(TPSelectionFrame:GetChildren()) do
        if child:IsA("Frame") then child:Destroy() end
    end
    TPCheckboxes = {}

    local PlayerList = Players:GetPlayers()
    table.sort(PlayerList, function(a, b) return a.Name:lower() < b.Name:lower() end)

    local yPos = 3
    for _, player in ipairs(PlayerList) do
        if player ~= LocalPlayer then
            local pEntry = Instance.new("Frame", TPSelectionFrame)
            pEntry.Size = UDim2.new(1, -6, 0, 28)
            pEntry.Position = UDim2.new(0, 3, 0, yPos)
            pEntry.BackgroundColor3 = Color3.fromRGB(25, 25, 32)
            pEntry.BorderSizePixel = 0
            pEntry.ZIndex = 2
            Instance.new("UICorner", pEntry).CornerRadius = UDim.new(0, 4)

            local Checkbox = Instance.new("TextButton", pEntry)
            Checkbox.Size = UDim2.new(0, 20, 0, 20)
            Checkbox.Position = UDim2.new(0, 4, 0.5, -10)
            Checkbox.BackgroundColor3 = Color3.fromRGB(40, 40, 55)
            Checkbox.BorderSizePixel = 0
            Checkbox.Text = ""
            Checkbox.ZIndex = 2
            Instance.new("UICorner", Checkbox).CornerRadius = UDim.new(0, 3)

            local Checkmark = Instance.new("TextLabel", Checkbox)
            Checkmark.Size = UDim2.new(1, 0, 1, 0)
            Checkmark.BackgroundTransparency = 1
            Checkmark.Text = "✓"
            Checkmark.TextColor3 = Color3.fromRGB(0, 255, 100)
            Checkmark.TextSize = 14
            Checkmark.Font = Enum.Font.GothamBold
            Checkmark.Visible = (TeleportSelectedTarget == player)
            Checkmark.ZIndex = 2

            local NameLbl = Instance.new("TextLabel", pEntry)
            NameLbl.Size = UDim2.new(1, -30, 1, 0)
            NameLbl.Position = UDim2.new(0, 30, 0, 0)
            NameLbl.BackgroundTransparency = 1
            NameLbl.Font = Enum.Font.Gotham
            NameLbl.Text = player.Name
            NameLbl.TextColor3 = Color3.fromRGB(230, 230, 230)
            NameLbl.TextSize = 11
            NameLbl.TextXAlignment = Enum.TextXAlignment.Left
            NameLbl.ZIndex = 2

            local ClickArea = Instance.new("TextButton", pEntry)
            ClickArea.Size = UDim2.new(1, 0, 1, 0)
            ClickArea.BackgroundTransparency = 1
            ClickArea.Text = ""
            ClickArea.ZIndex = 2

            ClickArea.MouseButton1Click:Connect(function()
                for _, box in pairs(TPCheckboxes) do
                    box.Checkmark.Visible = false
                end
                if TeleportSelectedTarget == player then
                    TeleportSelectedTarget = nil
                    Checkmark.Visible = false
                else
                    TeleportSelectedTarget = player
                    Checkmark.Visible = true
                end
                UpdateTPStatus()
            end)

            TPCheckboxes[player.Name] = { Entry = pEntry, Checkmark = Checkmark }
            yPos = yPos + 31
        end
    end
    TPSelectionFrame.CanvasSize = UDim2.new(0, 0, 0, yPos + 5)
end

GotoButton.MouseButton1Click:Connect(function()
    if not TeleportSelectedTarget or not TeleportSelectedTarget.Character then
        TPStatusLabel.Text = "Erro: Selecione um jogador válido!"
        task.wait(1)
        UpdateTPStatus()
        return
    end
    local targetRoot = TeleportSelectedTarget.Character:FindFirstChild("HumanoidRootPart")
    local hrp = getRootPart()
    if targetRoot and hrp then
        hrp.CFrame = targetRoot.CFrame + (targetRoot.CFrame.LookVector * 3) + Vector3.new(0, 2, 0)
    end
end)

-- Atualização rápida da lista de players a cada 1 segundo
task.spawn(function()
    while true do
        RefreshTPPlayerList()
        task.wait(1)
    end
end)

Players.PlayerRemoving:Connect(function(player)
    if TeleportSelectedTarget == player then
        TeleportSelectedTarget = nil
        UpdateTPStatus()
    end
end)

-- =========================================================================
-- CATEGORIA RESET
-- =========================================================================
local ResetBtn = Instance.new("TextButton", RPage)
ResetBtn.Size = UDim2.new(1, -10, 0, 45)
ResetBtn.BackgroundColor3 = Color3.fromRGB(220, 120, 20)
ResetBtn.BorderSizePixel = 0
ResetBtn.Font = Enum.Font.GothamBold
ResetBtn.Text = "RESETAR PERSONAGEM (Morrer)"
ResetBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ResetBtn.TextSize = 13
ResetBtn.ZIndex = 2
Instance.new("UICorner", ResetBtn).CornerRadius = UDim.new(0, 6)

ResetBtn.MouseButton1Click:Connect(function()
    local hum = getHumanoid()
    if hum then
        hum.Health = 0
    elseif LocalPlayer.Character then
        LocalPlayer.Character:BreakJoints()
    end
end)

-- =========================================================================
-- CATEGORIA SAIR
-- =========================================================================
local ExitGameBtn = Instance.new("TextButton", SExitPage)
ExitGameBtn.Size = UDim2.new(1, -10, 0, 45)
ExitGameBtn.BackgroundColor3 = Color3.fromRGB(200, 20, 40)
ExitGameBtn.BorderSizePixel = 0
ExitGameBtn.Font = Enum.Font.GothamBold
ExitGameBtn.Text = "SAIR DO JOGO"
ExitGameBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ExitGameBtn.TextSize = 13
ExitGameBtn.ZIndex = 2
Instance.new("UICorner", ExitGameBtn).CornerRadius = UDim.new(0, 6)

ExitGameBtn.MouseButton1Click:Connect(function()
    game:Shutdown()
end)

How to Execute Universal Script – MF HUB

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join Universal Script.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

mf_e
mf_e
Script Creator
View Author Profile

Features & Information

Execute Universal Script – MF HUB. Key system required, created by mf_e, updated Oct 24, 2026. Tested and working on supported executors.
#MF HUB#Hub

Script Changelog (2)

@QueueSherlockOct 25, 2026

Edited during review before approval

@mf_eOct 24, 2026

Create script

Community Comments (3)

lol_neshedilol_neshediOct 25, 2026

the duckkk!!

synheresynhereOct 25, 2026

the WHAt HUB bro

Replying to @synhere
mf_emf_eOct 25, 2026(edited)

@synhere Hey, you can talk, bro.

Frequently Asked Questions

How do I execute Universal Script – MF HUB in Roblox?

To run Universal Script – MF HUB, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is Universal Script – MF HUB keyless or does it require an access key?

Universal Script – MF HUB requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – MF HUB currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.