Also das ist eine größere Sache ich kann dir hier mal ein ganz simples Prinzip zeigen, aber ich empfehle dir eher, dafür ein Tutorial durchzuarbeiten (wie. z.B. Kingdom of Hearths Movement oder so ähnlich)
http://www.coniserver.net/coni_users/web_users/pirvu/au/tutorials/zipped/khmovement.zipcode für einfaches jump-Prinzip (einfügen unter dem Gravitationstrace):
IF (KEY_SPACE == 1 && temp < jump_hoehe && jumping == 0) { //jumphöhe ist ein Wert jumping eine Variable die vorher mit Wert 0 definiert werden muss
player_speed.Z = 20*time;
}
IF (temp >= jump_hoehe) { //jump_hoehe ist wieder ein Wert (derselbe)
jumping = 1;
}
Dann muss noch hier etwas ergänzt werden: //das war vorher
IF (temp > 5) { player_speed.Z = -5; }
ELSE {
IF (temp < 1) { player_speed.Z += 3; }
ELSE { player_speed.Z = 0; }
}
Und so muss es sein:
IF (temp > 5) { player_speed.Z = -5; }
ELSE {
jumping = 0;
IF (temp < 1) { player_speed.Z += 3; }
ELSE { player_speed.Z = 0; }
}
}
EDIT: Wie du siehst nutze ich immernoch den gleichen ent_move wie vorher, es wird einfach nur die Variable player_speed die der ent_move befehl verwendet neu angepasst, die jumpingVariable dient dazu zu ermöglichen, dass der player wieder runterfällt (was der Gravitationscode erledigt). Solange der player springt wird der Gravitationscode einfach überschrieben.