You want the scroll to to only go forward, so you have to add a condition to check if the player x is greater than the scrollx.
Something like: Sprite.X>scrollx ?Sprite.x :scrollx
Then when casting the rope it needs to only pick a block with an x bigger than the players.
So remove the is mirrored on the on up arrow, and replace it with the else events.
It looks like the layer isn't random, so you will have to lengthen the layout, and design the rest by hand.