什么是图书馆#
A library 定义标记模板;引用 cue ref 创造了它的使用. 它们不是Lua函数. 要求参数没有 default; 用户的供应 param 没有一个 params 包装.
完整的独立例子#
<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>运行效果#
通过新脚本状态,小计算5和大计算12. debug_text 发送这些值到诊断日志 启用脚本输出. 其他他们没有指定消息顺序. 没有在游戏中执行这个例子.
炼:只改变小的量. 预期结果应在没有编辑模板或 Large 的输入的情况下发生变化.
范围#
参数变为 $Amount 和 $Offset 当启动信号时. 合格的使用 ref="md.ScriptName.LibraryName" 为了另一个剧本. 引用标志上的行为属性不会取代模板:除了名称,行为来自图书馆.
更新启用的提示需要 存储/载荷检查. 其他Egosoft的共享指南描述XR/X4 MD结构;验证对 X4的实际行动设置. 继续 cue 和 变量.