so nun habe ich ein voll funktionsfähiges physik script aber das mit dem rollen funzt ums verrecken nicht wenn ich force.x anhabe dann dreht sich die kugel zwar in der luft in nem relativ großen radius aber eigentlich sollte sie ja auf dem boden bleiben und sich dort mit drehen bei denn bewegungen. hier mein script.

action my_ball
{
my.passable == off;
var friction;
var force[3];
var dist[3];
while (me)
{
force.PAN = -5 * (key_d-Key_a); // berechne Kraft der Drehung
my.SKILL14 = TIME*force.PAN + max(1-TIME*0.7,0)*my.SKILL14; // Drehgeschwindigkeit
my.PAN += TIME * my.SKILL14; // drehe den Player



vec_set (temp,my.x);
temp.z -= 1000;
trace_mode = ignore_me + ignore_passable + Use_box + glide;
result = trace(my.x,temp);
if (RESULT > 5) // in der Luft?
{
force.X = 5 * (key_w-Key_s); // keine schiebende Kraft
force.Y = 0;
force.Z = -10; // Schwerkraft
friction = 0.1; // Luftreibung
}
else // auf und nahe dem Boden
{
force.X = 30 * (key_w-Key_s); // Vorwärtskraft
force.Y = 0;
force.Z = -0.5 * RESULT; // Boden-Elastizität
friction = 0.7; // Bodenreibung
}
my.SKILL11 = TIME * force.X + max(1-TIME*friction,0) * my.SKILL11;
my.skill13 = TIME*force.Z + max(1-TIME*friction,0)*my.SKILL13; // Geschwindigkeit vertikal

dist.X = TIME * my.SKILL11; // Distanz vorwärts
dist.Y = 0;
dist.Z = time * my.skill13;

??? force.tilt = -1 * force.x;
??? my.skill15 = time*force.tilt + max(1-time*0.5,0)*my.skill15;
??? my.tilt += time * my.skill15;

move_mode = ignore_passable + glide;
ent_MOVE(dist,nullvector); // bewege Player
wait(1);
}
}

der abschnitt mit denn fragezeichen ist es. gruß wolf