Here's one method of faking this:
Create a func_train and let it follow the desired path. Make it invisible.
Create an env_laser that targets the train.
Now set the end sprite.
- The movement is very laggy.
- The sprite is in additive/glow mode and there's not way to change that.
- There mustn't be any obstacles between the laser and the train.
- Same applies for the path of the train.
Again create a train, this time make it hollowed.
Place an env_shooter inside the train and set up the sprite.
Before the train starts, trigger the env_shooter.
The movement might look a bit better than in the other method.
- Again there mustn't be monsters/players on the path.