Stellaris News - Stellaris Entwicklungstagebuch #222 - Moddability Updates in Lem

Es gibt eine neue News zu dem Steam Game Stellaris vom 02.09.2021. Folgendes hat dabei der Entwickler von Stellaris veröffentlicht:


von Caligula

Willkommen zu einem weiteren Stellaris Modding Dev Diary! Heute werde ich euch einige der neuen Skriptsprachen-Features im kommenden Patch 3.1 vorstellen.

Wir haben bereits erwähnt, dass die Traditionen mit dem neuen System wesentlich besser modifizierbar sind, da viel weniger Aufwand in der Benutzeroberfläche und den Loc-Dateien erforderlich ist. Ich kann auch bestätigen, dass man jetzt zum Beispiel Traditionsbäume skripten kann, die nur verfügbar werden, wenn man bestimmte Entscheidungen während des Spiels trifft. Aber das Hauptaugenmerk wird heute auf den Variablen liegen.

Variablen



Beim letzten Mal habe ich erwähnt, dass wir mehr mit Variablen machen wollen. Im letzten Patch wurden einige weitere Möglichkeiten hinzugefügt, verschiedene Informationen im Spiel zu speichern, aber das größte Manko war eine einfache Möglichkeit, Auslösewerte zu erhalten, wie zum Beispiel die Anzahl der Pops auf einem Planeten. Außerdem waren die Möglichkeiten, Variablen zu verwenden, immer noch recht begrenzt, vor allem im Vergleich zu neueren PDS-Spielen wie CK3. Auch die Syntax für die Verwendung von Variablen war in vielen Fällen nicht ganz ideal.

Mit 3.1 haben wir die Möglichkeiten von Variablen erheblich erweitert. Zunächst einmal das Format: Wenn man früher den Wert einer Variablen abfragen wollte, musste man sich auf... nun ja, die Variable selbst beziehen, und das war alles. Jetzt kann man ein paar mehr Dinge tun:
value = my_var #erhält den Wert der Variable my_var, die im aktuellen Bereich gesetzt ist

value = from.capital_scope.my_var #ermittelt den Wert der Variable my_var, die in from's capital gesetzt ist

value = trigger:num_pops #ermittelt die Anzahl der Pops im aktuellen Bereich

value = from.capital_scope.trigger:num_pops #ermittelt die Anzahl der Pops in from's capital
Ihr könnt also Dot Scoping verwenden, was eine Menge Unschönes erspart und ohnehin eine große Verbesserung darstellt. Und wie Ihr sehen könnt, könnt Ihr auch auf Trigger verweisen, mit trigger:. Dies unterstützt jeden Trigger, der eine Zahl prüft und nur eine Zahl, ohne { }.

(Hinweis: Das frühere, hässliche Format zum Kopieren von Variablen über verschiedene Bereiche hinweg wurde entfernt. Das Format, bei dem Ihr "Wert = { Bereich = x Variable = y }" angeben mussten)

3.0 hatte bereits einen Effekt, export_trigger_to_variable, aber er funktionierte nur mit fleet_power. Das war der Prototyp; die Funktionalität wurde auf alle derartigen Auslöser erweitert. Wichtig ist, dass dieser Effekt es ermöglicht, Werte von Triggern zu erhalten, die etwas komplexer sind, mit { }, die immer noch eine einzelne Zahl vergleichen:
export_trigger_value_to_variable = {
trigger = num_assigned_jobs
...
Die vollständige News zu Stellaris Entwicklungstagebuch #222 - Moddability Updates in Lem findet ihr auf der Stellaris Steam Seite