Hallo liebes Forum.
Diesmal wollte ich Euch wirklich nicht quälen, aber ich komm einfach nicht dahinter. Wie kann ich eine gesetzte Variable auf weitere Rooms übertragen? Mein Vorhaben ist, einen Laser (obj_laser_hoch) per Hebel zu deaktivieren. Allerdings befindet sich der Hebel in einem anderen Room.
Bin derartig vorgegangen:
object_laser_start:
Events: "Create" - Actions: "Set the value of a variable"
Object: obj_laser_hoch
variable: laser
value: 1
Dies habe ich getan, um Variable "laser" vorerst auf den Wert 1 zu setzen. Das Object wurde im ersten Screen gesetzt, in den man nach Verlassen des Screens nicht mehr zurückgelangt (um nicht etwa den Wert später wieder auf 1 zu setzen).
In einem anderen Screen soll der Wert der Variable beim Betätigen eines Hebels verändert werden. Bei diesem Prozess habe ich erneut die Action "Set the value of a variable" eingefügt:
Object: obj_laser_hoch
variable: laser
value: 2
Nun sollte beim Betätigen des Hebels der Wert statt 1 ab sofort 2 betragen. Im Room, in dem sich bisher der Laser befand, sollte nun KEIN Laser mehr sein, wenn man diesen betritt.
Im Objekt obj_laser_hoch habe ich folgendes in Event "Step" eingegeben:
Befehl "if a variable has a value"
Applies to: self
variable: laser
value:1
operation: larger than
und anschliessend, was dann eben passieren soll (in meinem Fall "destroy obj_laser_hoch").
Funktioniert nur leider nicht.
Wenn ich diesen Prozess in EINEM Room durchführe, funktioniert die Sache bestens. Nicht aber, wenn der Hebel in einem anderen Raum betätigt wird. Denn befindet er sich in einem anderen Raum, ist der Laser nachwievor da. Also gehe ich davon aus, dass der Wert der Variable nicht auf weitere Räume übertragbar ist. Wie kann ich das ändern? Rooms und Sprite "obj_laser_hoch" sind persistent - aber das ändert nichts (irgendwie logisch). Denn ich müsste dem Wert der Variable die Persistent-Funktion zuteilen können, damit die Sache funktioniert...
Ich hoffe, Ihr wisst, was ich meine
Diesmal bin ich NICHT gleich zum GM-Forum gestürzt, weil ich es selbst lösen wollte. Aber ich bin einfach zu dumm. Benutze übrigens die 6er Verion.
Bitte lasst Euch nicht von mir verwirren und sagt mir, woran es liegen könnte. Vielleicht geht´s VIEL einfacher, als ich mir zur Zeit noch vorstelle. Bin für JEDE Antwort dankbar!
Schöne Grüsse,
Karli.
Diesmal wollte ich Euch wirklich nicht quälen, aber ich komm einfach nicht dahinter. Wie kann ich eine gesetzte Variable auf weitere Rooms übertragen? Mein Vorhaben ist, einen Laser (obj_laser_hoch) per Hebel zu deaktivieren. Allerdings befindet sich der Hebel in einem anderen Room.
Bin derartig vorgegangen:
object_laser_start:
Events: "Create" - Actions: "Set the value of a variable"
Object: obj_laser_hoch
variable: laser
value: 1
Dies habe ich getan, um Variable "laser" vorerst auf den Wert 1 zu setzen. Das Object wurde im ersten Screen gesetzt, in den man nach Verlassen des Screens nicht mehr zurückgelangt (um nicht etwa den Wert später wieder auf 1 zu setzen).
In einem anderen Screen soll der Wert der Variable beim Betätigen eines Hebels verändert werden. Bei diesem Prozess habe ich erneut die Action "Set the value of a variable" eingefügt:
Object: obj_laser_hoch
variable: laser
value: 2
Nun sollte beim Betätigen des Hebels der Wert statt 1 ab sofort 2 betragen. Im Room, in dem sich bisher der Laser befand, sollte nun KEIN Laser mehr sein, wenn man diesen betritt.
Im Objekt obj_laser_hoch habe ich folgendes in Event "Step" eingegeben:
Befehl "if a variable has a value"
Applies to: self
variable: laser
value:1
operation: larger than
und anschliessend, was dann eben passieren soll (in meinem Fall "destroy obj_laser_hoch").
Funktioniert nur leider nicht.
Wenn ich diesen Prozess in EINEM Room durchführe, funktioniert die Sache bestens. Nicht aber, wenn der Hebel in einem anderen Raum betätigt wird. Denn befindet er sich in einem anderen Raum, ist der Laser nachwievor da. Also gehe ich davon aus, dass der Wert der Variable nicht auf weitere Räume übertragbar ist. Wie kann ich das ändern? Rooms und Sprite "obj_laser_hoch" sind persistent - aber das ändert nichts (irgendwie logisch). Denn ich müsste dem Wert der Variable die Persistent-Funktion zuteilen können, damit die Sache funktioniert...
Ich hoffe, Ihr wisst, was ich meine

Diesmal bin ich NICHT gleich zum GM-Forum gestürzt, weil ich es selbst lösen wollte. Aber ich bin einfach zu dumm. Benutze übrigens die 6er Verion.
Bitte lasst Euch nicht von mir verwirren und sagt mir, woran es liegen könnte. Vielleicht geht´s VIEL einfacher, als ich mir zur Zeit noch vorstelle. Bin für JEDE Antwort dankbar!
Schöne Grüsse,
Karli.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kht ()