ja ich habs ausprobiert, aber die if-funktion mit dem break wird wirklich nur einmal ausgeführt, wenn sie für das entsprechende entity zutrifft. d.h. die anderen entities mit dieser funktion müssten eigentlich noch in der while schleife sein, aber sie trotzdem stoppen, das ist echt strange.
Ich kann ja mal beschreiben was passiert:
Also der player p1_vehicle fährt auf einen crystal zu, solang er noch keinen berührt hat (vec_dist(my.x,p1_vehicle.x)<150) drehen sich alle crystals (ent_bonerotate). Sobald er nun in der richtigen Reichweite ist und die if-funktion erfüllt, beendet er die while-schleife und macht mit dem code weiter. Die anderen dagegen hören einfach auf sich zu drehen und es ist nicht mehr möglich die if-funktion für diese auszuführen. Als würden sie einfach mitten in der while-schleife stehen bleiben.
Du hattest also damit recht, dass sie noch in der while schleife sind aber wahrscheinlich verlieren sie den my pointer und können deswegen nicht mehr die funktionen richtig ausführen oder?
Edit: Ich habs mal mit einem lokalen ENTITY* pointer versucht, aber es ändert sich nichts, so ein [censored]
Last edited by Chris3D; 03/19/08 13:55.