-- ============================================================================= -- 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