I forgot how to do it. I need my script to not act if the parent of the hit object is nil, because otherwise it returns an error.
Here's my script.
function onTouched(hit) if hit.Parent.Name == "Monorail" then local explosion = Instance.new("Explosion") explosion.Parent = hit explosion.Position = hit.Position wait(0.5) hit:remove() wait(5) hit.Parent:remove() end end script.Parent.Touched:connect(onTouched)
I don't think the lack of parent is the problem, it is because hit is removed, so it no longer has a parent, because it no longer exists, because you removed it. To fix this make a variable of the parent before hit is removed.
function onTouched(hit) if hit.Parent.Name == "Monorail" then local explosion = Instance.new("Explosion") explosion.Parent = hit explosion.Position = hit.Position wait(0.5) local parent = hit.Parent -- This should do it hit:remove() wait(5) parent:remove() end end script.Parent.Touched:connect(onTouched)