GM:S - Fehlermeldung: PerformEvent recursion depth failure

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

  • GM:S - Fehlermeldung: PerformEvent recursion depth failure

    Hallo,

    ich bin noch relativ neu in Game Maker und hoffe mir kann jemand von den erfahrenen Usern bei meinem Problem helfen.

    Zum lernen versuche ich gerade Minesweeper nachzubauen, was bis zum jetzigen Stand auch relativ gut funktioniert. Allerdings bekomme ich hin und wieder eine Fehlermeldung ausgegeben, bei der ich nicht weiß, wie man die lösen könnte.
    Ich hab schon gegoogelt und bin auch fündig geworden, woran es liegt, aber wie gesagt, weiß ich aktuell nicht, wie ich das Problem lösen soll.

    Fehlermeldung
    PerformEvent recursion depth failure - check for infinite loops, check objects for parenting


    Fehler nachstellen könnt Ihr, wenn Ihr die im Link befindliche Datei in Game Maker öffnet und das Spiel startet. Danach seht ihr das Spielfeld mit der jeweiligen Beschriftung (Draw-Event) für jedes Feld mit Wert im Grid, damit ich gleich weiß, wo welches Feld liegt. Dabei bedeutet 0=leer, 1-8=Anzahl angrenzender Bomben, 9=Bombe

    Wenn man jetzt auf ein leeres Feld (0) klickt sollen ausgehend davon die weiteren angrenzenden leeren und Nummernfelder aufgedeckt werden. Das klappt soweit auch, wenn es nicht zu viele angrenzenden Felder sind. Ansonsten erscheint der besagt Fehler.
    Per Leertaste kann man das Spiel immer wieder neu starten, falls der Fehler beim testen nicht gleich auftritt.

    dropbox.com/s/yh4vibybakg9tf8/Minesweeper.gmz?dl=0

    Dann schon mal Danke an diejenigen, die helfen wollen bzw. können.

    Grüße
    SplashClick
  • Ich hab hier nochmal den Ausführlichen Error:

    ___________________________________________
    ############################################################################################
    FATAL ERROR in
    action number 1
    of Create Event
    for object obj_clear:

    PerformEvent recursion depth failure - check for infinite loops, check objects for parenting
    at gml_Script_scr_revealNextField (line 10) - if (global.grid[# grid_x, grid_y] == CLEAR) instance_change(obj_clear, true);
    ############################################################################################
    --------------------------------------------------------------------------------------------
    stack frame is
    gml_Script_scr_revealNextField (line 10)
    called from - gml_Object_obj_clear_Create_0 (line 1) - {


    Ich hatte den Fehler selber noch nicht bekommen, denke aber vor allem, weil recursion in dem Fehler kommt, davon aus, dass du etwas machst, was sich endlos wiederholt. In dem Fall ist es halt so, dass du ein Skript aufrufst, welches obj_clear erstellt/austauscht, welches dann die Funktion auch wieder ausführt. GM sieht es zumindest so an, als wenn das ganze Endlos gehen würde.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Deine Lösung finde ich eigentlich ganz schön. Es würde andernfalls aber auch mit Schleifen gehen.
    Wenn du dazu Hilfe brauchst, kannst du dir das in meiner Signatur verlinkte Schleifen Tutorial anschauen oder mich auch nochmal persönlich fragen :)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe