说明#
监视的对象发生碰撞时触发。冲量与速度均指该对象。
事件数据#
| 字段 | 类型 / 用途 | 含义 |
|---|---|---|
event.object |
MD 对象 | 监视的碰撞参与对象。 |
event.param |
MD 对象 | 另一个碰撞参与对象。 |
event.param2 |
MD 数值(N*s) | 监视对象的冲量,单位为 N*s。 |
event.param3 |
MD 数值(m/s) | 监视对象的速度,单位为 m/s。 |
MD 标签描述 MD 值与对象的语义角色,并非 Lua 类型。unknown 表示来源未声明准确的表示方式,并不保证值为 nil。不要推断未列出的事件字段。
事件订阅示例#
插入这个独立的碎片到您的 MD 脚本的适当的线索节点中. 使用多个例子时更改WikiWatch名称. 听者启动时,玩家必须有一个有效的首要船;在改变观看对象时,管理听者的寿命.
<cue name="WikiWatch" instantiate="true" namespace="this">
<conditions>
<event_object_collided object="player.primaryship" />
</conditions>
<actions>
<set_value name="$Object" exact="event.object" />
<set_value name="$Other" exact="event.param" />
<set_value name="$Impulse" exact="event.param2" />
<set_value name="$Speed" exact="event.param3" />
<debug_text text="'Wiki: event_object_collided received'" />
</actions>
</cue>运行效果#
每次匹配的事件都会创建处理函数实例,并将已记录的字段复制到其局部变量。启用脚本调试后,预期出现以下诊断标记:
Wiki: event_object_collided received这是独立教学示例的预期输出,不是已完成的游戏测试。订阅只观察事件,不会触发对应的游戏操作。对于频繁触发的事件,请避免逐次记录日志造成刷屏。
XML 订阅过滤条件#
这些属性用于筛选事件,不是上表中的事件数据字段。 架构类型.
libraries/common.xsd
| 属性 | 架构类型 | 要求 | 默认 / 固定 |
|---|---|---|---|
chance |
expression |
没有 | 没有申报 |
comment |
comment |
没有 | 没有申报 |
object |
expression |
没有 | 没有申报 |
group |
groupeventsource |
没有 | 没有申报 |
check |
checkeventsource |
没有 | 没有申报 |
otherobject |
object |
没有 | 没有申报 |
返回值#
这是 MD 事件条件,而不是返回 Lua 元组的函数调用。请在对应的 MD 操作上下文中读取 event.object/event.param。
接口约定依据#
字段映射已与本机 X4 9.00 (611726) 的 common.xsd / md.xsd 注释核对。本站仅发布独立编写的说明和示例。XML 有效并不能单独证明游戏效果。