local deb = false
local Signal1 = script.Parent.SignalParts.Red
local Signal2 = script.Parent.SignalParts.Yellow
local Signal3 = script.Parent.SignalParts.Green
Touch.Touched:Connect(function(Hit)
if not deb then
deb = true
local Humanoid = Hit.Parent:FindFirstChild("Humanoid")
if Humanoid then
Signal1.Material = Enum.Material.Neon
Signal2.Material = Enum.Material.SmoothPlastic
Signal3.Material = Enum.Material.SmoothPlastic
wait(60)
Signal1.Material = Enum.Material.SmoothPlastic
Signal2.Material = Enum.Material.Neon
Signal3.Material = Enum.Material.SmoothPlastic
wait(30)
Signal1.Material = Enum.Material.SmoothPlastic
Signal2.Material = Enum.Material.SmoothPlastic
Signal3.Material = Enum.Material.Neon
end
deb = false
end
end)
I wouldn’t use a touched event. That’s really error prone, because if the part somehow gets destroyed, the system won’t work. I would check if it surpasses a certain threshold, like if the train’s x value is greater than a certain number.