Um Blockberührung abzufragen brauchst du entweder die Events (wie gezeigt) oder einen trace (empfehle ich hier nicht). Anders kann die Engine eine Blockberührung nicht erfassen. Das mit dem 1 zurückbewegen löst dein Problem aber nicht, da der Sprung ja weitergeht bis die fragliche Höhe erreicht ist. Der Sprung muss also vorzeitig abgebrochen werden (jumping = 0)

Die Event Function sieht ganz einfach so aus:

FUNCTION player_event {
IF (jumping==1 && (Event_type == EVENT_BLOCK || event_type == event_ENTITY)) { jumping = 0; }
}
Die muss über der Hauptfunction stehen.

Last edited by RedPhoenix; 04/09/07 18:09.