Zitat von Phönix Tear
Dein Fehler ist ganz simpel.
Du hast die Koordinatenabfrage der Kugel und die Trefferabfrage in 2 verschiedene Common Parallel Prozesse gelegt, die nebeneinander ablaufen. Common Event 1 schreibt x und y koordinaten der Kugel, Common Event 2 überprüft, ob an x und y ein andres Event steht und startet dessen Page 3. Soweit sogut, nur was ist wenn Event 1 gerade erst die x Koordinate geschrieben hat, dann die Abfrage von Event 2 dazwischenkommt und danach erst die y richtig gesetzt wird? Richtig, es werden falsche Koordinaten geprüft und das sogar mit recht hoher Wahrscheinlichkeit.
Lösung: Du musst beide Events zusammenlegen. Also ein Common Event mit Loop (auch wenn es parallel process ist, ist Loop die Ressourcenschonendere Variante), in dem zuerst die Koordinaten der Kugel gelesen werden und dann die Überprüfung erfolgt, ob an diesem Punkt ein anderes Event steht. Falls ja, Page 3 starten. Fertig.
Noch ein kleiner Tip:
Ich gehe in meinem Spiel so vor, dass ich das Schussevent auf SlipThrough bewegen lasse, damit wird es niemals zu einem Hindernis. Damit es an Wänden etc zerschellt, musst du eine zusätzliche Abfrage im zusammengefügten Common Event einfügen, nämlich wenn du die Koordinaten des Schusses hast, ein Get Terrain ID. Nun bestimmst du zB dass Terrain Nr 1 Hindernis ist. Wenn also die Abfrage 1 ergibt, soll der Schuss deaktiviert werden. Nun kannst du auf einfache Art und Weise jedes beliebige Chipset nutzen und die unbegehbaren Teile auf Terrain 1 stellen. Soll das Geschoss an einer Stelle zerschellen, deren Terrain ID du nicht bestimmen kannst zB weil dort ein Upper Layer Tile liegt, dann setz dort einfach ein Block Event hin, bei dem auf der dritten Page der Befehl zum deaktivieren des Schusses steht.






) eingespeichert (also nicht der Schuss). Bei diesen Events calle ich dann die Seite 3 die den Energieverlust, bzw. den Tod einleitet...
Zitieren