Ändernde IDs mit neuen Patches

Moderator: Moderatoren

4 Beiträge Seite 1 von 1
ANaj
Grünschnabel
Grünschnabel
Beiträge: 2
Registriert: 28.01.2017 04:59
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal


Hi zusammen,

Ich schreibe selbst gerade eine Mod für Enderal im Steamworkshop (Akropolis By AnNaj).
Dabei ist mir aufgefallen, dass sich einige IDs ändern. Wenn ich mit meiner Mod also auf irgendwelche Vanilla-Objekte verweise, sind die eingestellten IDs verändert und die modinternen Scripte funktionieren nicht mehr.

Ist nicht weiter das Problem, wenn ich nach neuem Enderalpatch auch die Mod patche, ist aber trotzdem ne Menge Arbeit.
Deswegen wollte ich mal fragen womit die ID-Änderung zusammenhängt und ob man da als Modautor irgendwas beachten sollte um sich für zukünftige Patches Arbeit zu ersparen.

Meine Mod ist neben der Deutschen auch für die englische Version geschrieben, wo ich einfach nur modinternes übersetze. Gibt es da auch Unterschiede was die IDs anbelangt? Ich teste nur auf der deutschen Version, kann deswegen nicht mit Sicherheit sagen, dass auf der Englischen auch alles einwandfrei funktioniert.

Edit: kann auch sein, das mit dem neuen Patch (1.5.4.0) keine ID-Änderung stattgefunden hat (bisher ist mir noch nichts dazu aufgefallen), würde mich trotzdem interessieren.
stuemper
Enderal Team
Enderal Team
Schwarzer Wächter
Schwarzer Wächter
Beiträge: 3298
Registriert: 14.07.2015 11:43
Hat sich bedankt: 127 Mal
Danksagung erhalten: 1240 Mal


Was meinst du mit ID Änderungen? FormIDs könnten nur mit einem Hexeditor in eine andere FormID geändert werden und das passiert nicht (mehr). EditorIDs ändern sich auch nur sehr selten. Und wenn letzteres passiert, sollte es nicht weiter dramatisch sein, weil sich dadurch nichts an den Forms und den angehängten Scripts ändert.
jcdenton99
Hauptmann
Hauptmann
Beiträge: 86
Registriert: 07.07.2016 14:04
Hat sich bedankt: 28 Mal
Danksagung erhalten: 28 Mal


Hi, ANaj,

ich modde selbst an einem Spielerhaus (mit durchsichtigen Fenstern :P ).
Die meinst sicherlich die Editor-ID's?
Selbst wenn eine Editor-Id sich aendert oder nicht mehr da ist, sollte "deine" Version ja noch im ESP erhalten bleiben.
Ausserdem sollte man sowieso Vanilla-Komponenten (zumindest bei Containern etc.) kopieren und
den Kopien eine eigene FormID (Mit ModPräfix) verpassen.
Macht zwar mehr Arbeit, aber du hast dann im Objekt-Window (u.a *ALL) eine bessere Übersicht über alle deine Änderungen.

Beste Grüße
JC

Edit: War nicht schnell genug :dumb:
@stuemper hat schon alles dazu gesagt.
ANaj
Grünschnabel
Grünschnabel
Beiträge: 2
Registriert: 28.01.2017 04:59
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal


Beim patch 1.5.3 (also der etwas ältere) ist es mir nur mal aufgefallen, dass nach dem Patch die Referenzen durcheinander geraten sind.
Also mit IDs meine ich die Zahlenwerte, jede Form, jede ObjectReference usw. hat ja einen einzigartigen Zahlenwert zur Kennzeichnung.

Ich habe auf einen Activator ein Script mit einer Property, mit dem ich über ein Array von ObjectReference (bzw. [Name des Enderalscripts] extends ObjectReference) auf verschiedene in Enderal platzierte Objekte, mit dem entsprechenden Script verwiesen habe.
Vor dem Patch hat das Script funktioniert, danach nicht mehr.
Also habe ich mir im Creation Kit die zugeordneten Objektreferenzen angeschaut, und festgestellt dass sie auf alle möglichen anderen Objekte verweisen, nur nicht auf die, die ich ursprünglich eingestellt habe.
Ich vermute mal, dass es durch sich ändernde IDs zustande kam, da im Array ja nur die IDs gespeichert werden.
Wenn sie sich in der Masterfile also ändern habe ich da auch andere Verweise drin.

Nicht weiter wild, habe es korrigiert und beim letzten Patch ist mir auch nichts derartiges aufgefallen.

Ich kenne es vom Updaten meiner eigenen Mod, dass einige Änderungen die man an Objektreferenzen vornimmt (vor allem in Script-Properties gespeicherte Werte) im Spielstand nicht übernommen werden. Der Spielstand speichert die alten Werte in den Scriptproperties.
Da lösche ich meistens das Objekt und setze es neu, damit die neuen Werte auch übernommen werden. Insofern hat man quasi auch eine ID-Änderung, da das neu gesetzte Objekt auch eine neue ID bekommen hat.

Bei meinem Script geht es darum, die Erinnerungspunkte zurücksetzen zu lassen, dafür verweise ich auf die Activator mit denen man auch die Steigerung der Erinnerungspunkte auslöst. Da steht drin welche Perks vergeben wurden etc., damit mein Script weis, was es zurücksetzen muss. Da ist es essenziell dass die IDs dieser Objekte bleiben und sich nicht verändern, sonst funktioniert das Script nicht mehr.

Aber gut, da ich auch will, dass das Spiel weiter gepatcht und aufgearbeitet wird, muss man sich ändernde IDs auch in Kauf nehmen, falls sie doch vorkommen sollten.
4 Beiträge Seite 1 von 1

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste