Looping through lights to change brightness not working?

Currently im working on trying to get PointLights and SpotLights to change color/brightness. My problem is im using a for loop to loop through the model I made and then trying to change the brightness to 0 and then changing the lights to red but then the lights dont change at all.

local FIred = game.ReplicatedStorage.Jumpscare1
local debounce = false

FIred.OnClientEvent:Connect(function()
	if debounce == false then
		for i,v in pairs (workspace.Train1.Model:GetDescendants()) do
			if v:IsA("Part") or v:IsA("Decal") then
				v.Transparency = 0
				script.Parent.Scream:Play()
			end
		end
		wait(2)
------------------------------------------------------------------------------------------------------- Not working
		for i,v in pairs (workspace.Train1:GetDescendants()) do
			if v:IsA("SpotLight") or v:IsA("PointLight") then
				v.Brightness = 0
				game.StarterGui.Electricity_surge:Play()
				wait(5)
				workspace.Train1.Model:Destroy()
				wait(0.05)
				game.StarterGui.Electricity_Up:Play()
				v.Brightness = 5
-------------------------------------------------------------------------------------------------------
			end
		end
	end
end)

Well, it seems like you set the brightness to 0 and never set it to anything else again, so the light can’t be seen when its color is red.

When I set it to 0 it didn’t even change the brightness, but the sounds did play.

For me I’d used

for i,v in pairs (workspace.Train1:GetChildren()) do
     if v:IsA("SpotLight") or v:IsA("PointLight") then

And secondly when you loop through all off this, it does each light 1 by 1 so the waits make it seem longer that it is, try this:

for i,v in pairs (workspace.Train1:GetDescendants()) do
		if v:IsA("SpotLight") or v:IsA("PointLight") then
            spawn(function()
				v.Brightness = 0
				game.StarterGui.Electricity_surge:Play()
				wait(5)
				workspace.Train1.Model:Destroy()
				wait(0.05)
				game.StarterGui.Electricity_Up:Play()
				v.Brightness = 5
			end)

		end
	end