--- title: 按和标准 UI 扩展 summary: 添加一个动作或行,同时保持正常的菜单行为. section: ui kind: guide status: reference updated: 2026-10-22 tags: ["X4","modding","extend","ui"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/Breaking%20Changes/"] --- ## 找一个扩展表面 在您的游戏版本中找到相关菜单和回调. 优先使用现有扩展点或合适的社区API. 在包装内部函数时,保持原始和正常的路径. 新功能可能会使用自己的窗口;另一个模块的布局不是普遍的要求. ## 获取菜单 下面的查询是片段, 并不是完整的子安装. 如果菜单尚未存在,请在适当的生命周期点再次尝试. 不要在每一个框架上安装另一个包装. ```lua local menu = Helper and Helper.getMenu and Helper.getMenu("MapMenu") if not menu then return end ``` ## 添加一个按 放这个碎片在自己的桌面制造商里, `t` 是一个现有的辅助机. 连接到你的 [MD 处理程序](wiki:md-lua-bridge). 其他在观察结果之前,不要显示游戏行动完成. ```lua local row = t:addRow(true, {}) row[1]:createButton({ height = 28 }):setText("My action") row[1].handlers.onClick = function() AddUITriggeredEvent("WikiPanel", "apply", "example") end ``` ## 行为和清新 桌子重建可以发出类似用户输入的回调. 检查事件源,选定的行和所有表,并确保重绘不会重复操作. 仅修改必要的行;保留无关的对象可用性检查. 游戏更新后,重新检查内部签名.