Hallo, Leute,
ich habe ja letzthin mitgekriegt, dass die Engine ein haarsträubendes Verhalten zeigt, wenn es darum geht, geänderten Code neu einzulesen oder Code zu entladen, den es nicht mehr gibt, weil der Mod deinstalliert wurde.
Wenn man in einem Mod den Event OnUpdate() verwendet, dann läuft der selbst dann weiter, wenn sämtliche Mod-Dateien gelöscht wurden. Man muss also nicht meinen, dass deinstallierte Mods keine Einflüsse mehr haben.
Mit einem sauberen Save kann man zumindest gewährleisten, dass Auto-Propertys neu eingelesen werden.
Wenn nämlich zwei Scripts aufeinander zugreifen und beim einen als Beispiel eine neue Property MessageX dazugekommen ist, dann kann es sein, dass MessageX.Show() nicht ausgeführt wird, d.h. keine Box angezeigt wird. Auto-Propertys werden im Spiel nur richtig eingelesen, wenn die Quest initialisiert wird und das wird sie nicht, wenn man einfach eine neue Property setzt. Kann sein, dass man das mit einem StopQuest(), StartQuest() oder so lösen könnte, aber damit man das tun kann, muss man wissen, wann es notwendig ist.
Da kommt jetzt mein Script ins Spiel:
Spoiler:
Damit kann man gewährleisten, dass der Event gestopt wird, wenn der Mod nicht mehr existiert oder eine Reaktion auszulösen, wenn die Versionsnummer des letzten installierten Mods ein Update erfordert.
Habe es natürlich nicht gerne, wenn Leute meinen Mod deinstallieren, aber ich kann nicht damit leben, deren Speicher unnötig zu belasten oder ihr Spiel zu gefährden.
Grüsse
Boïndil