--- title: Lua in X4 UI summary: Dateiregistrierung, Initialisierungsreihenfolge, Rückruflebenszyklus und responsives Benutzeroberflächenverhalten. section: ui kind: guide status: reference updated: 2026-10-22 tags: ["X4","modding","lua","ui"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"] --- ## Datei eintragen UI-Dateien in `ui.xml`, Die gemeinsame Definition vor den Modulen, die sie verwenden. Deklarieren Sie Abhängigkeiten von Drittanbietern und überprüfen Sie ihre Versionen. Welt und Menüs können nicht bereit sein, wenn die Datei geladen wird; Registrierung von Rückrufen und Lesen eines vorhandenen Schiffes sind verschiedene Stufen. ```xml ``` ## Ein benutzerdefiniertes Fenster Verwendung des [Hilfe-Fenster-Leitfaden](wiki:create-ui) für Text und Tasten oder [Einstellungen API](wiki:ui-settings) Eine neue Schnittstelle kann allein stehen; eine Erweiterung einer bestehenden Aktion sollte von der [Standard-Menüaufruf](wiki:extend-ui). ## Nicht blockieren Die Handler sollten schnell zurückkehren. Warten in einer Schleife friert Benutzeroberfläche. Verwenden Sie ein Ereignis und separates Ergebnis für Weltveränderungen anstatt die Operation auf jedem Tisch aktualisieren wiederholen. ## Lebenszyklus Installieren Sie Handler einmal pro Kontext. Lösen Sie Referenzen nach dem Laden oder Menürekonstruktion wieder und vermeiden Sie die Anhäufung von Wrappern. Das Beispiel weist Rückrufe von einer veralteten Adapterinstanz zurück. Diese Überprüfung entwertet den Handler nicht; freie Frames und transienten Zustand getrennt. ```lua WikiPanel = {} local instance = WikiPanel RegisterEvent("Wiki.Example", function(_, payload) if WikiPanel ~= instance then return end -- Обработка относится к актуальному экземпляру. end) ``` ## Weiterlesen [Lua ↔ MD](wiki:md-lua-bridge), [benutzerdefinierte Fenster](wiki:create-ui) und [Standard-UI-Erweiterungen](wiki:extend-ui).