PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Falscher Variable-Wert nach gelandenen Spiestand



Devoli
07.10.2010, 12:26
Also, hallo erst mal ^^
Bei meinen aktuellen Projekt ist jetzt folgender Fehler aufgetreten:
Wenn ich speichere und dann ohne zu beenden weiterspiele, geht alles ganz normal.
Wenn ich jetzt aber das Spiel beende und dann später einen Spielstand lade und spielen möchte,
werden die Variablen 65 und 66 auf den Wert 0 gesetzt. Egal was ich mit denen mache. (In meinen Fall will ich sie auf den Wert 1 setzen)

Ich habe jetzt eine andere Variable verwendet und es geht, aber jetzt würd ich gerne wissen warum das überhaupt passiert und ob man das verhindern kann. Denn das dürfte ja nicht passieren

Danke im Voraus ^^

Dhan
07.10.2010, 13:28
o.O Sehr merkwürdiger Fehler.
Test mal erstmal, ob das bei dir am Maker/System oder am Projekt liegt, also erstell mal ein neues Projekt, das nur diese Variable verändert. Die erste Annahme wäre, dass du irgendwelche Code-Fragmente hast, an die du dich schlichtweg nicht mehr erinnerst (passiert ja leicht bei der Vielzahl von Events) die das irgendwie machen.
Ein einfaches Beispiel:
Du hast ein Event, das sich mit Clear Timer löscht. Den Speicherstand hast du aus einem Spiel angelegt, in dem das Event sich bereits gelöscht hatte. Später hast du das Event verändert und es hat sich einfach nicht aktualisiert - wobei sich dein Problem nicht danach enhört.
Geh mal alle Events, die aktiv sein könnten, durch, und schau, ob sie 65 und 66 irgendwo verändern wenn der Neues-Projekt-Test zeigt, dasses am Projekt liegt

RPG Hacker
07.10.2010, 13:29
Vielleicht die Variable aus Versehen erst nach dem Speichermenüaufruf verändert?

Devoli
07.10.2010, 13:48
Die betroffenen Variablen werden über ein Common Event auf 1 gesetzt und werden erst bei einen "On Hero Touch" Event auf der Map wieder auf 0 gesetzt. Sollte es.
Und ich habe schon alles genau durchgeschaut, diese Variablen werden sonst niergends verändert.

Und ich habe es bei einem neuen Projekt gemacht und dort gehts es normal ._.
Schein also am projekt zu liegen

Es ist echt ein seltsamer Fehler ._.

Daos-Mandrak
07.10.2010, 14:05
Dir wird nichts übrig bleiben außer solange zu suchen bis du den Fehler im Code gefunden hast oder die entsprechenden Events nochmal komplett neu erstellen.

Ich könnte mir folgendes vorstellen:
Eines der Events steht versehentlich auf Parallel Process oder Autostart. Oder alternativ: Du setzt die Events vielleicht zu einem bestimmten Zeitpunkt auf die Position des Helden.
Beim Speichern ändern sich die Positionen nicht. Beim Mapwechsel oder beim Laden werden alle Eventpositionen zurückgesetzt.

Engel der Furcht
07.10.2010, 14:14
Hilft vielleicht was:
Wenn du rm2k3 hast,kannst du nach Variablen-Kommandos suchen,
falls die veränderung doch irgendwo anders abläuft.

Handschuh
07.10.2010, 14:50
Die betroffenen Variablen werden über ein Common Event auf 1 gesetzt und werden erst bei einen "On Hero Touch" Event auf der Map wieder auf 0 gesetzt. Sollte es.
Und ich habe schon alles genau durchgeschaut, diese Variablen werden sonst niergends verändert.

Und ich habe es bei einem neuen Projekt gemacht und dort gehts es normal ._.
Schein also am projekt zu liegen

Es ist echt ein seltsamer Fehler ._.

Schonmal Testweise einfach eine Textnachricht beim ausführen dieses Events reingemacht, falls es doch etwas damit zu tun hat? Wenn es immernoch passiert kannst du das zumindest definitiv ausschließen :)

Kazesui
07.10.2010, 15:02
Wann immer du irgendein änderung in den maker machst, werden eine reihe dinger zurück gesetzt für das nächste mal du das spiel probierst, auch wenn du zuerst gespeichert hat.
auto start und pp events werden von anfang wieder losgehen, egal wie weit die in dem kode schon waren, "tileset" change werden zurück gesetzt zum originalen tileset usw.

ich finde auch dass du ein bisschen mit textnachrichten an unterschiedliche orte in events rumprobieren und an sonstiges gucken was möglicherweise zurück gestellt werden könnte.

Devoli
07.10.2010, 16:50
Wenn du rm2k3 hast,kannst du nach Variablen-Kommandos suchen,
falls die veränderung doch irgendwo anders abläuft.
Hab ich, die Variable wird nur noch über ein Common Event auf 1 gesetzt und kommt sonst niergends vor.


Schonmal Testweise einfach eine Textnachricht beim ausführen dieses Events reingemacht, falls es doch etwas damit zu tun hat?
Hab ich ebenfalls, und es passiert nichts auffälliges.

Und es geht sonst ALLES ganz normal nur die Variablen 65 und 66 bleiben auf 0.
Statt denen verwende ich einfach jetzt eine andere Variable. Ist ja nur in vieleicht 3 Event vorgekommen. Und ich habe auch darauf geachtet das ich sie nicht versehentlich diese ändere.

Wird wohl ein Rätsel bleiben warum die Variablen trotzdem zurückgesetzt werden ._.

Cherry
07.10.2010, 17:05
Naja, das hab ich mal auf meiner alten Seite erklärt: http://www.freewebs.com/cherry-dt/profiwissen.htm#127523595

Ganz genau dasselbe kanns allerdings nicht sein, weil ich hier von Tastenabfragevariable+768 rede, und 65 bzw. 66 sind aber sogar kleiner als 768... vielleicht wirkt sich das nach unten auch aus, unter Umständen? Schau mal, ob in deinem Spiel irgendwo so etwas wie ichs da erklärt habe ist, sag mir die Variablennummer. Würd mich interessieren.

mfG Cherry

Devoli
07.10.2010, 17:16
Das ist echt interesant Oo
Also es ist so das ich aus einen Picture-Menü heraus den Speicherscreen aufrufe, die Taste wird in die Variable 310 gespeichert. Die Tasten die ich da abfrage sind Enter und die Pfeiltasten up und down

Und danach wird der Spieler wieder ins Hauptmenü teleportiert, was man auch sieht wenn man neu läd