--- title: Botones y extensiones estándar de la UI summary: Agregue una acción o fila mientras conserva el comportamiento normal del menú. 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/"] --- ## Buscar una superficie de extensión Encuentre el menú correspondiente y la llamada en su versión de juego. Prefiere un punto de extensión existente o API de comunidad adecuada. Al envolver una función interna, conserve la ruta original y ordinaria. Una nueva característica puede utilizar su propia ventana; el diseño de otro mod no es un requisito universal. ## Obtener el menú La siguiente búsqueda es un fragmento, no completa la instalación del gancho. Inténtelo en un punto de ciclo de vida apropiado si el menú no existe todavía. No instale otro envoltorio en cada marco. ```lua local menu = Helper and Helper.getMenu and Helper.getMenu("MapMenu") if not menu then return end ``` ## Añadir un botón Colocar el fragmento en tu propio constructor de mesa, donde `t` es una tabla de ayuda existente. Conéctela a su [Manejador MD](wiki:md-lua-bridge). No muestre la finalización de la acción del juego antes de un resultado observado. ```lua local row = t:addRow(true, {}) row[1]:createButton({ height = 28 }):setText("My action") row[1].handlers.onClick = function() AddUITriggeredEvent("WikiPanel", "apply", "example") end ``` ## Comportamiento y actualización Las reconstrucciones de la tabla pueden emitir callbacks que se parecen a la entrada del usuario. Compruebe el origen del evento, la fila seleccionada y la tabla de propiedad, y asegúrese de que el redibujo no repita una acción. Cambie sólo las filas necesarias; mantenga la verificación de disponibilidad de objetos no relacionados.