Skip to content
 
 

Latest commit

 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

--// 🌌 Dead hub - Tela de Carregamento Futurista (CLEAN & OP) -- LocalScript -> StarterPlayerScripts

local TweenService = game:GetService("TweenService") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") local ReplicatedStorage = game:GetService("ReplicatedStorage")

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

-- CONFIG local CONFIG = { Theme = { bgStart = Color3.fromRGB(90,0,150), bgEnd = Color3.fromRGB(170,0,255), accent = Color3.fromRGB(200,130,255), text = Color3.fromRGB(255,220,255) }, Music = { SoundId = "rbxassetid://1841647093", Volume = 0.6, FadeStep = 0.02 }, Keylist = { "DEAD-OP-2025", "GODMODE-RODRI" }, -- local only ParticleCount = 28, ParticleUpdateRate = 0.06, ESPUpdateRate = 0.12 }

-- UTILS local function safePcall(fn, ...) local ok, res = pcall(fn, ...) if not ok then warn("[DeadHub] ", res) end return ok, res end local function clamp(v, a, b) return math.max(a, math.min(b, v)) end

-- CONNECTION TRACKING (para evitar leaks) local Connections = {} local function addConn(conn) if conn then table.insert(Connections, conn) end end local function disconnectAll() for _, c in ipairs(Connections) do if c and c.Disconnect then pcall(function() c:Disconnect() end) elseif type(c) == "function" then -- ignore end end Connections = {} end

-- GUI CREATION local function createMainGui() local Gui = Instance.new("ScreenGui") Gui.Name = "DeadHub_OP" Gui.IgnoreGuiInset = true Gui.ResetOnSpawn = false Gui.Parent = PlayerGui

local Background = Instance.new("Frame")
Background.Size = UDim2.new(1,0,1,0)
Background.BackgroundColor3 = CONFIG.Theme.bgStart
Background.BorderSizePixel = 0
Background.Parent = Gui

local Gradient = Instance.new("UIGradient")
Gradient.Color = ColorSequence.new{
    ColorSequenceKeypoint.new(0, CONFIG.Theme.bgStart),
    ColorSequenceKeypoint.new(1, CONFIG.Theme.bgEnd)
}
Gradient.Rotation = 45
Gradient.Parent = Background

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(0,480,0,72)
Title.Position = UDim2.new(0.5,-240,0.12,0)
Title.BackgroundTransparency = 1
Title.Text = "👑 Dead hub 👑"
Title.Font = Enum.Font.GothamBlack
Title.TextScaled = true
Title.TextColor3 = CONFIG.Theme.text
Title.TextTransparency = 1
Title.Parent = Gui

local Logo = Instance.new("ImageLabel")
Logo.Size = UDim2.new(0,88,0,88)
Logo.Position = UDim2.new(0.5,-44,0.38,-44)
Logo.BackgroundTransparency = 1
Logo.Image = "rbxassetid://97023202251640"
Logo.ImageTransparency = 1
Logo.Parent = Gui

local LoadingText = Instance.new("TextLabel")
LoadingText.Size = UDim2.new(0,420,0,44)
LoadingText.Position = UDim2.new(0.5,-210,0.7,0)
LoadingText.BackgroundTransparency = 1
LoadingText.Text = "Inicializando..."
LoadingText.Font = Enum.Font.GothamBold
LoadingText.TextSize = 24
LoadingText.TextColor3 = Color3.fromRGB(255,255,255)
LoadingText.Parent = Gui

local BarBG = Instance.new("Frame")
BarBG.Size = UDim2.new(0,420,0,16)
BarBG.Position = UDim2.new(0.5,-210,0.78,0)
BarBG.BackgroundColor3 = Color3.fromRGB(60,0,90)
BarBG.BorderSizePixel = 0
BarBG.Parent = Gui

local Bar = Instance.new("Frame")
Bar.Size = UDim2.new(0,0,1,0)
Bar.BackgroundColor3 = CONFIG.Theme.accent
Bar.BorderSizePixel = 0
Bar.Parent = BarBG

local Stroke = Instance.new("UIStroke")
Stroke.Thickness = 2
Stroke.Color = CONFIG.Theme.text
Stroke.Parent = Bar

