Hi JVerdugo,
I got the impression that we need something more simple. Please have a look at the attached file. I work mostly with Iterations, not with the Object iteration. So, here is the file:
https://www.amazon.com/clouddrive/share/BuZLPzhECr65xv7mB2nMqZlkqPwlGAfcfM0BacOzEbz
It is not based on a Range Mapper or anything that needs too much attention. A simple math and thats it. I limit only the value for the end to max 1.0 (100%) so we have no problems there. Again, the offset of the MoSpline has a tiny value, which creates a more stable situation.
The Text is inside the object to see what is going on, you can feed any number to this Text, to see how things work. On the end it is not needed at all.
To get the max value that is something that needs to be known before anything else in the scene is calculated. So, why you can’t just set a Constant value and adjust that if needed? Since it need to be known before anything starts, that would be a manual step anyway, or it would take frame zero to do so, then switch everything. The simplest way to do so, is to have a plane mesh with enough points. That will be reset first to Y=0. Then each spline is calculated in length, and supplied to a point of the mesh (iteration step/index = plane point index). Then you take a Bounding Box and ask for the point that measures the highest Y. Simplest way to explain. (other than that, compare and store the larger value, then compare again, iteration. (Perhaps if you feel comfortable with Python, fill the values in a list and compare. I will not go here with this)
My best wishes