Comme je le répète tjrs, je m'y connais pas en plate-forme. Mais l'idée repose sur quelques fonctions (ou même pas besoin dès fois).
Je te donne une première idée mais d'autres sont aussi utilisées.
if keyboard_check(vk_space) && !place_free(x,y+1){gravity=0 ; saut=1;}
if saut==1{y-=1 ;if cpt<100{cpt+=1}else{saut=0;}}else{gravity=2 ;}
if !place_free(x,y+1){move_contact_solid(270) ;}
gravity=2 ;
La dernière ligne dans step est secondaire, ça dépend de ton déplacement. Il y a peut être des bugs mais au moins c'est l'idée.