local player = game.Players.LocalPlayer -- This function removes the grunt sound from the character's humanoid local function removeGruntSound(character) -- Wait for the character to fully load local humanoid = character:WaitForChild("Humanoid") -- Remove any existing death sounds from the HumanoidRootPart local soundFolder = character:FindFirstChild("HumanoidRootPart") if soundFolder then for _, obj in pairs(soundFolder:GetChildren()) do if obj:IsA("Sound") then obj:Destroy() -- Remove the default grunt death sound end end end end -- This function plays the Oof sound every time the character dies local function playOofSound(character) local humanoid = character:WaitForChild("Humanoid") humanoid.Died:Connect(function() -- Play the Oof sound upon death local sound = Instance.new("Sound") sound.SoundId = "rbxassetid://1237557124" -- Original Oof Sound sound.Volume = 1 -- Set volume to 1 (default) sound.Parent = game.SoundService -- Parent to SoundService for persistence sound:Play() end) end -- This function is responsible for handling the respawn and playing the Oof sound local function onCharacterAdded(character) -- Remove the grunt death sound and add the Oof sound removeGruntSound(character) playOofSound(character) -- Prevent re-adding grunt death sound after respawn by applying this to each respawn character:WaitForChild("Humanoid").Died:Connect(function() -- This ensures that the grunt sound will not be added again during respawn. -- Reapply the removal to avoid any failure if the grunt sound somehow returns removeGruntSound(character) end) end -- Connect the onCharacterAdded function to the player character spawning or respawning player.CharacterAdded:Connect(onCharacterAdded) -- Apply logic immediately in case the player is already in the game if player.Character then onCharacterAdded(player.Character) end