Hinweis für Modder: Version 3.53 nun als öffentliche Beta verfügbar
Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators
- X2-Illuminatus
- Moderator (Deutsch)
- Posts: 25043
- Joined: Sun, 2. Apr 06, 16:38
Hinweis für Modder: Version 3.53 nun als öffentliche Beta verfügbar
Update 3.53 steht nun zum öffentlichen Betatest bereit. Weitere Beta Updates sowie deren allgemeine Changelogs finden sich im Patch Public Beta forum. Ihr habt jetzt die Gelegenheit eure Mods zu testen, bevor es eure Spieler tun.
Last edited by X2-Illuminatus on Sat, 21. Feb 15, 11:02, edited 9 times in total.
- X2-Illuminatus
- Moderator (Deutsch)
- Posts: 25043
- Joined: Sun, 2. Apr 06, 16:38
Beginnend mit Patch 2.0 ergreifen wir die Gelegenheit und listen einen Teil der für das Modding relevanten Änderungen auf, die es normalerweise unangekündigt in die Patches schaffen.
Bitte beachtet, dass diese Liste nur einen geringen Teil der Änderungen, die Mods beeinflussen, enthalten wird. Nichtsdestotrotz erhaltet ihr hierdurch wenigstens ein paar Informationen mehr, die euch bei der Anpassung eurer Mods helfen können.
Release Notes
Update 2.00 (183618)
Keine Modding betreffenden Änderungen
Update 2.50 (187052)
Keine Modding betreffenden Änderungen
Update 3.00 (189926)
Keine Modding betreffenden Änderungen
Update 3.20 (190820)
Bitte beachtet, dass diese Liste nur einen geringen Teil der Änderungen, die Mods beeinflussen, enthalten wird. Nichtsdestotrotz erhaltet ihr hierdurch wenigstens ein paar Informationen mehr, die euch bei der Anpassung eurer Mods helfen können.
Release Notes
Update 2.00 (183618)
- gamestarts.xml Datei zum 'libraries'-Ordner hinzugefügt. Dies erlaubt die Definition zusätzlicher Spielstarts.
- RC7 Debug Log verbessert, sodass die Fehlermeldung nun auch eine Angabe über Datum und Zeit enthält, wann ein Fehler auftrat (statt eines schwer zu lesenden Zeitstempels).
- Selbstständiges Deaktiveren/Wiederaktivieren des Videoaufnahmemodus, wenn man die zugewiesene Taste gedrückt gehalten hat, behoben.
Keine Modding betreffenden Änderungen
Update 2.50 (187052)
- Scripting
- Geändert: Bergbau-Befehle nutzen Regionen nicht mehr: <get_resource_gatherrate>, <deplete_yield>, <find_closest_resource>, <find_resource> nutzen 'region' nicht mehr.
- <find_asteroid_in_region> veraltet, ersetzt mit <find_asteroid_in_cluster>
- Geändert: Verhalten der "negate"-Attribute in <match_*>-Filtern, z.B. in <find_*>-Aktionen und <count_*>-Bedingungen. Die Negierung betrifft nun das gesamte <match_*>-Element, was intuitiver als das vorherige Verhalten sein sollte. Zum Beispiel wird
<match_content class="class.ship" negate="true" />
alle Objekte abgleichen, die KEIN Schiff enthalten. (Zuvor erfolgte der Abgliech für alle Objekte die Nicht-Schiff-Elemente enthielten.) Beachtet, dass das "negate"-Attribut für <match_seller> und <match_buyer> nicht mehr unterstützt wird. - In <set_actor_account> sind die min/max-Attribute veraltet und haben keinen Effekt mehr. Nutzt <set_actor_min/max_budget> stattdessen.
- Das Hinzufügen eines Objektes zu einer Scriptgruppe setzt nun voraus, dass es existiert (d.h. mit dem Universum verbunden ist). Das Hinzufügen nicht verbundener cue actors funktioniert also nicht mehr.
- <init>-Aktionen werden nun so früh wie möglich ausgeführt und können genutzt werden, um Variablen für globale Unterbrechungsereignisse (interrupt events) zu initialisieren.
- Script-<debug_text>-Nachrichten werden geloggt, wenn der Debugfilter "scripts" über die Startparameter aktiviert ist (z.B. -logfile debuglog.txt -debug scripts)
- Behoben: Ereigniseigenschaften von KI-Scripten, wie z.B. "event.param", die Probleme in globalen Unterbrechungsbedingungen ("interrupt conditions") verursacht haben.
- DebugLog
- Hinzugefügt: Spielstartzähler zum DebugLog, der dabei hilft herauszufinden, ob ein Fehler im aktuellen (oder einem folgenden) Spielstart aufgetreten ist.
- Hinzugefügt: DebugLog-Daten werden automatisch gelöscht, wenn eine neue Spielversion verfügbar ist. (Beachtet: Die Daten werden nicht zwischen Beta-Updates gelöscht.)
- Entfernt: überflüssiger Doppelpunkt von UI Fehlermeldungen
- Behoben: DebugLog-Fehler "GetCellText() invalid table ID[...]", der statt einer vernünftigen Fehlermeldung angezeigt wurde.
- Behoben: Nichtaktualiseren des angezeigten Fehlers im DebugLog, wenn 1000 Einträge erreicht wurden.
- Behoben: Nochmalige Anzeige des DebugLogs für einen bereits geschlossenen Fehler.
- Behoben: Fehler wenn alte DebugLog-Daten beschädigt wurden.
Keine Modding betreffenden Änderungen
Update 3.00 (189926)
- Scripting
- Behoben: Ereigniseigenschaften von KI-Scripten, wie z.B. "event.param", die Fehler verursacht haben, wenn sie in globalen Unterbrechungsbedingungen benutzt wurden.
- Hinzugefügt: Befehl "refreshai", um KI-Scripte neuzuladen und Änderungen anwenden zu können, während das Spiel läuft. Mehr Informationen finden sich in der Kommandozeilen-Dokumentation.
- Während des Entfernens eines Objekts aus dem Spiel (z.B. während <event_object_destroyed>, ohne das ein Wrack zurückgelassen wird), kann das Objekt nicht mehr zu einer Gruppe hinzugefügt werden. Dies soll potenzielle Abstürze verhindern.
- In <add_[player_]discount> und <add_[player_]commission> wurde die Semantik des Mengenattributs ("amount") geändert, siehe XSD. Beachtet: Diese Änderung ist Teil der verbesserten Preisberechnung in v3.0.
- Hinzugefügt: <patch_macro>, um einzelne Objekte/Komponenten zu patchen sowie <patch_macros>, um alle Objekte in der Galaxie mit den gegeben Kriterien zu patchen. Erweiterungen, die bereits vorhandene Macros modifizieren, ist das Patchen der Objekte nach dem Laden eines Spielstandes unter Umständen erforderlich.
- DebugLog
- Behoben: Hängenbleiben der X-Schaltfläche auf dem Bildschirm in einigen Fällen, wenn sich das DebugLog automatisch schließt.
- Behoben: Fehler beim Drücken des Unten-Pfeils oder beim nach unten Drehen des Mausrads im Debuglog.
- Andere
- Behoben: Fall, in dem Mods Probleme mit dem UI-Zielsystem verursachen konnten.
- Durch Egosoft bereitgestellte UI-Erweiterungen haben nun ein "ego_"-Präfix.
Keine Modding betreffenden Änderungen
Update 3.20 (190820)
- Scripting
- Behoben: 'finishonapproach'-Attribut von Scriptbewegungsaktionen ("move actions"), damit Script-Ausdrücke genutzt werden.
- Hinzugefügt: Unterstützung für Potenz-Operator ^ (mit Vorrang vor anderen mathematischen Operatoren) und Funktions-Operatoren exp() and log() (natürlicher Logarithmus). Die Ergebnisse sind vom Datentyp largefloat (doppelte Genauigkeit).
- Geändert: Funktion sqrt(), damit auch largefloat genutzt wird.
- Verbessert: Fehlermeldungen für Script-Mathematik.
- Geändert: "silent"-Attribut für interaktive Benachrichtungen vom Knoten <show_notification> zum Knoten <interaction> verschobe. Das veraltete Attribut in <show_notification> funktioniert zwar noch, wurde aber aus der XSD entfernt.
- Andere
- Behoben: Lua-Fehler: "ui/addons/ego_helpText/helptext.lua(41) - HideView(): invalid parameters".
- Behoben: Gewisse Lua-Fehlermeldungen, die den falschen Funktionsnamen angezeigt haben.
- Geändert: Dateiname für UI-Erweiterungen - Details siehe diesem Thema(englisch).
- Scripting
- Behoben: <debug_text>-Meldungen, die keine Fehlermeldungen waren, funktionierten in <conditions> nicht.
- Hinzugefügt: neues Kollisionsereignis 'event_object_collided', um Kollisionen zwischen zwei Objekten zu erfassen.
- Hinzugefügt: Neuer Scriptdatentyp "table" (dt. Tabelle), mit dem beliebigen Schlüsseln Werte zugewiesen werden können.
- Man kann Werte beliebigen Schlüsseln zuweisen, z.B. zu $table.{1} oder $table.{player.primaryship}
- Man kann Werte variablenartigen Schlüsseln zuweisen, z.B. zu $table.$foo (Shortcut für $table.{'$foo'})
- Nahezu alle Werte sind als Tabellenschlüssel erlaubt, bis auf:
- Strings (Zeichenketten) müssen mit '$' beginnen (falsch: $table.foo, richtig: $table.$foo)
- Datentypen list, table, group und buildplan können nicht als Tabellenschlüssel genutzt werden
- null kann nicht als Tabellenschlüssel genutzt werden (die Zahl 0 hingegen ist erlaubt) - Beispielsyntax für das Erstellen und Initialisieren einer Tabelle:
- "table[]" (leere Tabelle)
- "table[$foo = 42]" (eine Tabelle, die dem String '$foo' den Wert 42 zuweist)
- "table[$bar = $bar, {10} = []]" (weist '$bar' den Wert der Variablen $bar zu, und der Zahl 10 eine leere Liste)
- "table[{$baz} = null]" (weist dem Wert von $baz null zu) - Zum Hinzufügen/Entfernen von Tabelleneinträgen können <set_value> und <remove_value> genutzt werden, "?" prüft auf das Vorhandensein eines Schlüssels.
- Verfügbare Tabelleneigenschaften können in der scriptproperties-Dokumentation eingesehen werden.
- Andere
- Hinzugefügt: Modding-Unterstützung zum Modifizieren der Benutzeroberfläche (UI), Details siehe diesem Thema (englisch).
- Hinzugefügt: Neuer <production>-Abschnitt in der wares.xml, der es erlaubt die verfügbaren Produktionsmethoden zu verändern.
- Hinzugefügt: Mehrere Kampfparameter zur parameters.xml.
- Verschiedene Fehlermeldungen wurden behoben und verbessert.
- Verbessert: Bearbeitungs-Reihenfolge von Erweiterungen, die andere Erweiterungen ("dependencies") benötigen. Dependencies werden zuerst geladen (z.B. wird The Teladi Outpost vor Mods geladen, die diesen DLC voraussetzen).
- Erweiterungen mit zirkulären Abhängigkeiten sind nicht mehr erlaubt und können nicht mehr geladen werden.