How to remove Niagara ribbon particles based on spline progress

I was able to remove the ribbon particles dynamically by making a second scratch module to the RibbonParticle emitter. The problem was mainly that the user parameter Distance did not update inside the base emitter, and the killing logic had to be handled inside the RibbonParticle.

Emitters:

Base’s scratch module:

RibbonParticle’s scratch module:

Kill Particles module: