Was für eine Bibliothek ist#
A library definiert eine Cue-Vorlage; eine Referenzierung cue ref erzeugt seine Verwendung. Es ist keine Lua-Funktion. Erforderliche Parameter haben keine default; die Benutzer liefert param ohne params Wraper.
Vollständiges unabhängiges Beispiel#
<mdscript name="WikiLibraryDemo">
<cues>
<library name="DescribeAmount">
<params>
<param name="Amount" />
<param name="Offset" default="1" />
</params>
<actions>
<set_value name="$Result" exact="$Amount + $Offset" />
<debug_text text="$Result" />
</actions>
</library>
<cue name="Small" ref="DescribeAmount">
<param name="Amount" value="4" />
</cue>
<cue name="Large" ref="DescribeAmount">
<param name="Amount" value="10" />
<param name="Offset" value="2" />
</cue>
</cues>
</mdscript>Was geschieht#
Mit neuem Skriptzustand berechnet Small 5 und Large 12 debug_text sendet diese Werte an das Diagnoseprotokoll mit Skriptausgabe aktiviert. Ihre Nachrichtenreihenfolge ist nicht spezifiziert. Dieses Beispiel wurde im Spiel nicht ausgeführt.
Übung: ändern Sie nur Small's Amount. Sein erwartetes Ergebnis sollte sich ändern, ohne die Vorlage oder die Inputs von Large zu bearbeiten.
Geltungsbereich#
Parameter werden $Amount und $Offset wenn das Queue aktiviert ist. ref="md.ScriptName.LibraryName" für ein anderes Skript. Verhalten-Attribute auf einem Referenz-Queue überschreiben die Vorlage nicht: außer für ihren Namen kommt das Verhalten aus der Bibliothek.
Aktualisierung eines aktivierten Queues erfordert Überprüfungen der Ein-/Ausladung. Egosoft's gemeinsam genutzte Anleitung beschreibt die XR/X4 MD Struktur; verifizieren Sie die tatsächliche Aktion gegen X4. cues und Variablen.