Xdemic Hub
Key Required

Xdemic Hub

Brookhaven 🏡RPSkihubdevkaiserSkihubdevkaiser 4.3K views 13.2K executesUpdated Apr 5, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•871 lines (30562 chars)
--[[
    XDEMIC Kaiser - MOBILE EDITION
    Made for Delta Executor on Mobile
    Tap the floating button to open/close
    Credits to original hub creators for inspiration
]]

-- ========== SERVICES ==========
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local Lighting = game:GetService("Lighting")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TouchEnabled = UserInputService.TouchEnabled

-- ========== CREATE GUI ==========
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "XdemicHexagon"
screenGui.Parent = game.CoreGui
screenGui.ResetOnSpawn = false

-- ========== FLOATING OPEN BUTTON (FOR MOBILE) ==========
local openButton = Instance.new("ImageButton")
openButton.Size = UDim2.new(0, 60, 0, 60)
openButton.Position = UDim2.new(0.85, 0, 0.85, 0)
openButton.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
openButton.BackgroundTransparency = 0.2
openButton.Image = "rbxassetid://3926305904"
openButton.ImageColor3 = Color3.fromRGB(255, 255, 255)
openButton.ScaleType = Enum.ScaleType.Fit
openButton.Parent = screenGui

local openCorner = Instance.new("UICorner")
openCorner.CornerRadius = UDim.new(1, 0)
openCorner.Parent = openButton

local openGlow = Instance.new("Frame")
openGlow.Size = UDim2.new(1, 10, 1, 10)
openGlow.Position = UDim2.new(0, -5, 0, -5)
openGlow.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
openGlow.BackgroundTransparency = 0.8
openGlow.BorderSizePixel = 0
openGlow.Parent = openButton
local openGlowCorner = Instance.new("UICorner")
openGlowCorner.CornerRadius = UDim.new(1, 0)
openGlowCorner.Parent = openGlow

-- ========== MAIN GUI FRAME ==========
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 450, 0, 550)
mainFrame.Position = UDim2.new(0.5, -225, 0.5, -275)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 25)
mainFrame.BackgroundTransparency = 0
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Visible = false
mainFrame.Parent = screenGui

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

-- Neon Glow
local glow = Instance.new("Frame")
glow.Size = UDim2.new(1, 6, 1, 6)
glow.Position = UDim2.new(0, -3, 0, -3)
glow.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
glow.BackgroundTransparency = 0.6
glow.BorderSizePixel = 0
glow.Parent = mainFrame
local glowCorner = Instance.new("UICorner")
glowCorner.CornerRadius = UDim.new(0, 18)
glowCorner.Parent = glow

-- ========== TITLE BAR ==========
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 55)
titleBar.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame

local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 16)
titleCorner.Parent = titleBar

local titleText = Instance.new("TextLabel")
titleText.Size = UDim2.new(1, -100, 1, 0)
titleText.Position = UDim2.new(0, 15, 0, 0)
titleText.BackgroundTransparency = 1
titleText.Text = "◆ XDEMIC HEXAGON ◆"
titleText.TextColor3 = Color3.fromRGB(255, 255, 255)
titleText.Font = Enum.Font.GothamBold
titleText.TextSize = 18
titleText.TextXAlignment = Enum.TextXAlignment.Left
titleText.Parent = titleBar

-- Close Button (inside GUI)
local closeGuiBtn = Instance.new("TextButton")
closeGuiBtn.Size = UDim2.new(0, 40, 1, 0)
closeGuiBtn.Position = UDim2.new(1, -40, 0, 0)
closeGuiBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 60)
closeGuiBtn.BorderSizePixel = 0
closeGuiBtn.Text = "✕"
closeGuiBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeGuiBtn.Font = Enum.Font.GothamBold
closeGuiBtn.TextSize = 20
closeGuiBtn.Parent = titleBar

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 12)
closeCorner.Parent = closeGuiBtn

closeGuiBtn.MouseButton1Click:Connect(function()
    mainFrame.Visible = false
end)

-- Minimize Button
local minBtn = Instance.new("TextButton")
minBtn.Size = UDim2.new(0, 40, 1, 0)
minBtn.Position = UDim2.new(1, -80, 0, 0)
minBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 120)
minBtn.BorderSizePixel = 0
minBtn.Text = "−"
minBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
minBtn.Font = Enum.Font.GothamBold
minBtn.TextSize = 24
minBtn.Parent = titleBar

local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 12)
minCorner.Parent = minBtn

local isMinimized = false
minBtn.MouseButton1Click:Connect(function()
    isMinimized = not isMinimized
    if isMinimized then
        mainFrame:TweenSize(UDim2.new(0, 450, 0, 55), "Out", "Quad", 0.3, true)
    else
        mainFrame:TweenSize(UDim2.new(0, 450, 0, 550), "Out", "Quad", 0.3, true)
    end
end)

-- ========== TAB BAR (SCROLLABLE FOR MOBILE) ==========
local tabBar = Instance.new("ScrollingFrame")
tabBar.Size = UDim2.new(1, 0, 0, 50)
tabBar.Position = UDim2.new(0, 0, 0, 55)
tabBar.BackgroundColor3 = Color3.fromRGB(20, 20, 35)
tabBar.BorderSizePixel = 0
tabBar.ScrollBarThickness = 0
tabBar.CanvasSize = UDim2.new(2, 0, 0, 0)
tabBar.Parent = mainFrame

local tabs = {"🕊️ MOVE", "👥 PLAYERS", "💀 TROLL", "🚗 CAR", "✨ VISUAL", "⚙️ HELP"}

local contentContainer = Instance.new("Frame")
contentContainer.Size = UDim2.new(1, -20, 1, -130)
contentContainer.Position = UDim2.new(0, 10, 0, 110)
contentContainer.BackgroundTransparency = 1
contentContainer.Parent = mainFrame

local tabContents = {}

for i, tabName in ipairs(tabs) do
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0, 90, 1, 0)
    btn.Position = UDim2.new(0, (i-1) * 95, 0, 0)
    btn.BackgroundColor3 = Color3.fromRGB(35, 35, 55)
    btn.BorderSizePixel = 0
    btn.Text = tabName
    btn.TextColor3 = Color3.fromRGB(200, 200, 200)
    btn.Font = Enum.Font.GothamSemibold
    btn.TextSize = 13
    btn.Parent = tabBar
    
    local btnCorner = Instance.new("UICorner")
    btnCorner.CornerRadius = UDim.new(0, 8)
    btnCorner.Parent = btn
    
    local content = Instance.new("ScrollingFrame")
    content.Size = UDim2.new(1, 0, 1, 0)
    content.BackgroundTransparency = 1
    content.BorderSizePixel = 0
    content.CanvasSize = UDim2.new(0, 0, 0, 500)
    content.ScrollBarThickness = 4
    content.Visible = (i == 1)
    content.Parent = contentContainer
    
    local listLayout = Instance.new("UIListLayout")
    listLayout.Padding = UDim.new(0, 8)
    listLayout.Parent = content
    
    tabContents[tabName] = content
    
    btn.MouseButton1Click:Connect(function()
        for _, otherContent in pairs(tabContents) do
            otherContent.Visible = false
        end
        content.Visible = true
        for _, otherBtn in pairs(tabBar:GetChildren()) do
            if otherBtn:IsA("TextButton") then
                otherBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 55)
                otherBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
            end
        end
        btn.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
        btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    end)
end

-- Set first tab active
local firstBtn = tabBar:FindFirstChildWhichIsA("TextButton")
if firstBtn then
    firstBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
    firstBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
end

-- ========== HELPER FUNCTIONS ==========
local function addButton(parent, text, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, -20, 0, 50)
    btn.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
    btn.BorderSizePixel = 0
    btn.Text = text
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Font = Enum.Font.GothamSemibold
    btn.TextSize = 14
    btn.Parent = parent
    
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 10)
    corner.Parent = btn
    
    btn.MouseButton1Click:Connect(callback)
    return btn
end

