Variablen Probs... weiss nich mehr weiter...

  • Variablen Probs... weiss nich mehr weiter...

    Also,
    hier ist meine datei:
    banner.clanz-universe.de/pirx.gmd

    und hier ist mein problem:
    wenn ich ein neues spiel starte wird die variable "wquest" für das objekt "obj_quest_rechner" auf 0 gesetzt.
    in raum 1 ist das objekt "obj_quest_rechner" drinn und soll bei druck auf "Q" den quest ausgeben.
    Der Code dafür:

    if (wquest=0)
    {
    load_info("q00.rtf")
    show_info()
    load_info("normal.rtf")
    };

    if (wquest=1)
    {
    load_info("q01.rtf")
    show_info()
    load_info("normal.rtf")
    };

    usw....

    Wenn ich jetzt aber auf Q drücke kommt aber follgende fehlermeldung:

    ERROR in
    action number 1
    of Keyboard Event for Q-key Key
    for object obj_quest_rechner:

    Error in code at line 1:
    if (wquest=0)

    at position 5: Unknown variable wquest



    Ich habe die Variable aber doch gesetzt. nur in einem anderen raum. sind variablen immer nur für einen raum gültig
    und müssen neu bestimmt werden, sobald man den raum beendet?

    Vielen Dank! Währe wunderbar, wenn ihr mir helfen könntet!
    (ihr kommt auch so schon in meinen abspann) ;)
    Gruss Simon

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LachenderAffe ()

  • Variablen sind nicht für einen Raum gültig, sondern für eine Instanz. Wenn du dann den Raum wechselst, wird die Instanz von obj_quest_rechner zerstört. Im nächsten Raum wird dann eine neue Instanz erstellt, die aber kein wquest mehr hat.

    Die korrekte Info könntest du viel leichter so anzeigen:

    Quellcode

    1. load_info ("q0" + string(wquest) + ".rtf");
    2. show_info ();
    3. load_info ("normal.rtf");

    Wenn wquest = 1, dann wird daraus "q01", wenn wquest 10 ist, dann "q010" usw.

    btw: Bitte verwende [CODE]-Tags - ist übersichtlicher.
    I have always wished that my computer would be as easy to use as my telephone. My wish has come true. I no longer know how to use my telephone.
    Bjarne Stroustrup


    Mein GML-Tutorial
  • Jupi! thx für die Antwort! Ich probiers aus... :)

    EDIT:
    hmmm... so wird aber die Instanz immer noch zerstört oder?`
    kommt nähmlich immer noch der fehler...

    Das hab ich nun drin:

    Quellcode

    1. Information about object: obj_quest_rechner:
    2. Keyboard Event for Q-key Key:
    3. execute code:
    4. {
    5. load_info ("q0" + string(quest) + ".rtf");
    6. show_info ();
    7. load_info ("normal.rtf");
    8. }


    Quellcode

    1. Information about object: obj_neues_spiel:
    2. Mouse Event for Left Button:
    3. if the player does say yes to the question: Ein neues Spiel starten? Achtung: Der gespeicherte Spielstand wird gelöscht!
    4. execute code:
    5. {
    6. file_delete("save.txt")
    7. }
    8. for all obj_quest_rechner: set variable quest to 0
    9. go to room level_01 with transition effect Create from top



    Ich habe es jetzt so gelösst, das ich in jeden Raum extra ein obj einbaue, das die variable auf den richtigen stand bringt (in create)
    Aber das ist natürlich ein wenig umständlich ;(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LachenderAffe ()