Help with my train system

You added a new hit test. Use your prints on code you already have.

script.Parent.Touched:Connect(function(Hit)
	if Hit and Hit.Name == "stop1" then
		script.Parent.STOP1.Enabled = true
		script.Enabled = false
	end
end)

This script will hit stop many times with no debounce.
Start off by printing hit just to see what’s going on
if Hit and Hit.Name == “stop1” then – no need to test hit twice here also.

Could you provide a video of the train and the relevant parts touching?
Also show us where the script is located from the explorer.

It still does not work, the stop part is big enough for the train to touch it.

The problem is it does not print at all let alone actually work.