I need help with my blur script

well the script works well up to there but my problem is that when a player dies the blur stays and is annoying try to put blur:destroy ()
but the script does not remove it here so you can see

local plr = game.Players.LocalPlayer
local char = game.Workspace:WaitForChild(plr.Name)
local cam = workspace.CurrentCamera

char.Humanoid.Changed:Connect(function(Change)
	if Change == "Health" then
		local blur = Instance.new("BlurEffect")
		blur.Parent = cam
		blur.Name = "Suppression"
		blur.Size = 20
		for count = 0,20,2.5 do
			blur.Size = count
			wait(0.1)
		end
		for count = 20,0,-0.5 do
			blur.Size = count
			wait(0.1)
		end
		blur:Destroy()
	end
end)

It’s probably because once a player loses health, their health is constantly increasing so therefore there is continuously going to be a blur added to the CurrenCamera. Instead of this method, you should use char.Humanoid.HealthChanged:Connect(function(newHealth) end), and compare it with a constantly-updated oldHealth variable to make sure that the player LOST health rather than gained health.

what you told me I place it where I put
blur: destroy ()

What you’re doing now is basically creating a new BlurEffect everytime ANYTHING in the player’s humanoid changes.

That is incorrect, he is checking what property has changed.

char.Humanoid.Changed:Connect(function(Change)
	if Change == "Health" then

Ah, yeah, my bad, didn’t see that.

In that case, just use GetPropertyChangedSignal