Bezugsbereich#

Der Katalog beschreibt bekannte öffentliche X4 Modding-Schnittstellen. Ein identifizierter Name stellt nicht seinen gesamten Vertrag fest oder beweist die Ausführung im Spiel. Mod-Dateien, interne Dokumente und komplette Quelldateien werden nicht verteilt.

Typische Nachweise#

Nachweis Gründung Noch ist eine Überprüfung erforderlich
C Erklärung Parameterreihenfolge, C-Typen und C-Rückgabetyp Export, ABI, Kontext, Speicherbesitz und Lebensdauer
X4 XSD Attributnamen, Ausdruckstypen und erforderliche Attribute Bewertete Arten, Ereignis-Payloads und Spieleffekte
Lua 5.1 / LuaJIT Standard-Bibliotheksverträge Verfügbarkeit und Erweiterungen in der aktuellen X4 Umgebung
Dokumentation des konkreten Ereignisses Callback-Argumente und Feldbedeutungen Version, Registrierungszeitpunkt und Objektlebensdauer

Der Schematyp expression beschreibt einen MD-Ausdruck, nicht den Typ seines berechneten Wertes. Filterattribute deklarieren keine event.param-Typen. Ein ignoriertes Ergebnis beweist weder none noch void noch nil.

Leseergebnisse#

Lua kann mehrere Werte zurückgeben. Kommas getrennte Ergebnispositionen; eine vertikale Leiste trennt Alternativen. unbekannt bedeutet einen nicht feststehenden Vertrag, während jeder von Kontext abhängt. keine und keine Leere zeigen keine direkte Rückkehr an, aber Effekte und Ausgabepuffer können noch existieren.

C-Typen entsprechen nicht immer ihrer Lua-Darstellung. Ein Zeiger ist cdata; ffi.string kopiert einen C-String in einen Lua-String, wenn die Speicherlebensdauer festgelegt ist. Konverter Sie keine IDs mit einem Präzisionsverlust. Siehe Arten und Methoden, Kennungen und cdata.

Ereignisse und Abonnements#

Verfahren Verwendung
Lua-Ereignis RegisterEvent mit exaktem Namen und Rückruf im entsprechenden UI-Kontext
UI an MD event_ui_triggered unter Verwendung von
MD-Engine-Ereignis Sein Ereignis-* Zustand und genaue Filter

Diese Routen haben unterschiedliche Verträge. Ein MD-Ereignisname kann nicht automatisch mit RegisterEvent verwendet werden. Registrieren Sie sich einmal pro Kontext; legen Sie Callback-Typen fest und zählen Sie für den genauen Absender. Lua / MD Brücke gibt ein unabhängiges Lernbeispiel.

Beispiele und Überprüfung#

Lernfragmente erfordern den angegebenen Kontext, Variablen und Lebenszyklus. Sie werden nicht behauptet, ohne ein dokumentiertes Experiment im Spiel gelaufen zu sein. Unvollständige Verträge behalten explizite Grenzen; erfinden keine Puffergrößen oder Nutzlastformen.

Beginnen Sie mit der API-Index. Zur Verbesserung eines Vertrags, bieten die Spielversion, eine primäre öffentliche Quelle und ein kleines unabhängiges Beispiel durch Beiträge.