======assert====== ''assert (_Condition [, _Message ])'' \\ Prüft die Bedingung ''_Condition'' und zeigt eine Fehlermeldung an, falls sie nicht zutrifft. Außerdem wird die Ausführung der Funktion an der Stelle, an der ''_Condition'' nicht zutrifft, abgebrochen. In der Fehlermeldung wird der optionale Parameter ''_Message'' angezeigt. Diese Funktion wird in der Regel dafür benutzt, um angegebene Parameter auf Gültigkeit zu prüfen. ===Parameter=== ^Name^Typ^Beschreibung^ | **_Condition** | Boolean | Bedingung; Wenn **false**, wird eine Fehlermeldung ausgelöst | | **_Message** | String | Optionaler Parameter; Wenn angegeben und ''_Condition'' **false** ist, wird ''_Message'' in der Fehlermeldung angezeigt | ===Rückgabewerte=== ^Name^Typ^Beschreibung^ | **_Condition** | Boolean | Ausgewerteter Wert der gegebenen Bedingung. Da die Ausführung der Funktion im Falle von **false** abgebrochen wird, nur im **true**-Fall verwendbar | ---- ===Beispiel=== Prüfe in der Funktion ''ForbidTechnology'', ob eine gültige Player-Id und Technologie angegeben wurde: function ForbidTechnology (_Technology, _PlayerId) -- Spieler-Ids müssen 3 Bedingungen erfüllen: -- 1. Eine Zahl sein assert(type(_PlayerId) == "number", "PlayerId must be a number, got "..type(_PlayerId)) -- 2. Eine ganze Zahl sein assert(math.floor(_PlayerId) == _PlayerId, "PlayerId must be an integer, got ".._PlayerId) -- 3. Eine ganze Zahl zwischen 1 und 8 sein assert((_PlayerId >= 1) and (_PlayerId <= 8), "PlayerId must be an integer between 1 and 8, got ".._PlayerId) -- Wenn alle diese Bedingungen zutreffen, kann die Technologie verboten werden Logic.SetTechnologyState(_PlayerId, _Technology, 0) end **Hinweis**: Dieses Beispiel dient nur zur Anschauung. Tatsächlich ist sie in Siedler (etwas anders implementiert) bereits vorhanden. Verwendete Funktionen: * [[ scripting:reference:standard_library:base:type |type (_Value)]] * [[ scripting:reference:standard_library:math:floor |math.floor (_a)]] * [[ scripting:reference:logic:settechnologystate|Logic.SetTechnologyState (_PlayerId, _Technology, _State)]]