PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : plötzliche änderung der event ID



IndependentArt
17.03.2013, 17:13
ich bin nicht ganz sicher, was ich genau gemacht hab. wahrscheinlich das betreffende event verschoben oder kopiert. jedenfalls hatte es danach plötzlich eine andere ID.

das problem ist, dass es in jede menge move event befehle bei anderen events eingebunden ist, welche es nun nicht mehr erkennen.

kann man die event ID manuell verändern? wie kann sowas zustande kommen?

Cherry
17.03.2013, 19:30
Kann man normal nicht, ich kann es dir aber händisch machen wenn du mir die LMU-Datei schickst und sagst was ich verändern soll.

IndependentArt
17.03.2013, 19:42
vielleicht kannst du ja dazu heute abend nochmal ins skype kommen, dann können wir das gern versuchen :)

Cherry
17.03.2013, 19:44
Bin online (nur invisible).

Corti
17.03.2013, 20:28
kann man die event ID manuell verändern?
Nicht direkt. Wenn zB dein Event die 50 ist und die 51 sein soll, dann lösche die 51 und kopiere die 50, dann bekommt die Kopie die freigewordene gewünschte Id und die andere Version kannste dann löschen.



wie kann sowas zustande kommen?
Unsachgemäß rumkopiert würd ich sagen ;-)

Cherry
17.03.2013, 20:52
Hab sein Problem jetzt per Hex-Editor gelöst. Wobei im Nachhinein betrachtet: Mit mehr Rumkopiererei wärs wohl auch gegangen.

Info an alle die es interessiert:

0) Natürlich RPG Maker schließen und Backup machen
1) BER<>Int-Konverter runterladen: http://share.cherrytree.at/showfile-9358/ber2int.exe
Das Ding ist japanisch, aber die Bedienung ist sehr einfach. Man konvertiert damit Zahlen in das spezielle Speicherformat des RPG Makers.
Um eine normale Zahl in das BER-Format umzuwandeln, muss man sie in das obere Feld einfüllen (wenn es hexadezimal sein soll, unten auf "16" klicken, aber das brauchen wir jetzt nicht), links "int > BER" anklicken und dann den Button rechts unten anklicken. Das Ergebnis erscheint im zweiten Textfeld.
2) Die alte und neue ID jeweils mit dem Konverter umwandeln und das Ergebnis merken.
Beispiel:
348 => 82 5C
360 => 82 68
http://share.cherrytree.at/showfile-9361/eventid_berint.png
Wichtig: Ist die Länge der konvertierten Werte verschieden, funktioniert die Methode nicht!
3) LMU-Datei in einem Hex-Editor öffnen
4) Nach 00 plus dem vorher konvertierten alten Wert suchen, hier z.B. 00 82 5C
5) Kontrollieren ob direkt darauf ein Byte mit Wert 01 plus Länge des Eventnamens und der Eventname selbst folgt, z.B.:
00 82 5C 01 06 45 56 30 33 34 38
http://share.cherrytree.at/showfile-9359/eventid.png
Wenn nicht, weitersuchen, weil das heißt dass das nicht die richtige Stelle ist!
6) Event ID durch die neuen (konvertierten) Bytes ersetzen, also aus 82 5C hier 82 68 machen (in unserem Beispiel ändert das die Event ID von 348 zu 360):
http://share.cherrytree.at/showfile-9360/eventid2.png
7) Speichern

Das ganze Problem kam übrigens durch Ausschneiden und Einfügen zustande. Wenn man "Löcher" in der Event-ID-Abfolge hat und ein Event ausschneidet und einfügt, kriegt es die erstbeste (niedrigste freie) ID - wie wenn man es neu erstellt hätte - was in diesem Fall dann aber eine andere ID ist als es am Anfang hatte:
Beispiel: Ihr habt Events mit ID 1, 2, 5, 6, 8, 9 auf der Map. Ihr schneidet Event 2 aus und fügt es woanders ein - kein Problem, es ist noch immer ID 2 weil das die niedrigste freie ID war. Schneidet ihr aber z.B. Event 8 aus und fügt es woanders ein, hat es plötzlich ID 3! Ups.
Das Problem kommt erst zum Tragen wenn man - wie der Threadersteller - andere Events hat die das Event referenzieren (hier z.B. durch einen Move-Event-Befehl).

Lösung: Will man ein Event verschieben, sollte man es niemals ausschneiden, sondern per Drag & Drop einfach an die neue Stelle verschieben!

mfG Cherry

EDIT: Bitte natürlich zuerst kontrollieren ob noch kein anderes Event mit der neuen ID vorhanden ist, sonst gibts Probleme!

IndependentArt
17.03.2013, 20:59
ein hoch auf cherry http://cherrytree.at/misc/smilies/arms.gif