To rozumiem że yy_jump było w zakresach -coś do 0? Skacząc robisz tę wartość na minus?
Może coś takiego?
var col=instance_place(x+hspd_,y,objBLOK);
if col && yy_jump>=col.yy_high // yy jump wysokosc skakania uwzględniająca to gdzie stoimy a yy_high to wysokość bloczku z którym kolidujemy
{
while !place_meeting(x+sign(hspd_),y,col)
{
x+=sign(hspd_)
}
hspd_=0
} else {
// funkcja spadania
}
x+=hspd_;