Ok, now I have an idea.
Firstly, design a path: From the start of the rope to the maximum right limit. Then, another path, from right-limit of the path to left-limit.
Now for coding.
On the player's "Create" event, make a variable, and make it only tick on the start. Let's call it "swingingintro" and set it to true. The other variable to create is swinging.
The last variable to create will be swingingtwo = false.
Swinging- Checks if you're on the swing
Swingingintro - Checks if you're on the first path
Swingingtwo - Checks if you're on the second path
On the player's "Step" event, check if the sprite_index != (springing sprite) and if that's the case then swingingintro should be true. Now say if swingingintro = true
Now we need to get the player on the rope. Do anything, say in the collision event with the rope (or use collision_rectangle-- if you will) check if keyboard_check(vk_up) and then this MUST make swinging = true.
Then, make a "Path End" event, check if swingingintro = true && sprite_index = (swinging sprite), if so, then turn on the 2nd path we built.
Now the player keeps swinging on. Make sure that when the path ends, it goes on reverse. And also make sure that there is an alarm to make swinging faster second-by-second. I'll get to this in the end.
Now here is the hard-but-made-to-look-easy part. For beginners, paths use directions and speeds. This is incredibly useful, and you will see why now.
Now check if swinging = true && keyboard_check_pressed(vk_space) [FOR EXAMPLE, you can use any button you want as long as you know it's ID]. Open a bracket, and put the following code: path_end(); direction *= 1.2; speed *=1.2. Close the bracket now, and I think that's all.
I might have missed something, reply if you have a glitch because I did not test this, but it just came out on my brain. Chances that it works are very high though.
As much as paths look like they're the top layer on Game Maker's motion, they're not stronger than Hspeed/Vspeed & are built on direction & speed.