Plötzlich exestiren Variablen nicht mehr

  • GM 6

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Plötzlich exestiren Variablen nicht mehr

    Öhm... das spiel lief super... dann hab ich ein wenig im roomeditor umgeändert und plötzlich meckert es bei start des spiels rum das diverse Variablen nicht exestiren.

    Besispiel:
    Es meckert rum das im o_bauer im draw-event nach der variable "ausgewaehlt" gefragt wird, diese aber nicht exestieren soll, obwohl im create-event ausgewaehlt=0 steht. O.o
    An schreibfehlern liegt es nicht(hat ja auch kurz vorher prima geklappt) und alle Objekte die gebraucht werden sind auch im raum.

    Versteh das ganze nicht wirklich.

    Hinweise: global.menschenanzahlmax wird im o_control "erschaffen". Im create-event von o_control wird auch der erste bauer "erschafen". Das kann aber genauso gut rausgenommen werden und der Bauer seperat auf im raum platziert wedrden... Kommt auf das gleiche raus

    Hier gibts die gm6-datei(verpackt): ichbinverwirrt.rar

    Wäre super wenn mir jemand helfen könnte. :)
    Und es gibt jede Menge Rechtschreibfehlern.
  • definiert ? Wenn du damit meinst z.B.: variable1 =0 im create-event hab ich oben schon mal versucht zu beschreiben wo sie liegen

    also hier nochmal (alle natürlich im create-event):
    global.menschenanzahl -> o_menschenmenge
    global.menschenanzahlmax -> o_menschenmenge

    ausgewaehlt -> o_bauer
    rausgehen -> o_bauer

    Also die sind schon alle da ^^ wie auch schon im ersten Beitrag gesagt
    Und es gibt jede Menge Rechtschreibfehlern.
  • Versuch die Variablen mal im GameStart oder RoomStart Event zu erstellen, konnte dein Spiel leider nicht starten, kommt immer Failed to run the game. Oder versuch die global.Variablen in einem Raum vor dem Raum in dem sie gebraucht werden zu erstellen.

    Edit: Hab mal kurz in der gm6 Datei rum geschaut, was mir noch aufgefallen ist und ich glaube daran liegt es auch:
    Mach mal bei o_Bauer das hier nicht ins Create Event global.menschenanzahl += 1; sondern in ein Alarm Event (2Steps oder so), damit das erst später addiert wird.

    EDIT2: JA, kann dein Spiel jetzt auch ausführen, das war der Fehler denn wahrscheinlich als du zu global.menschenzahl 1 addiert hast war die Variable noch garnicht deffiniert, deswegen mußt du nur ne kleine Verzögerung rein machen mit nem alarm (1 Step reicht auch). Du kannst natürlich auch den Satz instance_create(160,160,o_bauer) in ein Alarm Event machen, kommt aufs gleiche raus ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von GrinchXL ()

  • Du musst die Objekterstellung koordinieren damit solche Probleme umgangen werden.
    Ich bin mir nicht ganz sicher, aber ich glaub, dass im GM die Objekte in der Reihenfolge wie sie im Raum platziert wurden instanziert werden, was dann erklären könnte warum deine Variablen plötzlich weg sind wenn du irgendwas am Raum änderst.

    Ich würde dir empfehlen logisch relevante Objekte nur in geringem Maße per Hand in den Raum zu setzen und statt dessen das Ganze per Scripting zu lösen, so kann man halbwegs gut sicherstellen, dass Objekte/Variablen dann da sind wenn sie da sein sollen. (vll. Sequenzdiagramme zeichnen).

    Probier mal folgendes:
    a. Erstelle ein Objekt mit folgendem Inhalt

    GML-Quellcode

    1. instance_create(x,y,o_menschenmenge);
    2. instance_create(x,y,o_control);


    b. Lösche die Objekte o_menschenmenge und o_control aus dem Raum.

    c. Erstelle eine Instanz vom Objekt aus a. im Raum.

    So kannst du dir sicher sein, dass alle Variablen wie global.menschenanzahl usw. schon vorhanden sind wenn o_control das o_bauer Objekt instanziert.

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