Ne, bin eben noch mal alle Scripte durchgegangen die ich verwende.
Nirgens findet sich auch nur das Wort "memory" oder "Memory"
Daher sollte es ja an und für sich auch keine Probleme mit anderen Scripten geben O_o (nicht in diesem Fall)
Falls es hilfreich ist, folgende Scripte sind noch im Einsatz. (Was euch ohne Code wenig hilft, aber irgendwie nehme ich auch mal an, dass ihr wenig Lust habt den durchzuschauen) ^^
...hätte ich auch nicht.
Zitat
Yanfly Engine:
- Ace Message System
- Ace Menu Engine
Lone Wolf:
- Gamepad Extender
MOG
- MOG_Animated_Title_A
Khas Arcthunder:
- Pathfinding
...
Und dann halt noch eigene Scripte. Aber da bin ich mir recht sicher, dass da kein "Memory" oder "memory" drin vorhanden ist.
Bei den anderen auch... Suchfunktion und so.
In Game_System legst du noch gar keine Instanz von Game_Memory an, daher kommt wohl auch die Fehlermeldung. attr_accessor ermögtlich dir nur den Zugriff auf memory, sprich du kannst memory lesen und verändern. Angelegt wird memory dadurch noch nicht. Das ist zwar nicht die sauberste Art, aber du könntest ans Ende von initialize aus Game_System Folgendes setzen:
sind in der initialize-Methode von Game_Memory nicht so gut aufgehoben und syntaktisch denke ich auch nicht richtig. Auch
#b = Scene_Memory.new
#b.start
brauchst du nicht, weil der Scene_Manager das alles automatisch macht. Wenn ich den Ace richtig verstehe (ich kann mit der Lite-Version leider keine Scripts testen), dann müsstest du auf deiner ersten Map nur folgenden Aufruf machen:
Scene_Manager.call(Scene_Memory)
Falls ich etwas Falsches erzähle bitte gleich Bescheid sagen.
So weit ich es beurteilen kann nur einmal.
Halt in einem Event mit "Parallel Prozess" ein Skriptbefehl mit den beiden Befehlen:
und da drauner wird ein Selfswitch aktiviert. Dann eben eine Seite 2 die durch den Self-Switch aktiviert wird.
Zur Sicherheit hab ich auf Seite 1 unten auch noch ein "Clear Event" eingebaut... der Speicher wird aber auch so zu groß.
Ergo... daran kann es nicht liegen.
Hast du schon mal überprüft, ob das Script auch Probleme macht, wenn du es in ein neues Projekt ohne sonstige Scripte von anderen einfügst?
Ansonsten wäre es vielleicht auch sinnvoll, wenn du dein Projekt, oder zumindest Data/Scripts.rvdata2, irgendwo hochladen könntest, damit nicht tröpfchenweise Ferndiagnose stattfinden muss.
--
"Banjo, you're a BEAR... and I will teach you... THESE MOVES!"
Ja, das geht... aber jetzt wird mein Stack zu groß XD
Wie kann ich das abfangen, dass mir nicht der Speicher ausgeht?
...
Du ruftst entweder innerhalb von Game_Memory ein Game_Memory.new auf oder innerhalb von Scene_Memory ein SceneManager.call(Scene_Memory). Das verursacht eine Endlosrekursion und dadurch den Stackoverflow.
Am besten du zeigst nochmal deinen Code so wie er jetzt aussieht.
Ja und zwar passiert Folgendes: Eine neue Instanz von Game_Memory wird angelegt. Dabei wird initialize aufgerufen, doch Methode legt dann wegen dem Aufruf @memory = Game_Memory.new gleich nochmal eine weitere Instanz an und das unendlich lang. Der Aufruf sollte bei Game_System in die Initialize-Methode geschrieben werden und der Aufruf bei Game_Memory sollte wieder entfernt werden.
Normalerweise (falls du nicht schon etwas geändert hast, steht bei Game_System Folgendes:
Entschuldigt bitte das ich mir hier mit den Antworten so viel Zeit gelassen habe (RL und so).
Jedenfalls... ich habe nun die Sachen wie empfohlen geändert.
Nun habe ich jedoch wieder ein weiteres Problem.
Ich starte das Memory ja über die beiden Befehle hier:
Aus mir nun etwas unerfindlichen Gründen hat er nun wieder Probleme mit dem unteren Aufruf.
Das äußert sich mal wieder so...
Zitat
Script 'GameInterpreter' line 1411: NameError occurred.
uninitialized constant Game_Interpreter::Scene_Manager
...
Wenn ich jetzt "Scene_Mager.call(Scene_Memory)" auskommentiere verschwindet der Fehler natürlich, aber ich bekomme halt auch keine Bilder angezeigt.
Oh man, manchmal hat man wirklich ein Brett vor dem Kopf
Dennoch, irgendwas scheint er wieder nicht finden zu wollen.
Zitat
Script 'Cache' line 88: NoMethodError occurred.
undefined method `empty?' for nil:NilClass
...
Die Meldung taucht dann auf, wenn [card_x(index), card_y(index), card_image(index)] (Mathode get_card index) keine Werte mehr aus dem Koordinatenarray bekommt.
Nachdem der letzte Wert geschrieben wurde... zack Meldung.
Hab jedenfalls mal am Anfang jeder Methode mir eine "Ausgabe" machen lassen und mal die Consolenausgabe kopiert.
Der Länge wegen steht es halt in einem Spoiler, sonst erschlägt es einen.
Rein theoretisch sollte es nun ja nach "get_cards" gehen .... an meine lieben Unterstützer, ich müsste hier vermutlich einen Aufruf von "get_card index" tätigen ... oder?
Der Fehler wird erzeugt, da du die Cache.Picture mit nil aufrufst.
Dies geschieht durch deinen folgenden Code:
Ich vermute mal, du möchtest, je nach Index das figure_names Array ansprechen. Demnach sollte dein Code wie folgt lauten:
Durch deinen aktuellen Code wird bpsw. bei Index = 3 nicht @figure_names[3] angesprochen (so wäre es beim unteren code), sondern @figure_names[136]. Dieser Wert ist im Array nicht vorhanden und daher nil.
(@positions[3] = 136)
Edit:
Desweiteren wird dein Code nicht funktionieren, da dein @positions 16 Koordinaten (je X und Y) beinhaltet, du aber nur 15 Grafiken in @figure_names gepflegt hast. Die 16. Koordinate wird daher auch "nil" als image wählen.