Du scheinst es nicht ganz zu verstehen, Computerzahlen sind NICHT exakt, das ist technisch unmöglich, du kannst keine nicht-periodische Zahl mit unendlich Nachkommastellen, wie es nun mal die irrationalen Zahlen sind, mit endlich vielen Informationen in den PC übertragen, d.h. bei deiner Distanz-Berechnung treten schon die ersten Ungenauigkeiten auf.
Auch wird var nicht mit deiner gewünschten Exaktheit gespeichert, sondern nur mit einer Genauigkeit von 0.001.

Um dein Problem zu lösen: Ändere deinen Code in folgenden:

while(position > 0.5)
{

position = vec_dist(zwei.x,test_train.x);

vec_set(temp.x, zwei.x); //
vec_sub(temp.x,test_train.x); // from the vec_to_angle example
vec_to_angle(test_train.pan,temp.x); // from the vec_to_angle example


c_move(test_train,vector(0.1,0,0), NULL, IGNORE_PASSABLE| GLIDE);
wait(1);
}


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends