UniversalFree
0 Likes
Night Hub
Universal Script 📌
Description
Night Hub
-- =============================================================================
-- NIGHT HUB v5.1 | FIX PREVENT CRASH & FULL EXTRAS
-- Chave do Painel: NightHub_Panel_ad288674119bnj388967_key
-- Foco total em Murder Mystery 2 | Sem aba Panel | Motores e Interface Restaurados
-- =============================================================================
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Camera = Workspace.CurrentCamera
-- Token de Validação Definido pelo Usuário
local SecureKeyToken = "NightHub_Panel_ad288674119bnj388967_key"
local IsKeyValidated = false
-- Limpeza preventiva de GUIs duplicadas e remanescentes
for _, gui in pairs(CoreGui:GetChildren()) do
if gui.Name == "Fluent" or gui.Name == "NightHub_HeaderPanel" or gui.Name == "NightHub_Tracers" then
pcall(function() gui:Destroy() end)
end
end
-- =============================================================================
-- BANCO DE ESTADOS E VARIÁVEIS COMPLETO
-- =============================================================================
local CustomWalkSpeed = 16
local CustomJumpPower = 50
local InfiniteJumpEnabled = false
local NoclipEnabled = false
-- Sheriff / Aimbot Options
local AimbotMurderEnabled = false
local AimbotSmoothness = 0.25
-- Murderer Options
local HitboxSizeEnabled = false
local HitboxScaleValue = 15
local HitboxTransparencyValue = 0.7
local KillAuraEnabled = false
local KillSheriffOnly = false
local KillAllMurdererEnabled = false
local KnifeAuraDistance = 25
local KnifeSpamRemoteEnabled = false
-- Innocent & Farming Options
local AutoTpDroppedGun = false
local GunCheckActive = false
local AutoFarmCoinsEnabled = false
local CoinTweenSpeed = 25
local HideInSafeZone = false
-- Visuals & ESP Options
local EspPlayersEnabled = false
local EspTracersEnabled = false
local RoleChatNotifier = false
local NotifiedPlayers = {}
-- Miscellaneous
local ChatSpamEnabled = false
-- Cache & Animations
local OriginalSizes = {}
local ActiveAnimationPack = "Normal"
local AnimationDatabase = {
Zombie = { Walk = "rbxassetid://616168032", Run = "rbxassetid://616163682", Idle = "rbxassetid://616158929" },
Ninja = { Walk = "rbxassetid://658831143", Run = "rbxassetid://658830056", Idle = "rbxassetid://658832408" },
Vampire = { Walk = "rbxassetid://1083178339", Run = "rbxassetid://1083216690", Idle = "rbxassetid://1083195517" },
Mage = { Walk = "rbxassetid://707829716", Run = "rbxassetid://707826135", Idle = "rbxassetid://707742142" }
}
-- =============================================================================
-- FUNÇÕES DE SUPORTE INTERNAS
-- =============================================================================
local function GetCurrentCharacter()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local hrp = char and char:FindFirstChild("HumanoidRootPart")
return char, hum, hrp
end
local function GetPlayerRole(player)
if not player then return "Innocent" end
if player:FindFirstChild("Backpack") and player.Backpack:FindFirstChild("Knife") or (player.Character and player.Character:FindFirstChild("Knife")) then
return "Murderer"
elseif player:FindFirstChild("Backpack") and player.Backpack:FindFirstChild("Gun") or (player.Character and player.Character:FindFirstChild("Gun")) then
return "Sheriff"
end
return "Innocent"
end
local SafeZonePart = Instance.new("Part")
SafeZonePart.Size = Vector3.new(40, 2, 40)
SafeZonePart.Position = Vector3.new(0, 1500, 0)
SafeZonePart.Anchored = true
SafeZonePart.CanCollide = true
SafeZonePart.Transparency = 0.5
SafeZonePart.BrickColor = BrickColor.new("Really black")
SafeZonePart.Parent = Workspace
local TracerGui = Instance.new("ScreenGui", CoreGui)
TracerGui.Name = "NightHub_Tracers"
-- Motor Antigo / Tradicional do Fling Resgatado
local function ExecuteFlingTarget(targetPlayer)
if not IsKeyValidated then return end
local char, hum, hrp = GetCurrentCharacter()
if not targetPlayer or not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
if not char or not hrp or not hum then return end
local targetHrp = targetPlayer.Character.HumanoidRootPart
local oldCFrame = hrp.CFrame
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bodyVelocity.Velocity = Vector3.new(10000, 10000, 10000)
bodyVelocity.Parent = hrp
local bodyAngular = Instance.new("BodyAngularVelocity")
bodyAngular.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bodyAngular.AngularVelocity = Vector3.new(10000, 10000, 10000)
bodyAngular.Parent = hrp
for i = 1, 40 do
if not targetHrp or not hrp then break end
hrp.CFrame = targetHrp.CFrame * CFrame.Angles(math.rad(math.random(-180, 180)), math.rad(math.random(-180, 180)), math.rad(math.random(-180, 180)))
task.wait()
end
bodyVelocity:Destroy()
bodyAngular:Destroy()
hrp.Velocity = Vector3.new(0,0,0)
hrp.RotVelocity = Vector3.new(0,0,0)
hrp.CFrame = oldCFrame
end
-- =============================================================================
-- MOTOR DE ANIMAÇÕES SENSÍVEL
-- =============================================================================
local function ApplyCustomAnimations(character)
if not IsKeyValidated or ActiveAnimationPack == "Normal" then return end
local animateScript = character:WaitForChild("Animate", 3)
local hum = character:FindFirstChildOfClass("Humanoid")
if animateScript and AnimationDatabase[ActiveAnimationPack] and hum then
pcall(function()
local pack = AnimationDatabase[ActiveAnimationPack]
local currentTracks = hum:GetPlayingAnimationTracks()
for _, track in pairs(currentTracks) do track:Stop(0) end
if animateScript:FindFirstChild("walk") then
animateScript.walk:FindFirstChildOfClass("Animation").AnimationId = pack.Walk
end
if animateScript:FindFirstChild("run") then
animateScript.run:FindFirstChildOfClass("Animation").AnimationId = pack.Run
end
if animateScript:FindFirstChild("idle") then
for _, idl in pairs(animateScript.idle:GetChildren()) do
if idl:IsA("Animation") then idl.AnimationId = pack.Idle end
end
end
hum:ChangeState(Enum.HumanoidStateType.Landed)
end)
end
end
LocalPlayer.CharacterAdded:Connect(function(char)
task.wait(0.5)
if IsKeyValidated then ApplyCustomAnimations(char) end
end)
-- =============================================================================
-- LOOPS DOS MOTORES HACK (CORRIGIDOS)
-- =============================================================================
-- Aimbot Camera + Wallbang
RunService.RenderStepped:Connect(function()
if AimbotMurderEnabled and IsKeyValidated then
local char, _ = GetCurrentCharacter()
local gun = LocalPlayer.Backpack:FindFirstChild("Gun") or (char and char:FindFirstChild("Gun"))
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and GetPlayerRole(p) == "Murderer" and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local targetHrp = p.Character.HumanoidRootPart
if p.Character.Humanoid.Health > 0 then
local targetTargetCFrame = CFrame.new(Camera.CFrame.Position, targetHrp.Position)
Camera.CFrame = Camera.CFrame:Lerp(targetTargetCFrame, AimbotSmoothness)
if gun and char then
gun.Parent = char
pcall(function()
gun.KnifeLocal.ShootGun:FireServer(targetHrp.Position, targetHrp, Vector3.new(0,0,0), targetHrp.Position)
end)
end
break
end
end
end
end
end)
-- Hitbox Expander Padrão Kitk4t
RunService.RenderStepped:Connect(function()
if not IsKeyValidated then return end
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character then
local hrp = p.Character:FindFirstChild("HumanoidRootPart")
local head = p.Character:FindFirstChild("Head")
if hrp and head then
if not OriginalSizes[p.Name] then
OriginalSizes[p.Name] = { HrpSize = hrp.Size, HeadSize = head.Size }
end
if HitboxSizeEnabled then
hrp.Size = Vector3.new(HitboxScaleValue, HitboxScaleValue, HitboxScaleValue)
hrp.Transparency = HitboxTransparencyValue
hrp.Color = Color3.fromRGB(255, 60, 100)
hrp.Material = Enum.Material.Neon
hrp.CanCollide = false
head.Size = Vector3.new(HitboxScaleValue * 0.6, HitboxScaleValue * 0.6, HitboxScaleValue * 0.6)
head.CanCollide = false
else
if OriginalSizes[p.Name] then
hrp.Size = OriginalSizes[p.Name].HrpSize
hrp.Transparency = 1
hrp.CanCollide = true
head.Size = OriginalSizes[p.Name].HeadSize
head.CanCollide = true
end
end
end
end
end
end)
-- Kill Aura (Sintaxe Fixada)
task.spawn(function()
while task.wait(0.02) do
if KillAuraEnabled and IsKeyValidated then
local char, _, hrp = GetCurrentCharacter()
local knife = LocalPlayer.Backpack:FindFirstChild("Knife") or (char and char:FindFirstChild("Knife"))
if knife and char and hrp then
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character.Humanoid.Health > 0 then
if not (KillSheriffOnly and GetPlayerRole(p) ~= "Sheriff") then
local distance = (hrp.Position - p.Character.HumanoidRootPart.Position).Magnitude
if distance < (HitboxSizeEnabled and (HitboxScaleValue + 15) or KnifeAuraDistance) then
knife.Parent = char
knife.Stab:FireServer(p.Character.HumanoidRootPart.Position)
knife:Activate()
end
end
end
end
end
end
end
end)
-- Knife Spam Remote Throw
task.spawn(function()
while task.wait(0.1) do
if KnifeSpamRemoteEnabled and IsKeyValidated then
local char, _, _ = GetCurrentCharacter()
local knife = LocalPlayer.Backpack:FindFirstChild("Knife") or (char and char:FindFirstChild("Knife"))
if knife and char then
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character.Humanoid.Health > 0 then
knife.Parent = char
pcall(function()
knife.ServerThrow:FireServer(p.Character.HumanoidRootPart.Position, Vector3.new(0,-2,0))
end)
end
end
end
end
end
end)
-- Kill All Murderer Orbit Loop
task.spawn(function()
while task.wait(0.1) do
if KillAllMurdererEnabled and IsKeyValidated then
local char, _, hrp = GetCurrentCharacter()
local knife = LocalPlayer.Backpack:FindFirstChild("Knife") or (char and char:FindFirstChild("Knife"))
if knife and char and hrp then
knife.Parent = char
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChildOfClass("Humanoid") then
local targetHrp = p.Character.HumanoidRootPart
local targetHum = p.Character:FindFirstChildOfClass("Humanoid")
if targetHum.Health > 0 and KillAllMurdererEnabled then
hrp.Velocity = Vector3.new(0,0,0)
hrp.CFrame = targetHrp.CFrame * CFrame.new(0, 0.5, -0.5)
pcall(function()
knife.Stab:FireServer(targetHrp.Position)
knife:Activate()
end)
task.wait(0.04)
end
end
end
end
end
end
end)
-- Auto TP Dropped Gun
task.spawn(function()
while task.wait(0.2) do
if AutoTpDroppedGun and IsKeyValidated then
local gunPart = nil
for _, obj in pairs(Workspace:GetDescendants()) do
if obj.Name == "GunDrop" or (obj:IsA("Tool") and obj.Name == "Gun" and obj.Parent == Workspace) then
gunPart = obj:IsA("BasePart") and obj or obj:FindFirstChildOfClass("BasePart")
break
end
end
local _, _, hrp = GetCurrentCharacter()
if gunPart and hrp and not GunCheckActive then
GunCheckActive = true
local OriginalPosition = hrp.CFrame
hrp.CFrame = gunPart.CFrame * CFrame.new(0, 1, 0)
task.wait(0.2)
hrp.CFrame = OriginalPosition
task.wait(1.5)
GunCheckActive = false
end
end
end
end)
-- Auto Farm de Moedas
task.spawn(function()
while task.wait(0.3) do
if AutoFarmCoinsEnabled and IsKeyValidated then
local _, _, hrp = GetCurrentCharacter()
if hrp then
local container = Workspace:FindFirstChild("Normal") and Workspace.Normal:FindFirstChild("CoinContainer") or Workspace:FindFirstChild("CoinContainer") or Workspace:FindFirstChild("XmasContainer") or Workspace:FindFirstChild("CandyContainer")
if container then
for _, coin in pairs(container:GetChildren()) do
if coin:IsA("BasePart") and AutoFarmCoinsEnabled then
local steps = math.floor((hrp.Position - coin.Position).Magnitude / CoinTweenSpeed)
for i = 1, steps do
if not AutoFarmCoinsEnabled then break end
hrp.CFrame = hrp.CFrame:Lerp(coin.CFrame, i/steps)
RunService.Heartbeat:Wait()
end
if AutoFarmCoinsEnabled then hrp.CFrame = coin.CFrame task.wait(0.1) end
end
end
end
end
end
end
end)
-- Safe Zone TP
RunService.RenderStepped:Connect(function()
if HideInSafeZone and IsKeyValidated then
local _, _, hrp = GetCurrentCharacter()
if hrp then
hrp.Velocity = Vector3.new(0,0,0)
hrp.CFrame = SafeZonePart.CFrame * CFrame.new(0, 3, 0)
end
end
end)
-- Chat Role Notifier
task.spawn(function()
while task.wait(1) do
if RoleChatNotifier and IsKeyValidated then
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and not NotifiedPlayers[p.Name] then
local role = GetPlayerRole(p)
if role == "Murderer" or role == "Sheriff" then
NotifiedPlayers[p.Name] = true
local message = "[NIGHT HUB] " .. p.Name .. " detectado como: " .. role .. "!"
ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(message, "All")
end
end
end
end
end
end)
-- ESP CHAMS & LINES (CORRIGIDO)
local TrackersList = {}
RunService.RenderStepped:Connect(function()
for _, line in pairs(TrackersList) do line:Destroy() end
table.clear(TrackersList)
if not IsKeyValidated then return end
for _, p in pairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p.Character then
local role = GetPlayerRole(p)
local targetColor = Color3.fromRGB(0, 255, 0)
if role == "Murderer" then targetColor = Color3.fromRGB(255, 0, 0)
elseif role == "Sheriff" then targetColor = Color3.fromRGB(0, 0, 255) end
local highlight = p.Character:FindFirstChild("NightESP")
if EspPlayersEnabled then
if not highlight then
highlight = Instance.new("Highlight")
highlight.Name = "NightESP"
highlight.Parent = p.Character
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
end
highlight.Adornee = p.Character
highlight.FillColor = targetColor
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.FillTransparency = 0.4
highlight.OutlineTransparency = 0.1
else
if highlight then highlight:Destroy() end
end
if EspTracersEnabled and p.Character:FindFirstChild("HumanoidRootPart") then
local screenPos, onScreen = Camera:WorldToViewportPoint(p.Character.HumanoidRootPart.Position)
if onScreen then
local Line = Instance.new("Frame")
Line.Size = UDim2.new(0, 2, 0, (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y)).Magnitude)
local angle = math.atan2(screenPos.Y - Camera.ViewportSize.Y, screenPos.X - Camera.ViewportSize.X/2)
Line.Rotation = math.deg(angle) + 90
Line.AnchorPoint = Vector2.new(0.5, 0.5)
Line.Size = UDim2.new(0, 2, 0, math.sqrt((screenPos.X - Camera.ViewportSize.X/2)^2 + (screenPos.Y - Camera.ViewportSize.Y)^2))
Line.Position = UDim2.new(0, (screenPos.X + Camera.ViewportSize.X/2)/2, 0, (screenPos.Y + Camera.ViewportSize.Y)/2)
Line.BackgroundColor3 = targetColor
Line.BorderSizePixel = 0
Line.Parent = TracerGui
table.insert(TrackersList, Line)
end
end
end
end
end)
-- Chat Spammer
task.spawn(function()
while task.wait(2) do
if ChatSpamEnabled and IsKeyValidated then
pcall(function() ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Night Hub Dominando Tudo!", "All") end)
end
end
end)
-- Loops de Controle Físico
RunService.RenderStepped:Connect(function()
if not IsKeyValidated then return end
local _, hum = GetCurrentCharacter()
if hum then hum.WalkSpeed = CustomWalkSpeed hum.JumpPower = CustomJumpPower end
end)
UserInputService.JumpRequest:Connect(function() if InfiniteJumpEnabled and IsKeyValidated then local _, hum = GetCurrentCharacter() if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end)
RunService.Stepped:Connect(funct
Shadow_666