top of page
Anker 1

Baumenü-Probleme


Wenn Mod „B“ ein neues Gebäude erzeugt, „existiert“ es noch nicht, wenn der Modloader gerade Mod „A“ integriert. Wenn jetzt z.B. die Menüposition von Mod „B“ auf dem Gebäude von Mod „A“ basiert, wird er die Position natürlich nicht finden.

Um diese Problematik abzumildern, gehe ich bei der Bestimmung des Menüeintrags folgendermaßen vor:
Versuche zuerst, das Objekt zu finden, hinter (oder vor) welches das neue Gebäude platziert werden soll. Wenn es existiert, füge das neue Gebäude ein. Existiert es nicht, dann platziere das Gebäude an die gewählte Position.

 

Das klappt ganz gut, hat aber auch eine Einschränkung. Wenn weitere Gebäude aus anderen Mods ebenfalls an diese Stelle platziert werden sollen, rücken die Positionen entsprechend ein.

Für ein Beispiel nehmen wir folgende Situation an:

Ein Mod A erzeugt ein neues Gebäude, eine Teeplantage. Im Baumenü soll es hinter Brot im Arbeiter-Menü eingefügt werden. Es bekommt hier die GUID 1602151423.

So sollte das auch im Spiel aussehen, und das funktioniert auch.

Jetzt gibt es einen weiteren Mod B, der die zugehörige Teebrauerei mit der GUID 1602151432 erzeugt. Die Teebrauerei fügen wir hinter der Teeplantage ein.  Das sieht dann so aus.

Wenn wir aber beide Mods exportieren (und installieren) sieht es nach dem Update der Menüvorschau so aus:

Wieso ist das so? Gehen wir durch, was abläuft:

Teebrauerei kommt alphabetisch vor Teeplantage, wird also zuerst geladen. Der Modloader versucht, die Teebrauerei hinter der Teeplantage, also hinter GUID 1602151423 einzufügen. Das scheitert, weil dieses Objekt (noch) nicht existiert. Deshalb wird es an die gewählte Position platziert, in diesem Fall hinter Position 6, denn das wäre ja hinter der Teeplantage.

Zu diesem Zeitpunkt sieht das Menü intern so aus, die Teeplantage ist noch nicht geladen und die Teebrauerei ist an Position 6.

Jetzt ist die Teeplantage an der Reihe. Der Modloader platziert sie, wie gewünscht, hinter das Brot. Jetzt wird klar, wie es dazu kommt, dass sich die Kirche irgendwie zwischen die beiden neuen Objekte gemogelt hat. Durch das Einfügen sind alle Objekte dahinter einen Platz weiter nach rechts gerückt.

 

Wie kann man dieses Problem umgehen? Am einfachsten ist es, wenn man neue Objekte nur vor oder hinter originalen Objekten platziert, denn diese sind immer von Anfang an vorhanden.

Man kann auch die Namen der Mods so anpassen, dass sie in der richtigen Reihenfolge geladen werden.

Oder man ändert die Fallback-Position manuell ab, ein Doppelklick auf einen Menüeintrag ermöglich das. In unserem Fall müsste die Teebrauerei „einen weiter nach links“, daher ändern wir die 6 auf eine 5. Dann passt es auch.

bottom of page