说明#
交易完成时触发。监视的对象由 tradeoffer、seller/buyer 或 space 过滤条件决定。
事件数据#
| 字段 | 类型 / 用途 | 含义 |
|---|---|---|
event.object |
MD 对象 | 交易提供者;否则卖家,然后买家;否则选择的空间. |
event.param |
tradeoffer (MD) | 贸易提供. |
event.param2 |
tradeorder (MD) | 商务命令. |
MD 标签描述 MD 值与对象的语义角色,并非 Lua 类型。unknown 表示来源未声明准确的表示方式,并不保证值为 nil。不要推断未列出的事件字段。
事件订阅示例#
插入这个独立的碎片到您的 MD 脚本的适当的线索节点中. 使用多个例子时更改WikiWatch名称. 玩家区域必须存在于游戏世界.
<cue name="WikiWatch" instantiate="true" namespace="this">
<conditions>
<event_trade_completed space="player.zone" />
</conditions>
<actions>
<set_value name="$Object" exact="event.object" />
<set_value name="$TradeOffer" exact="event.param" />
<set_value name="$TradeOrder" exact="event.param2" />
<debug_text text="'Wiki: event_trade_completed received'" />
</actions>
</cue>运行效果#
每次匹配的事件都会创建处理函数实例,并将已记录的字段复制到其局部变量。启用脚本调试后,预期出现以下诊断标记:
Wiki: event_trade_completed received这是独立教学示例的预期输出,不是已完成的游戏测试。订阅只观察事件,不会触发对应的游戏操作。对于频繁触发的事件,请避免逐次记录日志造成刷屏。
XML 订阅过滤条件#
这些属性用于筛选事件,不是上表中的事件数据字段。 架构类型.
libraries/common.xsd
| 属性 | 架构类型 | 要求 | 默认 / 固定 |
|---|---|---|---|
chance |
expression |
没有 | 没有申报 |
comment |
comment |
没有 | 没有申报 |
buyer |
buyer |
没有 | 没有申报 |
seller |
seller |
没有 | 没有申报 |
space |
expression |
没有 | 没有申报 |
tradeoffer |
eventtradeoffer |
没有 | 没有申报 |
ware |
ware |
没有 | 没有申报 |
返回值#
这是 MD 事件条件,而不是返回 Lua 元组的函数调用。请在对应的 MD 操作上下文中读取 event.object/event.param。
接口约定依据#
字段映射已与本机 X4 9.00 (611726) 的 common.xsd / md.xsd 注释核对。本站仅发布独立编写的说明和示例。XML 有效并不能单独证明游戏效果。