Hallo, ich habe für alle einen Tipp, die mit Abstürzen wegen Zugriffen auf nicht existierende Entities zu kämpfen haben.
Wenn ich aus einem Objekt auf ein anderes zugreifen will,
dann kann ich dieses zu überprüfende Objekt vorher in einen Pointer abspeichern.
Wenn die Abfrage "if (ptr_for_handle(mein_pointer)==0)" erfüllt ist, dann bedeutet dies, daß die abzufragende Entity nicht mehr existiert - und somit keine Daten mehr abgerufen werden dürfen, die dann zum Absturz führen.
Grund für dieses Vorgehen... unter C-Skript war es ja schegal, ob ein you-Objekt noch existiert hat oder nicht. Die Engine kam nicht zum Absturz.
Unter l-C führen aber Zugriffe auf nicht (mehr) existierende Entities zum Absturz.
Als Beispiel... in meinem Zombie-Spiel sind die Modelle zusammengebaut - wobei das Hauptobjekt (bei mir der Torso) alle anderen Objekte (Kopf, Arme, Beine) ständig kontrolliert und ansteuert.
Wenn aber z.B. der Kopf nicht mehr existiert, weil er abgeschossen wurde, dann würde die Ansteuerung des Kopfmodells vom Torso aus, zum Absturz führen.
Wenn ich aber vorher einen pointer setze für den Kopf und diesen Pointer dann auf 0 überprüfe - dann steuer ich den Kopf erst gar nicht mehr an.
Last edited by alpha_strike; 06/05/09 10:44.