local function addToggle(parent, text, callback)
    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(1, -20, 0, 50)
    frame.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
    frame.BorderSizePixel = 0
    frame.Parent = parent
    
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 10)
    corner.Parent = frame
    
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(0.6, 0, 1, 0)
    label.Position = UDim2.new(0, 15, 0, 0)
    label.BackgroundTransparency = 1
    label.Text = text
    label.TextColor3 = Color3.fromRGB(255, 255, 255)
    label.Font = Enum.Font.Gotham
    label.TextSize = 13
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Parent = frame
    
    local toggleBtn = Instance.new("TextButton")
    toggleBtn.Size = UDim2.new(0, 70, 0, 35)
    toggleBtn.Position = UDim2.new(1, -85, 0.5, -17)
    toggleBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 100)
    toggleBtn.BorderSizePixel = 0
    toggleBtn.Text = "OFF"
    toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    toggleBtn.Font = Enum.Font.GothamBold
    toggleBtn.TextSize = 14
    toggleBtn.Parent = frame
    
    local toggleCorner = Instance.new("UICorner")
    toggleCorner.CornerRadius = UDim.new(0, 18)
    toggleCorner.Parent = toggleBtn
    
    local state = false
    toggleBtn.MouseButton1Click:Connect(function()
        state = not state
        toggleBtn.Text = state and "ON" or "OFF"
        toggleBtn.BackgroundColor3 = state and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(80, 80, 100)
        callback(state)
    end)
    
    return {set = function(s) state = s; toggleBtn.Text = s and "ON" or "OFF"; toggleBtn.BackgroundColor3 = s and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(80, 80, 100); callback(s) end}
end

local function addSection(parent, title)
    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1, -20, 0, 35)
    label.BackgroundTransparency = 1
    label.Text = "◆ " .. title
    label.TextColor3 = Color3.fromRGB(255, 150, 100)
    label.Font = Enum.Font.GothamBold
    label.TextSize = 14
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Parent = parent
    return label
end

-- ========== FEATURES ==========

-- FLY SYSTEM
local flying = false
local bodyVel = nil
local bodyGyro = nil

local function startFly()
    if flying then return end
    flying = true
    local char = LocalPlayer.Character
    if not char then return end
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end
    
    bodyVel = Instance.new("BodyVelocity")
    bodyVel.MaxForce = Vector3.new(1e6, 1e6, 1e6)
    bodyVel.Parent = hrp
    
    bodyGyro = Instance.new("BodyGyro")
    bodyGyro.MaxTorque = Vector3.new(1e6, 1e6, 1e6)
    bodyGyro.P = 1e5
    bodyGyro.Parent = hrp
    
    local hum = char:FindFirstChild("Humanoid")
    if hum then
        hum:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
        hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
    end
    
    UserInputService.InputChanged:Connect(function(input)
        if not flying or not hrp or not hrp.Parent then return end
        if input.UserInputType == Enum.UserInputType.Keyboard or (TouchEnabled and input.UserInputType == Enum.UserInputType.Touch) then
            local move = Vector3.new()
            if UserInputService:IsKeyDown(Enum.KeyCode.W) then move = move + Vector3.new(0, 0, -1) end
            if UserInputService:IsKeyDown(Enum.KeyCode.S) then move = move + Vector3.new(0, 0, 1) end
            if UserInputService:IsKeyDown(Enum.KeyCode.A) then move = move + Vector3.new(-1, 0, 0) end
            if UserInputService:IsKeyDown(Enum.KeyCode.D) then move = move + Vector3.new(1, 0, 0) end
            if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move = move + Vector3.new(0, 1, 0) end
            if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then move = move + Vector3.new(0, -1, 0) end
            
            if move.Magnitude > 0 then
                local cam = workspace.CurrentCamera
                local vel = (cam.CFrame.RightVector * move.X + cam.CFrame.UpVector * move.Y + cam.CFrame.LookVector * move.Z) * 85
                bodyVel.Velocity = vel
                bodyGyro.CFrame = cam.CFrame
            else
                bodyVel.Velocity = Vector3.new(0, 0, 0)
            end
        end
    end)
end

local function stopFly()
    if not flying then return end
    flying = false
    if bodyVel then bodyVel:Destroy() end
    if bodyGyro then bodyGyro:Destroy() end
    local char = LocalPlayer.Character
    if char then
        local hum = char:FindFirstChild("Humanoid")
        if hum then
            hum:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
            hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, true)
        end
    end
end

-- NO CLIP
local noclipActive = false
local noclipConn = nil

-- ESP
local espActive = false
local espHighlights = {}

local function updateESP()
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            if espActive and player.Character then
                if not espHighlights[player] then
                    local hl = Instance.new("Highlight")
                    hl.Adornee = player.Character
                    hl.FillColor = Color3.fromRGB(255, 50, 100)
                    hl.FillTransparency = 0.5
                    hl.OutlineColor = Color3.fromRGB(255, 255, 255)
                    hl.Parent = player.Character
                    espHighlights[player] = hl
                end
            else
                if espHighlights[player] then
                    espHighlights[player]:Destroy()
                    espHighlights[player] = nil
                end
            end
        end
    end
end

-- ========== TAB 1: MOVEMENT ==========
local moveTab = tabContents["🕊️ MOVE"]

addSection(moveTab, "FLIGHT")
local flyToggle = addToggle(moveTab, "FLY MODE", function(state)
    if state then startFly() else stopFly() end
end)

addSection(moveTab, "SPEED")
addButton(moveTab, "🐢 NORMAL (16)", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.WalkSpeed = 16
    end
end)
addButton(moveTab, "💨 FAST (50)", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.WalkSpeed = 50
    end
end)
addButton(moveTab, "⚡ INSANE (120)", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.WalkSpeed = 120
    end
end)

addSection(moveTab, "JUMP")
addButton(moveTab, "🦶 NORMAL (50)", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.JumpPower = 50
    end
end)
addButton(moveTab, "🦘 SUPER (150)", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.JumpPower = 150
    end
end)
addButton(moveTab, "🚀 MOON (250)", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.JumpPower = 250
    end
end)

addSection(moveTab, "OTHER")
addButton(moveTab, "❤️ HEAL FULL", function()
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.Health = LocalPlayer.Character.Humanoid.MaxHealth
    end
end)

local noclipToggle = addToggle(moveTab, "🌀 NO CLIP", function(state)
    noclipActive = state
    if state then
        noclipConn = RunService.Stepped:Connect(function()
            if LocalPlayer.Character then
                for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = false
                    end
                end
            end
        end)
    else
        if noclipConn then noclipConn:Disconnect() end
        if LocalPlayer.Character then
            for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
                if part:IsA("BasePart") then
                    part.CanCollide = true
                end
            end
        end
    end
end)

-- ========== TAB 2: PLAYERS ==========
local playersTab = tabContents["👥 PLAYERS"]

addSection(playersTab, "PLAYER LIST")

local playerList = Instance.new("ScrollingFrame")
playerList.Size = UDim2.new(1, -20, 0, 160)
playerList.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
playerList.BorderSizePixel = 0
playerList.CanvasSize = UDim2.new(0, 0, 0, 200)
playerList.ScrollBarThickness = 4
playerList.Parent = playersTab

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

local playerLayout = Instance.new("UIListLayout")
playerLayout.Padding = UDim.new(0, 5)
playerLayout.Parent = playerList

local selectedPlayer = nil

