Das ist ja das Problem. Ich Trace ja. Habe als erstes mit dem normalen Ent_move usw. gearbeitet. Aber das gefiel mir nicht. C_move ist schöner, ABER entweder rutscht er runter, oder bleibt ind er Luft hängen.
Hier mal nochmal das ganze Script. Vielleicht findest du ja den Fehler.
action bewege_spieler
{
var Spieler_geschwindigkeit;
player_1st = my;
Gesundheit = 100;
//camera.genius = my;
my.invisible = on;
while (gesundheit > 0)
{
camera.x = my.x;
camera.y = my.y;
camera.z = my.z + 20;
camera.pan = my.pan;
Spieler_geschwindigkeit.x = 10 * (key_w - key_s) * time; //Vorwärts
Spieler_geschwindigkeit.y = 6 * (key_q - key_e) * time; //Seitwärts
vec_set (temp, my);
temp.z -= 10000;
c_trace(my.x, temp , ignore_passable + ignore_sprites + use_box);
c_move(player_1st,spieler_geschwindigkeit, vector(0,0,-12 * time),
ignore_passable + ignore_passents + ignore_sprites + glide + use_box);
my.pan -= 5 * mouse_force.x; // Benutze die Maus zum schauen
camera.tilt -= 5 * mouse_force.y;
wait(1);
}
}
Edit:
Ich weiß nicht, kommt bei c_trace in der Klammer hinter Temp das .z hin? Weil wenn ja, dann ist das scheisse, weil da die Framerate um mehr 70 FPS runtersaust. Habs getestet.
EDIT2:
Mir ist was komisches aufgefallne. Wenn ich c_trace rauskommentiere und einfach C_move ohne Trace verwende, ist es das selbe. Er steigt hinauf, und bleibt auf der höhe dann stehen. ALSO wird c_trace ja gar nicht beachtet. Wie geht denn das? Muss man bei c_trace noch voher was anderes definieren?
Last edited by Schmerzmittel; 01/14/07 01:14.