local Flash = Instance.new("Frame")
Flash.Size = UDim2.new(1,0,1,0)
Flash.BackgroundColor3 = Color3.new(1,1,1)
Flash.BackgroundTransparency = 1
Flash.ZIndex = 100
Flash.Parent = Gui

return {
    Gui = Gui,
    Background = Background,
    Title = Title,
    Logo = Logo,
    LoadingText = LoadingText,
    BarBG = BarBG,
    Bar = Bar,
    Flash = Flash
}

end

-- AUDIO (cria e devolve sound) local function createAndPlayMusic(parent) local ok, sound = pcall(function() local s = Instance.new("Sound") s.Name = "DeadHubMusic" s.SoundId = CONFIG.Music.SoundId s.Looped = true s.Volume = CONFIG.Music.Volume s.Parent = parent s:Play() return s end) if ok then return sound end return nil end

local function fadeOutSound(sound) if not sound then return end task.spawn(function() while sound.Volume > 0 and sound.Parent do sound.Volume = clamp(sound.Volume - CONFIG.Music.FadeStep, 0, 1) task.wait(0.04) end pcall(function() sound:Stop() end) end) end

-- PARTICLE POOL (UI) local ParticlePool = { pool = {}, _t = 0 } local function setupParticles(guiParent) -- limpar pool anterior for _, p in ipairs(ParticlePool.pool) do p:Destroy() end ParticlePool.pool = {} for i = 1, CONFIG.ParticleCount do local p = Instance.new("Frame") p.Size = UDim2.new(0, math.random(6, 12), 0, math.random(6, 12)) p.Position = UDim2.new(math.random(), 0, math.random(), 0) p.BackgroundColor3 = CONFIG.Theme.text p.BackgroundTransparency = math.random(3, 7) / 10 p.BorderSizePixel = 0 p.ZIndex = 3 p.Parent = guiParent

    local glow = Instance.new("UIStroke")
    glow.Thickness = 1
    glow.Transparency = 0.35
    glow.Color = CONFIG.Theme.text
    glow.Parent = p

    table.insert(ParticlePool.pool, p)
end
ParticlePool._t = 0
-- heartbeat handler adicionado pelo init (veja abaixo)

end

-- LOADER (suave) local function runLoader() local ui = createMainGui() local music = createAndPlayMusic(ui.Gui)

TweenService:Create(ui.Logo, TweenInfo.new(1.4, Enum.EasingStyle.Quint), {ImageTransparency = 0}):Play()
TweenService:Create(ui.Title, TweenInfo.new(1.0, Enum.EasingStyle.Quint), {TextTransparency = 0}):Play()

setupParticles(ui.Gui)

local progress = 0
local messages = {
    {limit = 25, text = "Carregando configurações"},
    {limit = 50, text = "Carregando módulos"},
    {limit = 75, text = "Carregando UI"},
    {limit = 100, text = "Finalizando"}
}

while progress <= 100 do
    local currentMessage = ""
    for _, m in ipairs(messages) do if progress <= m.limit then currentMessage = m.text; break end end
    ui.LoadingText.Text = string.format("%s%s %d%%", currentMessage, string.rep(".", (progress%3)+1), progress)
    ui.Bar.Size = UDim2.new(progress/100, 0, 1, 0)
    progress = progress + (1 + (progress/100)) -- acelera com o tempo
    task.wait(0.03)
end