local function refreshList()
    for _, child in pairs(playerList:GetChildren()) do
        if child:IsA("TextButton") then child:Destroy() end
    end
    
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local btn = Instance.new("TextButton")
            btn.Size = UDim2.new(1, -10, 0, 40)
            btn.BackgroundColor3 = Color3.fromRGB(50, 50, 70)
            btn.BorderSizePixel = 0
            btn.Text = "👤 " .. player.Name
            btn.TextColor3 = Color3.fromRGB(255, 255, 255)
            btn.Font = Enum.Font.Gotham
            btn.TextSize = 13
            btn.Parent = playerList
            
            local btnCorner = Instance.new("UICorner")
            btnCorner.CornerRadius = UDim.new(0, 8)
            btnCorner.Parent = btn
            
            btn.MouseButton1Click:Connect(function()
                selectedPlayer = player
                for _, other in pairs(playerList:GetChildren()) do
                    if other:IsA("TextButton") then
                        other.BackgroundColor3 = Color3.fromRGB(50, 50, 70)
                    end
                end
                btn.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
            end)
        end
    end
    playerList.CanvasSize = UDim2.new(0, 0, 0, #Players:GetPlayers() * 50)
end

refreshList()
Players.PlayerAdded:Connect(refreshList)
Players.PlayerRemoving:Connect(refreshList)

addSection(playersTab, "ACTIONS")
addButton(playersTab, "📍 TELEPORT TO SELECTED", function()
    if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            LocalPlayer.Character.HumanoidRootPart.CFrame = selectedPlayer.Character.HumanoidRootPart.CFrame
        end
    end
end)
addButton(playersTab, "🔄 BRING SELECTED TO YOU", function()
    if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
        if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            selectedPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
        end
    end
end)
addButton(playersTab, "🔪 KILL SELECTED", function()
    if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("Humanoid") then
        selectedPlayer.Character.Humanoid.Health = 0
    end
end)

-- ========== TAB 3: TROLL ==========
local trollTab = tabContents["💀 TROLL"]

addSection(trollTab, "TROLL TOOLS")

addButton(trollTab, "🛋️ THROW COUCH (KILL)", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local couch = Instance.new("Part")
        couch.Size = Vector3.new(5, 2, 3)
        couch.BrickColor = BrickColor.new("Bright red")
        couch.Material = Enum.Material.Neon
        couch.Position = char.HumanoidRootPart.Position + char.HumanoidRootPart.CFrame.LookVector * 4
        couch.Parent = workspace
        
        local fire = Instance.new("Fire")
        fire.Size = 5
        fire.Parent = couch
        
        local bv = Instance.new("BodyVelocity")
        bv.Velocity = char.HumanoidRootPart.CFrame.LookVector * 120
        bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
        bv.Parent = couch
        
        couch.Touched:Connect(function(hit)
            if hit.Parent and hit.Parent:FindFirstChild("Humanoid") then
                local hum = hit.Parent:FindFirstChild("Humanoid")
                if hum and hum.Parent ~= char then
                    hum.Health = 0
                end
            end
        end)
        
        task.wait(5)
        couch:Destroy()
    end
end)

addButton(trollTab, "💣 EXPLOSION", function()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local exp = Instance.new("Explosion")
        exp.BlastRadius = 15
        exp.Position = char.HumanoidRootPart.Position
        exp.Parent = workspace
    end
end)

addButton(trollTab, "❄️ FREEZE ALL PLAYERS", function()
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            local bv = Instance.new("BodyVelocity")
            bv.Velocity = Vector3.new(0, 0, 0)
            bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
            bv.Parent = player.Character.HumanoidRootPart
            task.wait(3)
            bv:Destroy()
        end
    end
end)

addButton(trollTab, "🌀 FLING SELECTED", function()
    if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
        local bv = Instance.new("BodyVelocity")
        bv.Velocity = Vector3.new(math.random(-500, 500), 300, math.random(-500, 500))
        bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
        bv.Parent = selectedPlayer.Character.HumanoidRootPart
        task.wait(2)
        bv:Destroy()
    end
end)

addButton(trollTab, "🪄 INVISIBLE (SELF)", function()
    local char = LocalPlayer.Character
    if char then
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then
                part.Transparency = 1
            end
        end
        task.wait(5)
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") then
                part.Transparency = 0
            end
        end
    end
end)

-- ========== TAB 4: CAR ==========
local carTab = tabContents["🚗 CAR"]

addSection(carTab, "CAR CONTROLS")

local carSpeed = 80
local carControls = false
local carConnection = nil

local function getVehicle()
    local char = LocalPlayer.Character
    if not char then return nil end
    local seat = char:FindFirstChildOfClass("Seat")
    if seat and seat.Parent and seat.Parent:FindFirstChild("HumanoidRootPart") then
        return seat.Parent
    end
    return nil
end

addToggle(carTab, "ARROW KEY CAR CONTROL", function(state)
    carControls = state
    if state then
        carConnection = UserInputService.InputBegan:Connect(function(input)
            if not carControls then return end
            local vehicle = getVehicle()
            if not vehicle then return end
            local hrp = vehicle:FindFirstChild("HumanoidRootPart")
            if not hrp then return end
            
            if input.KeyCode == Enum.KeyCode.Up then
                local bv = hrp:FindFirstChild("CarVel")
                if not bv then
                    bv = Instance.new("BodyVelocity")
                    bv.Name = "CarVel"
                    bv.MaxForce = Vector3.new(1e6, 0, 1e6)
                    bv.Parent = hrp
                end
                bv.Velocity = hrp.CFrame.LookVector * carSpeed
            elseif input.KeyCode == Enum.KeyCode.Down then
                local bv = hrp:FindFirstChild("CarVel")
                if not bv then
                    bv = Instance.new("BodyVelocity")
                    bv.Name = "CarVel"
                    bv.MaxForce = Vector3.new(1e6, 0, 1e6)
                    bv.Parent = hrp
                end
                bv.Velocity = -hrp.CFrame.LookVector * (carSpeed / 2)
            elseif input.KeyCode == Enum.KeyCode.Left then
                hrp.CFrame = hrp.CFrame * CFrame.Angles(0, -0.1, 0)
            elseif input.KeyCode == Enum.KeyCode.Right then
                hrp.CFrame = hrp.CFrame * CFrame.Angles(0, 0.1, 0)
            end
        end)
    else
        if carConnection then carConnection:Disconnect() end
        local vehicle = getVehicle()
        if vehicle and vehicle:FindFirstChild("HumanoidRootPart") then
            local hrp = vehicle.HumanoidRootPart
            if hrp:FindFirstChild("CarVel") then hrp.CarVel:Destroy() end
        end
    end
end)

addSection(carTab, "CAR SPEED")

local speedBox = Instance.new("TextBox")
speedBox.Size = UDim2.new(1, -20, 0, 45)
speedBox.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
speedBox.BorderSizePixel = 0
speedBox.Text = "80"
speedBox.PlaceholderText = "Speed (50-300)"
speedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
speedBox.Font = Enum.Font.Gotham
speedBox.TextSize = 14
speedBox.Parent = carTab

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

speedBox.FocusLost:Connect(function()
    local new = tonumber(speedBox.Text)
    if new then
        carSpeed = math.clamp(new, 30, 500)
        speedBox.Text = tostring(carSpeed)
    else
        speedBox.Text = tostring(carSpeed)
    end
end)

addSection(carTab, "SPAWN VEHICLES")
addButton(carTab, "🚗 SPAWN TESLA", function()
    local remote = ReplicatedStorage:FindFirstChild("Remotes")
    if remote then
        local spawn = remote:FindFirstChild("VehicleSpawn")
        if spawn then spawn:FireServer("Tesla") end
    end
end)
addButton(carTab, "🚓 SPAWN POLICE", function()
    local remote = ReplicatedStorage:FindFirstChild("Remotes")
    if remote then
        local spawn = remote:FindFirstChild("VehicleSpawn")
        if spawn then spawn:FireServer("Police") end
    end
end)
addButton(carTab, "🏍️ SPAWN MOTORCYCLE", function()
    local remote = ReplicatedStorage:FindFirstChild("Remotes")
    if remote then
        local spawn = remote:FindFirstChild("VehicleSpawn")
        if spawn then spawn:FireServer("Motorcycle") end
    end
end)

-- ========== TAB 5: VISUALS ==========
local visTab = tabContents["✨ VISUAL"]

addSection(visTab, "ESP")
local espToggle = addToggle(visTab, "PLAYER ESP (RED)", function(state)
    espActive = state
    updateESP()
end)

Players.PlayerAdded:Connect(function()
    task.wait(0.5)
    updateESP()
end)
Players.PlayerRemoving:Connect(function()
    updateESP()
end)

addSection(visTab, "TIME")
addButton(visTab, "☀️ DAY TIME", function()
    Lighting.TimeOfDay = "14:00:00"
end)
addButton(visTab, "🌙 NIGHT TIME", function()
    Lighting.TimeOfDay = "00:00:00"
end)

addSection(visTab, "THEMES")
addButton(visTab, "🔴 RED THEME", function()
    titleBar.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
    glow.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
    openButton.BackgroundColor3 = Color3.fromRGB(255, 50, 100)
end)
addButton(visTab, "🔵 BLUE THEME", function()
    titleBar.BackgroundColor3 = Color3.fromRGB(50, 100, 255)
    glow.BackgroundColor3 = Color3.fromRGB(50, 100, 255)
    openButton.BackgroundColor3 = Color3.fromRGB(50, 100, 255)
end)
addButton(visTab, "🟢 GREEN THEME", function()
    titleBar.BackgroundColor3 = Color3.fromRGB(50, 200, 100)
    glow.BackgroundColor3 = Color3.fromRGB(50, 200, 100)
    openButton.BackgroundColor3 = Color3.fromRGB(50, 200, 100)
end)
addButton(visTab, "🟣 PURPLE THEME", function()
    titleBar.BackgroundColor3 = Color3.fromRGB(150, 50, 255)
    glow.BackgroundColor3 = Color3.fromRGB(150, 50, 255)
    openButton.BackgroundColor3 = Color3.fromRGB(150, 50, 255)
end)

-- ========== TAB 6: HELP ==========
local helpTab = tabContents["⚙️ HELP"]

addSection(helpTab, "HOW TO USE")

local helpText = Instance.new("TextLabel")
helpText.Size = UDim2.new(1, -20, 0, 180)
helpText.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
helpText.BackgroundTransparency = 0.5
helpText.Text = "◆ XDEMIC HEXAGON ◆\n\n📱 MOBILE CONTROLS:\n• Tap the RED floating button to open/close\n• Tap any button to activate\n• Swipe up/down to scroll\n\n🎮 FEATURES:\n• Fly Mode - Tap FLY button\n• Speed/Jump - Tap buttons\n• Player ESP - Toggle on/off\n• Couch Kill - Throw couch at players\n• Car Controls - Use arrow keys\n\n⚠️ Use at your own risk!"
helpText.TextColor3 = Color3.fromRGB(200, 200, 200)
helpText.Font = Enum.Font.Gotham
helpText.TextSize = 12
helpText.TextWrapped = true
helpText.Parent = helpTab

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

addSection(helpTab, "CREDITS")
local creditsText = Instance.new("TextLabel")
creditsText.Size = UDim2.new(1, -20, 0, 80)
creditsText.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
creditsText.BackgroundTransparency = 0.5
creditsText.Text = "Inspired by: Hexagon Hub, SP Hub, Owl Hub\nMade for Brookhaven RP\nWorks with Delta Executor"
creditsText.TextColor3 = Color3.fromRGB(200, 200, 200)
creditsText.Font = Enum.Font.Gotham
creditsText.TextSize = 11
creditsText.TextWrapped = true
creditsText.Parent = helpTab

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

-- ========== OPEN/CLOSE WITH FLOATING BUTTON ==========
local guiVisible = false

openButton.MouseButton1Click:Connect(function()
    guiVisible = not guiVisible
    mainFrame.Visible = guiVisible
end)

-- ========== CLEANUP ON RESPAWN ==========
LocalPlayer.CharacterAdded:Connect(function()
    if flying then
        stopFly()
        flyToggle.set(false)
    end
    if noclipActive then
        noclipToggle.set(false)
    end
end)

-- ========== DONE ==========
print("=========================================")
print("◆ XDEMIC HEXAGON - MOBILE EDITION ◆")
print("Tap the RED floating button to open!")
print("Credits to Hexagon Hub, SP Hub, Owl Hub")
print("=========================================")

-- Welcome message
local welcome = Instance.new("Hint")
welcome.Text = "◆ XDEMIC HEXAGON LOADED | Tap RED button ◆"
welcome.Parent = workspace
task.wait(3)
welcome:Destroy()

Features & Information

Not the full version still developing Some fuetures may not work⚠️
#hexagon sp hub

Community Comments (1)

jxneskxm8273jxneskxm8273Apr 5, 2026

Curta meu script

More Scripts for Brookhaven 🏡RP