交换方向#
| 方向 | 函数或条件 |
|---|---|
| Lua 士 | AddUITriggeredEvent(screen, control, payload) |
| 接收器 | event_ui_triggered, 其他 event.param3 在本合同中 |
| MD → Lua | raise_lua_event |
| 接收器Lua | RegisterEvent(name, callback) |
它们的名称一定是完全一致的. 如果可以立即收到回复,请在发送前注册收件人.
Lua订阅和请求#
设例中UI文件已经通过表格注册. 它说明了召唤形式,而不是世界准备. 在真正的调整中,只发送在UI和MD生命周期中的确定的点.
local received = false
RegisterEvent("Wiki.Pong", function(_, payload)
received = payload == "pong"
end)
AddUITriggeredEvent("WikiBridge", "ping", "hello")处理和回复#
插入这个片段在你的脚本中 cues. 其他它与屏幕/控制匹配,验证简单的"你好"有效载荷,
<cue name="Ping" instantiate="true" namespace="this">
<conditions>
<event_ui_triggered screen="'WikiBridge'" control="'ping'" />
</conditions>
<actions>
<do_if value="event.param3 == 'hello'">
<raise_lua_event name="'Wiki.Pong'" param="'pong'" />
</do_if>
</actions>
</cue>当交换变成一个操作时#
在游戏效果之前验证输入类型和对象存在. 处理重复点击的单独操作,以创建物体或花钱. 在实际执行后,表现出成功. 在取代显示列表之前,组装完整的多部分答案. 看到 定制窗户 和 AddUITriggeredEvent.