--- title: Lua ↔ MD: Ereignisaustausch summary: Eine komplette Anfrageroute vom UI nach Mission Director und eine Antwort zurück zum Lua. section: ui kind: example status: example updated: 2026-10-22 tags: ["X4","modding","md","lua","bridge"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"] --- ## Austauschanweisungen | Richtung | Funktion oder Bedingung | | --- | --- | | Lua → MD | `AddUITriggeredEvent(screen, control, payload)` | | MD-Empfänger | `event_ui_triggered`, mit `event.param3` in diesem Vertrag | | MD → Lua | `raise_lua_event` | | Lua Empfänger | `RegisterEvent(name, callback)` | Namen müssen exakt übereinstimmen. Registrieren Sie den Empfänger vor dem Senden, wenn eine Antwort sofort eintreffen kann. ## Lua Abonnement und Antrag Das Beispiel geht davon aus, dass die UI-Datei bereits über das Manifest registriert ist. Sie veranschaulicht die Rufform, nicht die universelle Weltbereitschaft. In einem echten Mod senden Sie nur an einem festen Punkt sowohl in UI als auch MD-Lebenszyklen. ```lua local received = false RegisterEvent("Wiki.Pong", function(_, payload) received = payload == "pong" end) AddUITriggeredEvent("WikiBridge", "ping", "hello") ``` ## Handhabung und Antwort von MD Fügen Sie dieses Fragment in das Skript ein `cues`. Es passt zu Bildschirm/Steuerung, validiert die einfache hallo Payload und sendet die benannte Pong-Antwort. ```xml ``` ## Wenn ein Austausch zu einer Operation wird Validieren Sie Eingabetypen und Objektexistenz vor einem Spieleffekt. Behandeln Sie wiederholte Klicks separat für Aktionen, die Objekte erstellen oder Geld ausgeben. Zeigen Sie Erfolg nach der tatsächlichen Ausführung. [benutzerdefinierte Fenster](wiki:create-ui) und [AddUITriggeredEvent](wiki:add-ui-triggered-event).