TweenService:Create(ui.Flash, TweenInfo.new(0.35, Enum.EasingStyle.Quad), {BackgroundTransparency = 0.45}):Play()
TweenService:Create(ui.Logo, TweenInfo.new(0.8, Enum.EasingStyle.Quad), {ImageTransparency = 1}):Play()
TweenService:Create(ui.LoadingText, TweenInfo.new(0.8, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play()
TweenService:Create(ui.Title, TweenInfo.new(0.8, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play()
TweenService:Create(ui.Background, TweenInfo.new(1.0, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play()

task.wait(0.9)
TweenService:Create(ui.Flash, TweenInfo.new(0.6), {BackgroundTransparency = 1}):Play()
task.wait(0.4)

-- garante desconexão de event handlers ao fechar UI
disconnectAll()

-- fade music
fadeOutSound(music)
if ui.Gui and ui.Gui.Parent then ui.Gui:Destroy() end

end

-- ESP (otimizado) local ESP = { enabled = false, billboards = {}, conn = nil, t = 0 } local function createOrUpdateBillboard(player) if player == LocalPlayer then return end local char = player.Character if not char then return end local head = char:FindFirstChild("Head") if not head then return end

local existing = ESP.billboards[player]
if existing and existing.billboard and existing.billboard.Parent == head then
    local lbl = existing.billboard:FindFirstChild("TextLabel")
    if lbl then lbl.Text = player.Name .. " | " .. player.AccountAge .. " dias" end
    return
end

if existing and existing.billboard then existing.billboard:Destroy() end

local billboard = Instance.new("BillboardGui")
billboard.Name = "ESP_Billboard"
billboard.Parent = head
billboard.Adornee = head
billboard.Size = UDim2.new(0,160,0,34)
billboard.StudsOffset = Vector3.new(0,3,0)
billboard.AlwaysOnTop = true

local textLabel = Instance.new("TextLabel")
textLabel.BackgroundTransparency = 1
textLabel.Size = UDim2.new(1,0,1,0)
textLabel.Font = Enum.Font.SourceSansBold
textLabel.TextSize = 14
textLabel.Text = player.Name .. " | " .. player.AccountAge .. " dias"
textLabel.TextColor3 = CONFIG.Theme.accent
textLabel.Parent = billboard

ESP.billboards[player] = { billboard = billboard }

end

local function removeBillboard(player) if ESP.billboards[player] and ESP.billboards[player].billboard then ESP.billboards[player].billboard:Destroy() end ESP.billboards[player] = nil end

local function toggleESP(state) ESP.enabled = state if state then for _, p in ipairs(Players:GetPlayers()) do createOrUpdateBillboard(p) end ESP.conn = RunService.Heartbeat:Connect(function(dt) ESP.t = ESP.t + dt if ESP.t >= CONFIG.ESPUpdateRate then ESP.t = 0 for , p in ipairs(Players:GetPlayers()) do if p.Character and p.Character:FindFirstChild("Head") then createOrUpdateBillboard(p) end end end end) addConn(ESP.conn) Players.PlayerAdded:Connect(function(p) createOrUpdateBillboard(p) end) Players.PlayerRemoving:Connect(function(p) removeBillboard(p) end) else if ESP.conn then ESP.conn:Disconnect() end for p, in pairs(ESP.billboards) do removeBillboard(p) end ESP.billboards = {} ESP.conn = nil end end

-- HEADSIT (seguindo checks) local function headsitOnPlayerSafely(target) if not target or not target.Character then return false end local localChar = LocalPlayer.Character local root = localChar and localChar:FindFirstChild("HumanoidRootPart") local targetHead = target.Character:FindFirstChild("Head") if not root or not targetHead then return false end

-- remove welds antigos
for _, c in ipairs(root:GetChildren()) do if c:IsA("WeldConstraint") then pcall(function() c:Destroy() end) end end
root.CFrame = targetHead.CFrame * CFrame.new(0,2.2,0)
local weld = Instance.new("WeldConstraint")
weld.Part0 = root
weld.Part1 = targetHead
weld.Parent = root

local hum = localChar:FindFirstChildOfClass("Humanoid")
if hum then hum.Sit = true end
return true

end

local function removeHeadsit() local char = LocalPlayer.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") if root then for _, v in ipairs(root:GetChildren()) do if v:IsA("WeldConstraint") then pcall(function() v:Destroy() end) end end end local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.Sit = false end end

-- ULTIMATE NOCIP (rework leve) local Noclip = { conn = nil, enabled = false } local function setCharCollision(character, canCollide) if not character then return end for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = canCollide pcall(function() part.Anchored = false end) end end end

local function enableNoclip(state) Noclip.enabled = state if state then if Noclip.conn then Noclip.conn:Disconnect() end Noclip.conn = RunService.Heartbeat:Connect(function() local char = LocalPlayer.Character if char then setCharCollision(char, false) local root = char:FindFirstChild("HumanoidRootPart") if root and root.Position.Y < -500 then root.CFrame = CFrame.new(0,100,0) end end end) addConn(Noclip.conn) else if Noclip.conn then Noclip.conn:Disconnect(); Noclip.conn = nil end if LocalPlayer.Character then setCharCollision(LocalPlayer.Character, true) end end end

-- SAFE REMOTE INVOKE (verifica existencia) local function safeInvokeRemote(remoteName, ...) if not ReplicatedStorage:FindFirstChild("Remotes") then return false end local rem = ReplicatedStorage.Remotes:FindFirstChild(remoteName) if rem and rem.InvokeServer then local ok, res = pcall(function() return rem:InvokeServer(...) end) return ok, res end return false end

-- EXTERNAL UI LOAD (mantém loadstring envolto em pcall) local function loadExternalUILib() local success, lib = pcall(function() return loadstring(game:HttpGet("https://raw.githubusercontent.com/nickainzn/Uimeuamg/main/HubUi.lua"))() end) if success and lib then return lib end return nil end

-- INICIALIZAÇÃO PRINCIPAL task.spawn(function() -- opcional: key check local (não bloqueante em ambientes sem Prompt) -- mantemos leve: se executor não suportar Prompt, passa automaticamente local passed = true local ok, res = pcall(function() -- muitos executores não têm PromptInput; não bloqueamos return false end) --Executa o loader visual runLoader()

-- registra heartbeat para partículas (adiciona à lista de conexões para cleanup)
local heartbeatConn = RunService.Heartbeat:Connect(function(dt)
    if ParticlePool and ParticlePool.pool and #ParticlePool.pool > 0 then
        ParticlePool._t = ParticlePool._t + dt
        if ParticlePool._t >= CONFIG.ParticleUpdateRate then
            ParticlePool._t = 0
            for _, p in ipairs(ParticlePool.pool) do
                if p and p.Parent then
                    local x = clamp(p.Position.X.Scale + (math.random(-8,8)/100), 0, 1)
                    local y = clamp(p.Position.Y.Scale + (math.random(-8,8)/100), 0, 1)
                    local s = math.random(4, 12)
                    p:TweenSizeAndPosition(UDim2.new(0, s, 0, s), UDim2.new(x,0,y,0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 1.6, true)
                    p.BackgroundTransparency = clamp(math.random(2,7)/10, 0, 1)
                end
            end
        end
    end
end)
addConn(heartbeatConn)

-- carrega UI lib externa (se disponível)
local uiLib = loadExternalUILib()
if not uiLib then
    StarterGui:SetCore("SendNotification", { Title = "Dead Hub", Text = "UI externa não carregada — fallback.", Duration = 3 })
    -- fallback: não aborta; podes criar interface local se quiseres
    return
end

-- instancia janela (usando pcall)
local okW, WindowRef = pcall(function()
    return uiLib:MakeWindow({ Title = "Dead hub | OP Interface", SubTitle = "by Dunkheilt", SaveFolder = "DeadHubOP" })
end)
if not okW or not WindowRef then return end

-- cria tabs básicos (mantive a tua estrutura)
local Tab1 = WindowRef:MakeTab({"Credits","info"})
local Tab2 = WindowRef:MakeTab({"Fun","fun"})
local Tab3 = WindowRef:MakeTab({"Avatar","shirt"})

Tab1:AddParagraph({"Info","Dead hub OP - Versão segura e estável (client-side)"})

-- Fun tab: headsit textBox + button
local selectedPlayerName
Tab2:AddTextBox({ Name = "Nome do Jogador", Description = "Digite parte do nome", PlaceholderText = "ex: lo", Callback = function(Value)
    if not Value or Value == "" then selectedPlayerName = nil; return end
    local partial = Value:lower()
    for _, p in pairs(Players:GetPlayers()) do
        if p ~= LocalPlayer and p.Name:lower():sub(1,#partial) == partial then
            selectedPlayerName = p.Name
            pcall(function() StarterGui:SetCore("SendNotification", { Title="Dead Hub", Text = p.Name.." selecionado", Duration=3 }) end)
            return
        end
    end
    pcall(function() StarterGui:SetCore("SendNotification", { Title="Dead Hub", Text = "Nenhum jogador encontrado", Duration=3 }) end)
end })

local headsitActive = false
Tab2:AddButton({ Name = "Headsit Toggle", Callback = function()
    if not selectedPlayerName then pcall(function() StarterGui:SetCore("SendNotification", { Title="Headsit", Text = "Seleciona um jogador.", Duration=3 }) end); return end
    if not headsitActive then
        local target = Players:FindFirstChild(selectedPlayerName)
        if target then local ok = pcall(headsitOnPlayerSafely, target) if ok then headsitActive = true end end
    else
        removeHeadsit(); headsitActive = false
    end
end })

-- Speed / Jump / Gravity sliders
Tab2:AddSlider({ Name="Speed Player", Increase=1, MinValue=3, MaxValue=300, Default=16, Callback=function(Value)
    local char = LocalPlayer.Character
    local hum = char and char:FindFirstChildOfClass("Humanoid")
    if hum then hum.WalkSpeed = clamp(Value,3,300) end
end })

Tab2:AddSlider({ Name="JumpPower", Increase=1, MinValue=30, MaxValue=500, Default=50, Callback=function(Value)
    local char = LocalPlayer.Character
    local hum = char and char:FindFirstChildOfClass("Humanoid")
    if hum then hum.JumpPower = clamp(Value,30,500) end
end })

Tab2:AddSlider({ Name="Gravity", Increase=0.1, MinValue=0, MaxValue=1000, Default=196.2, Callback=function(Value)
    workspace.Gravity = clamp(Value,0,1000)
end })

-- Infinite Jump
local InfiniteJumpEnabled = false
UserInputService.JumpRequest:Connect(function()
    if InfiniteJumpEnabled then
        local char = LocalPlayer.Character
        if char and char:FindFirstChildOfClass("Humanoid") then
            char.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end
end)
Tab2:AddToggle({ Name="Infinite Jump", Default=false, Callback=function(v) InfiniteJumpEnabled = v end })

-- Noclip toggle
Tab2:AddToggle({ Name="Ultimate Noclip", Default=false, Callback=function(v) enableNoclip(v) end })

-- ESP toggle
Tab2:AddToggle({ Name="ESP Ativado", Default=false, Callback=function(v) toggleESP(v) end })

-- Fly GUI external (pcall)
Tab2:AddButton({ Name="Ativar Fly GUI (externo)", Callback=function()
    local okf = pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Fly-gui-v3-30439"))() end)
    pcall(function() StarterGui:SetCore("SendNotification", { Title = okf and "Fly GUI" or "Erro", Text = okf and "Fly GUI carregado." or "Falha ao carregar Fly GUI.", Duration = 4 }) end)
end })

-- Avatar tab: dropdown + copy avatar (safeInvokeRemote usado)
Tab3:AddDropdown({ Name="Players List", Options=(function()
    local t = {}
    for _, p in pairs(Players:GetPlayers()) do if p.Name ~= LocalPlayer.Name then table.insert(t,p.Name) end end
    return t
end)(), Callback=function(val) _G.selectedCopy = val end })

Tab3:AddButton({ Name="Copy Avatar", Callback=function()
    local targetName = _G.selectedCopy
    if not targetName then pcall(function() StarterGui:SetCore("SendNotification",{Title="Avatar",Text="Seleciona um jogador.",Duration=3}) end); return end
    local target = Players:FindFirstChild(targetName)
    if not target or not target.Character then return end
    pcall(function()
        local THum = target.Character:FindFirstChildOfClass("Humanoid")
        if THum then
            local desc = THum:GetAppliedDescription()
            safeInvokeRemote("ChangeCharacterBody", {desc.Torso, desc.RightArm, desc.LeftArm, desc.RightLeg, desc.LeftLeg, desc.Head})
            pcall(function() StarterGui:SetCore("SendNotification",{Title="Avatar",Text="Pedido de cópia enviado (se disponível).",Duration=3}) end)
        end
    end)
end })

-- Admin placeholder (seguro)
Tab1:AddSection({"Admin (safe)"})
Tab1:AddButton({ Name="Request Server Kick (placeholder)", Callback=function()
    pcall(function() StarterGui:SetCore("SendNotification",{Title="Admin",Text="Kick não implementado client-side por segurança.",Duration=5}) end)
end })

-- final message
print("✅ Dead hub OP inicializado (client-side).")

end)

About

GitHub Copilot CLI brings the power of Copilot coding agent directly to your terminal.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors