Hallo allerseits,
mein Problem ist das mein Player nicht auf dem Model laufen kann. Er läuft immer so nen meter übern Boden.
Hier ist erstmal der Code:
FUNCTION handle_gravity() {
trace_mode = ignore_me+ignore_passable+use_box;
result = trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000));
IF (result < 3) {
IF (my.jumping_mode == 0) {
my.force_z = -1 * result;
IF (key_space == 0 && space_press == 1) { space_press = 0; }
IF (key_space == 1 && space_press == 0 && my.movement_mode == 0 && my.animblend >= stand && my.animblend != jump && my.animblend != fall) {
space_press = 1;
my.jumping_mode = 1;
my.force_z = 30;
my.blendframe = jump;
my.animate2 = 0;
my.animblend = blend;
}
}
IF (my.jumping_mode == 2 || my.jumping_mode == 3) { my.jumping_mode = 0; }
} ELSE {
IF (my.jumping_mode == 2) {
IF (result > 120) {
my.animate = 60;
my.jumping_mode = 3;
} ELSE {
my.jumping_mode = 0;
}
}
IF (my.jumping_mode == 3 && result <= 120) { my.jumping_mode = 0; }
IF (my.jumping_mode == 0 && my.movement_mode == 0) {
IF (result > 120 && my.animblend >= stand && my.animblend != jump && my.animblend != fall) {
my.jumping_mode = 3;
my.blendframe = fall;
my.animate2 = 0;
my.animblend = blend;
}
}
my.force_z -= my.gravity * time;
my.force_z = max(-15,my.force_z);
IF (my.movement_mode == 2) { my.force_z = 0; }
}
my.velocity_z += (time * my.force_z) - (min(time*0.7,1) * my.velocity_z);
my.move_z = my.velocity_z * time;
}
Es liegt an dieser stelle:
trace_mode = ignore_me+ignore_passable+use_box;
result = trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000));wenn ich diese durch das hier ersetze:
result = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000),ignore_me|ignore_passable);dann kann er auf dem Model laufen aber kann nicht springen oder sonstiges.
MFG Noobi