this method works but when the platformer lands he doesn't do the Landing animation right away, he stays in the idle animation for around a full second. Ill screenshot again just incase its wrong.
You could use a timer to handle this.
Add the timer behaviour to your player object.
Playerbox 'On Platform Landed' - Start timer "landing_delay" for 3 seconds (once only)
-------------------------------- Playerbox Start Ignoring Platform user input
Playerbox 'Is Timer "landing_delay" Running'
<sub event> Trigger Once - Set animation to "Landing" (play from beginning)
<sub event> On animation "Landing" finished - Set animation to "Idle" (play from beginning)
Playerbox 'On Timer "landing_delay" - Playerbox Stop ignoring platform user input
Then you would add the inverted condition: 'Playerbox 'Is Timer "landing_delay" Running' to all of your other player animation calls to make sure that none of them override the landing_delay animations.