Alright, here's a modified version. Hope this gets you what you need.
When it comes to traversing the "height variations" you may need some more events. If you look at the level in the edited version, there is a slope which the player can walk up from the left but not from the right. This is because the slope from the right is too steep. If you are having trouble getting the character to traverse an area, you may want to make sure it is not too steep.
As for handling platform traversal, an easy way to do it is to add an invisible jump trigger. I re-purposed the jump button as a trigger in this example where if the target is higher than the player when they collide with the trigger, the player will jump. If it isn't higher, the player will just continue walking normally.
The reason your player "spazzes out" is because you have an exact value set for the location the player is moving to but the player will almost never hit that exact location. That is why in both examples, I have a range of about half the size of the player for the value to be correct (target.x between player.x - 20 and player.x + 20). Adding this simple change will stop the spazzing.
You don't actually need a global variable to define if the player is moving or not. If you are using the cursor object that you asked to be included, just check the position of the cursor against the player position.
After looking at your events, there is one thing you should know. The every tick event should only be used if it is the only condition for an event to fire. Using it as a sub event for another condition doesn't change anything. While the parent event is true, the event will trigger every tick without the every tick event. This will help to clean up your code and remove unnecessary events.