Also manchmal bringen mich diese Scripte hart an die Grenze meines Hirns oder überschreiten sie ab und zu.
Bin nochmals daran, die Karawanen zu überarbeiten und das beste rauzuholen, unter Berücksichtigung von Aspekten wie Stabilität, Performance und realistischem Verhalten.
Und da müssen mehrere lange Scripte und Actors mit verschiedenem Verhalten synchronisiert werden und zwar so, dass auf jeden Fall abgebrochen wird, wenn unvorhersehbare Dinge auftreten.
Im Prinizp wird in einem definierbaren Intervall eine Karawane aufgerufen, die solange ihre Kreise durchs Ödland zieht, wie der Player sich in der Nähe befindet.
Ist eine Karawane am Ziel, z.B. in der Republik von Dave, angekommen, sollen alle Mitglieder der Karawane auf Sandbox wechseln, bis sie nach einiger Zeit ein neues unter 10 Zielen auslosen und sich wieder vereinigen. Funktioniert an sich vernünftig, aber optimieren kann man immer. Habe natürlich alles hinter Intervalle gesetzt, damit Distanz-Abfragen zum Player nur alle 20 Sekunden gemacht werden.
Allerdings sollten sie schneller zur Sandbox und zurück wechseln, da es seltsam aussieht, wenn sie 20 Sekunden wie die Ölgötzen da stehen, bevor sie in die Sandbox gehen.
An den verstärkten Vanilla-Karawanen muss ich auch nochmals schleifen. Das funktioniert irgendwie nicht richtig, dass man ihnen das Sandbox-Paket wieder per Script nimmt, obwohl es folgerichtig wäre, dass sie das Folgen-Package wieder aufnehmen, das sie als Basis haben. Ich versuche, das möglichst generisch zu halten, um für Hoff möglichst wenig andere Packages, als für Crow zu brauchen.
Auf jeden Fall sieht es da so aus, dass das Brahmin jeder Karawane der Spawnpunkt für Karawanen-Begleiter vom Hund bis zum Sammler ist. Wenn sich der Player in der Nähe befindet, wird gespawnt, ansonsten wieder entfernt, um die Performance nicht unnötig zu belasten.
Falls jemand mal reinsehen möchte, hier das Script, das jeder Karawanenführer hat.
scn wlwQuestCarawanActorsLeaderScript
Spoiler: