--- title: MD-Variablen und Ausdrücke summary: Strings, Listen, Tabellen, Existenzprüfungen und explizite Variablennamenräume. section: scripting kind: guide status: example updated: 2026-10-27 tags: ["X4","modding","md","variables"] sources: ["https://wiki.egosoft.com/X%20Rebirth%20Wiki/Modding%20support/Mission%20Director%20Guide/"] --- ## Werte und Ausdrücke Viele MD-Attribute enthalten Ausdrücke. XML-Anführungszeichen begrenzen das Attribut, während innere Einzelanführungszeichen einen MD-String wörtlich bilden. Listen und Tabellen haben unterschiedliche Zugriffsmuster: `$Items.{1}` liest eine Listenposition; `$ByID.{$Key}` liest einen benannten Tabellenschlüssel. ```xml ``` ## Validierung des Anfrageformulars Das Beispiel überprüft die eingehende UI-Zuladung innerhalb des Handlers. Eine korrekte Listenlänge beweist keine Elementtypen. Validierung des Textes und des Switch-Wertes vor der Anwendung einer Einstellung. ```xml ``` ## Existenz und Anwendungsbereich `not $Records?` überprüft die variable Existenz. Objekte müssen zusätzlich `.exists`. Ein Stichwort wie `Init.$Records` explizit Kontext. False, eine leere Liste und eine fehlende Variable sind verschiedene Zustände; ersetzen Sie keine Inhaltsüberprüfung für Existenz. ## Wählen Sie explizit variables Eigentum Nehmen Sie nicht an, `$Value` und `this.$Value` immer auf die gleiche Lagerung verweisen: `$Value` löst sich durch den Namensraum. Wählen Sie einen geeigneten `namespace="this"` z.B. lokale Handlerdaten; Shared State in einem explizit gewählten Kontext speichern. Vergleichen Sie zwei aufeinanderfolgende Anfragen: Ändert sich das beabsichtigte Feld, und läuft die erste Anfrage in die zweite? [MD-Bibliotheken](wiki:md-libraries) für ein parametriertes wiederverwendbares Stichwort.