Hi... 
Um GML zu lernen (und natürlich auch aus Lust und Laune) bastle ich zurzeit was neues: Ein Top down Weltraumspiel, in dem man mit einem Schiff rumfliegt, Piratenschiffe abschießt, Gegenstände einsammelt, ganz viele Upgrades kauft, ect.
An der X-Reihe von Egosoft orientierend hab ich gemacht, dass man Gegenstände nur einsammeln kann, wenn die Frachtluke offen ist. Funktioniert bestens.
Logischerweise sollten die Schiffsschilde ausgeschaltet werden, wenn die Frachtluke geöffnet ist, weil die Schilde ja sonst den Gegenstand abstoßen würden, so wie andere Materie auch (wenigstens ein bisschen Realismus). Die Schilde laden sich selbst alle 3 Sekunden wieder zu 1/100 von selbst auf und das möchte ich ebenfalls deaktivieren, wenn die Frachtluke offen ist, damit diese nicht weiterladen.
Und genau da hakt es:
Alles anzeigen
Der momentane Wert der Schilde soll zwischengespeichert werden, das Schild deaktiviert (also auf 0 gesetzt) werden und wenn man die Frachtluke schließt, soll der vorher gespeicherte Schildwert wiederhergestellt und das Aufladen der Schilde wieder aktiviert werden. Wie muss das aussehen? Mein Code bewirkt, dass der Schildwert immer wieder mit 0 überschrieben wird, weil er im Step-Event ist. Hab bestimmt nur wiedern üblen Denkfehler...

Um GML zu lernen (und natürlich auch aus Lust und Laune) bastle ich zurzeit was neues: Ein Top down Weltraumspiel, in dem man mit einem Schiff rumfliegt, Piratenschiffe abschießt, Gegenstände einsammelt, ganz viele Upgrades kauft, ect.
An der X-Reihe von Egosoft orientierend hab ich gemacht, dass man Gegenstände nur einsammeln kann, wenn die Frachtluke offen ist. Funktioniert bestens.
Logischerweise sollten die Schiffsschilde ausgeschaltet werden, wenn die Frachtluke geöffnet ist, weil die Schilde ja sonst den Gegenstand abstoßen würden, so wie andere Materie auch (wenigstens ein bisschen Realismus). Die Schilde laden sich selbst alle 3 Sekunden wieder zu 1/100 von selbst auf und das möchte ich ebenfalls deaktivieren, wenn die Frachtluke offen ist, damit diese nicht weiterladen.
Und genau da hakt es:

GML-Quellcode
Der momentane Wert der Schilde soll zwischengespeichert werden, das Schild deaktiviert (also auf 0 gesetzt) werden und wenn man die Frachtluke schließt, soll der vorher gespeicherte Schildwert wiederhergestellt und das Aufladen der Schilde wieder aktiviert werden. Wie muss das aussehen? Mein Code bewirkt, dass der Schildwert immer wieder mit 0 überschrieben wird, weil er im Step-Event ist. Hab bestimmt nur wiedern üblen Denkfehler...
