Lo que es una biblioteca#

A library define una plantilla de referencia; una referencia cue ref crea su uso. No es una función Lua. Los parámetros requeridos no tienen default; el usuario suministra param sin una params Envoltorio.

Ejemplo completo independiente#

XML
<mdscript name="WikiLibraryDemo">
  <cues>
    <library name="DescribeAmount">
      <params>
        <param name="Amount" />
        <param name="Offset" default="1" />
      </params>
      <actions>
        <set_value name="$Result" exact="$Amount + $Offset" />
        <debug_text text="$Result" />
      </actions>
    </library>
    <cue name="Small" ref="DescribeAmount">
      <param name="Amount" value="4" />
    </cue>
    <cue name="Large" ref="DescribeAmount">
      <param name="Amount" value="10" />
      <param name="Offset" value="2" />
    </cue>
  </cues>
</mdscript>

Qué ocurre#

Con un estado de escritura fresco, Small calcula 5 y Large calcula 12. debug_text envía estos valores al registro de diagnóstico con salida de script activada. Su orden de mensajes no está especificada. Este ejemplo no ha sido ejecutado en juego.

Ejercicio: cambiar sólo Small's Monto. Su resultado esperado debe cambiar sin editar la plantilla o las entradas de Large.

Ámbito de aplicación#

Parámetros $Amount y $Offset cuando la señal está activada. Usar calificado ref="md.ScriptName.LibraryName" Los atributos de comportamiento en una referencia no anulan la plantilla: excepto por su nombre, el comportamiento viene de la biblioteca.

Actualizar una señal habilitada requiere guardar/cargar comprobaciones. La guía compartida de Egosoft describe la estructura MD de XR/X4; verifique la acción real establecida contra X4. cues y variables.