Alles, was ich je glaubte, verstanden zu haben, verstehe ich nun nicht mehr
Es wäre ja auch zu einfach, wenn man einfach sagen könnte "PlaceAtMe" ist böse.
Wie ich es immer verstanden hatte, ich weiß auch nicht, warum: Mit PlaceAtMe eingefügte Dinge bringen ihr BaseObjekt in den Spielstand mit. Selbst wenn die Referenz entfernt wird, bleibt der BaseObject Eintrag im Spielstand erhalten. Inzwischen gehe ich davon aus, dass ich das falsch verstanden habe.
Ich möchte es einfach nur verstehen und auf gar keinen Fall irgendeine Meinung oder irgendein PI angreifen. Das nur äh... eventuell nochmal und vorneweg.
Nehmen wir mal an, ich habe ein Plugin, das ein alle 2 Sekunden laufendes Questscript hat, das jedes mal wieder einen Gegenstand per PlaceAtMe beim Spieler platziert damit der einen Zauber sprechen kann. (Lässt sich auch wunderbar mit MoveTo lösen, ich weiß, habe ich inzwischen selbst dort eingebaut.)
Ich habe mir gerade meine Savegames angesehen. Ich habe einen Spielstand, nach dem ich eine Menge Plugins, darunter auch dieses, aktiviert habe. Und ich nutze die Statistikfunktion über Spielstände von Wrye Bash.
Bei diesem Spielstand vor allen Plugins fehlt dieser Teil. Danach kann man sozusagen zusehen, wie das mehr wird. Ich habe eben mal den Spielstand geladen und bin so eine Minute auf der Stelle rumgehoppst. Dabei ist die Zahl von 8713 auf 8728 gestiegen. Ohne dieses eine Plugin nicht. Also habe ich mich brav in die Ecke gestellt und 6 Tage (5 Tage Respawn) gewartet. Das Savegame ist merklich kleiner geworden, aber diese Zahl nicht: inzwischen 8744.Zitat
3422 ist auch die FormID dieses Gegenstands im CS. Bedeutet das also nicht, dass diese ganzen sinnlosen Gegenstände bis ans Ende aller Tage disabled in der Gegend rumstehen? Oder zumindest irgendetwas bleibt? Das inzwischen immerhin 600kb groß ist?
Wrye Bash zeigt ja nur ab 100 Stück an. Wenn ich per PlaceAtMe ein "paar" Mal Gold herbeischaffe, taucht dann auchdort auf.Zitat
Auch nach 6 Tagen warten in einer anderen Zelle verschwindet dieser Eintrag nicht
Wenn ich dieses Plugin nun entferne, lade und speichere, dann werden all diese Dinger zu Nullreferenzen:
Die könnte ich theoretisch entfernen, oder? Aber auch das ist ja nicht ganz so sicher.Zitat
Und wenn PlaceAtMe Dinge aus der Oblivion.esm hinzugefügt hätte, ginge es doch nicht, weil die nie zu Nullreferenzen werden?
Dann wollte ich mal Kreaturen testen. Bin in die Herberge zum Kaufmann gegangen, weil die grad in der Nähe war.
Wenn ich rumstehe - Spielstand 5797 kb.
Habe 20x 3 Kreaturen über einen PI - Zauber mit PlaceAtMe beschworen.
Spielstand 5846 kb, sind alle gekillt und disabled in meiner Zelle.
51 Kreatur-Referenz von der Wrye Bash Statistik, vorher: 2023, nachher: 2083. Da sind sie. Und zwar direkt im Save: 553 Streamsave_2.ess.
Beim Zellenwechsel in eine vorher unbesuchte Zelle wird der Spielstand 5851 kb groß +- n bisschen, je nachdem wer grad mit drinrum steht. Und wieder den Respawn abwarten.
Und warten. Und ... nix. 10 Ingametage später noch immer:
Auch wenn ich sicherheitshalber nochmal sonstwo warte, die verschwinden nicht. Würde das nicht auch bedeuten, dass irgendetwas dauerhaft da ist?Zitat
Natürlich ist so etwas bei einer einmaligen, zweimaligen oder irgendwie begrenzten Sache ziemlich egal, das sind kaum Datenmengen. Angenommen es wären alle 60 Obliviontore der MQ? Alle Endgegner einer Questmod? Selbst das ist dagegen lächerlich wenig. Aber Beispiel eins mit den immerhin 8000 Refs in ca. 10 Spielstunden?Das wären, wenn das so weitergeht, in 100 Stunden 6 MB - das ist mehr, als mein gesamter Charakter vorher hatte! Und das vollkommen sinnlos - wie ich ausprobiert habe, geht es wunderbar mit MoveTo. Oder ein Beschwörungszauber, den man andauernd, in jedem Kampf nimmt.
Was mir dann aufgefallen ist:
Dann habe ich testweise 250 Ratten in meine Zelle geholt - Spielstand wurde mit einem Mal 600 kb größer. Sobald ich sie verlassen habe etwas kleiner, nach einem Respawn der Zelle jedoch ist er exakt wieder so klein wie zuvor!
Der Unterschied zu den beschworenen Ratten und denen, die ich über die Konsole geholt habe: Die beschworenen standen nicht auf "Respawn" - sondern sogar auf "Quest Item" -, die normalen schon!
Zu guter letzt habe ich mir 111 Äpfel auf die Straße geholt, die Statistik angesehen: Die 111 Äpfel tauchen auf. Habe ca. die Hälfte von ihnen aufgehoben und sie tauchen an dieser Stelle nicht mehr auf, waren ja dann weniger als 100.
Der Objekt-Referenz Abschnitt sagt mir:
Vorher: 9275
Nach PlaceAtMe: 9386
Nach Aufheben: 9314
Also verschwinden sie, sobald ich sie aufnehme, offenbar wieder.
Was ich daraus schließen würde, ohne viel weiteres Hintergrundwissen: Mit PlaceAtMe geholte Gegenstände und Kreaturen verhalten sich exakt wie jede andere auch. Die Gegenstände bleiben einfach da, wie es jeder andre auch tun würde. Die Kreaturen werden nur dann entfernt, wenn sie normalerweise auch verschwinden würden. Was bei Quest Item ja nicht der Fall ist. Wie "gefährlich" PlaceAtMe also ist liegt einzig und allein an der Art der Verwendung, aber es gibt durchaus "gefährliche" Plugins da draußen.
Bitte sagt mir, wenn ich irgendetwas übersehen, vergessen oder falsch interpretiert habe. Ich kann nur versuchen, mir einen Reim auf die Zahlen zu machen, die ich vor der Nase habe.
Mir ging es nie um jedes PlugIn, das auch nur einmal PlaceAtME benutzt sondern nur um... naja, sowas.
(Und wahrscheinlich habe ich gerade 2 Stunden für etwas verschwendet, das irgendjemand längst getestet und irgendwo hingeschrieben hat, das ich nur nich gefunden habe)
Edit: *im englischen Forum rumwühl* Der Fehler bei meinem anonymen Beispiel ist schon lange bekannt und behoben, aber es geht mir hier ja auch um das Beispiel... dass ich zu doof war, eine korrigierte Version zu finden, ist ja mein eigenes Problem.)