"x" wird nicht mehr als Variable angenommen

  • GM 7

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

  • "x" wird nicht mehr als Variable angenommen

    Hallo!

    Folgendes Problem ist wie aus dem nichts aufgetaucht:
    Im folgenden Code wird die Variable x nicht mehr als diese angenommen:

    Quellcode

    1. instance_create(du.x+10 , du.y+10, Inventory.slotItems[argument0]);


    Das meldet auf jeden Fall GM beim Ausführen des Spiels. Und das passiert nicht nur in diesem Script. In anderen Codes wird x ebenfalls nicht mehr mit blauer Farbe dargestellt.
    Bitte um Hilfe!

    lg
  • Nun... falls das der Fall ist/war ODER auch nicht, sollte er einfach probieren, alle Projekt-Ressourcen zu exportieren (wirklich nur eine Datei mit allen Sprites, eine mit Scripts und eine mit Raeume, schlag ich vor) als *.gmres und in eine leer/neue Projekt datei importieren, so dass die Phantom-Ressourcen und Humbuk-Pointer einfach verschwinden. Heb die alte Projekt-Datei aber auf.
    So wuerde ich das handhaben
  • ich bedanke mich wirklich sehr für die äußerst hilfreichen antworten :)
    aber warum so komplizieren? "du" ist ein obj das ganz eindeutig existiert.
    das ganze ist plötzlich ganz unbegründet aus dem nichts aufgetaucht.
    warum sollte gm "x" plötzlich nicht mehr als var annehmen??
    hier ein bsp:


    EDIT: @Gleich knallt's: ja, aber das is doch total aufwändig!
  • Klar isses aufwendig (klick auf projekt export/5 minuten). Aber in solchen Situationen, wo du nicht weisst ob es an dir selbst liegt oder am GM, versuchste das, um raszufinden ob das auch tatsaechlich die richtige Vermutung war. Wenn's nich funzt, weisste sicher, das es an deinem Code liegt. Investiere lieber 5 Minuten dein Projekt aus einer moeglich beschaedigten Projektdatei rauszufiltern, anstelle Tage drann rumzudenken.

    Fuer mich sieht's eindeutig danach aus, als ob der Fehler beim Ueberlagern einer falsch initialisierten Variable entsteht ODER einem Step-Problem an dem der Compiler eine Variable abfraegt, die noch nicht existiert, ohne wirklich die STruktur deines Codes oder deiner Projektdatei zu sehen. Weil du sagst ja ganz klar, dass es die Variable x ist, die GM nicht mehr zuordnen kann. Schau ma nach, ob du nich ausversehen eine Ressource hast, die sich "x" nennt mit dem Debuger (dieses Tool is nuetzlicher als manch einer glaubt), oder transferiere deine Ressourcen mal in eine leere/neue Projektdatei.

    Oeffne den Debugger, lass dein Game laufen, und gib mal aus Gaudie:

    Quellcode

    1. du.x

    ...und sieh nach, ob da was rausspringt bei.

    Was du auch probieren kannst im Obj "du" Creation Event:

    Quellcode

    1. x=self.x;

    einfach nochmal klarstellen, dass x in diesem Objekt auch wirklich existiert (is ja normalerweise nicht notwendig, aber es hilft dir rauszufinden, ob die Variable ueberlagert wird.

    Oder:
    Obj "du" Creation Event:

    Quellcode

    1. nx=self.x;

    und ersetz x in instance_create(x..) durch "du.nx+10"

    Aber wie gesagt, GM denkt dass du einen Ressource-Namen anstelle einer Variable angibst mit dem Namen "x".
    Das sagt die Fehlermeldung:
    "Variable name expected!"

    sonst wuerde er sagen:
    "unknown variable"... das zeigt ja schon, das x auf jeden Fall existiert

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Gleich knallt's ()

  • Hi

    Schon mal deinen Code nach einer falschen Klammersetzung { kontrolliert.
    Mir ist das hin und wieder auch passiert das GM einer meiner Variabel nicht mehr anerkannt hat. Dann habe ich immer lange gesucht nach dem Fehler.
    Bis mir mal einer gesagt hat, das meine Klammersetzung an einer Stelle falsch war.
    Der GM müsste dir ja dabei helfen ob dein Code richtig ist. Unten im Codefenster steht ja immer was am Code falsch ist.

    Gruss
    Drachen :)
  • ok, problem gelöst dankeschön.
    ich habe die ganzn vorschläge, die gebracht worden sind, ausprobiert. hat alles nichts gebracht. verzweifelt wie ich nun mal war, habe ich eine neue file/game aufgemacht und die ganzen dateien (+sprites +objects +scripts...) neu reinzukopieren. Als habe ich eine identische Kopie angefertig und siehe da: funktioniert.
    Dankeschön nochmal für die vielen Vorschläge,
    lg!
  • nEmaTA schrieb:

    ...ich habe die ganzn vorschläge, die gebracht worden sind, ausprobiert. hat alles nichts gebracht. verzweifelt wie ich nun mal war, habe ich eine neue file/game aufgemacht und die ganzen dateien (+sprites +objects +scripts...) neu reinzukopieren. Als habe ich eine identische Kopie angefertig und siehe da: funktioniert. ...

    ich hab das in zwei in meiner Antworten vorgeschlagen, jetzt machste's doch so wie ich sagte... aber hat alles nichts gebracht?
    In Zukunft versuch ich's mit Arabisch, das bringt vielleicht doch mehr... oder soll ich irgendwelche Glyphen anstelle von europaeischem Zeichensatz verwenden? Wie waer's mit Binaersprache? :P

    ...naja :D