--- title: setmetatable summary: Establece una tabla Lua metatable y devuelve la tabla original; una metatable protegida plantea un error. section: reference kind: api status: reference updated: 2026-10-26 tags: ["API","X4"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/","https://www.lua.org/manual/5.1/manual.html","https://luajit.org/ext_ffi_api.html"] --- ## Descripción Establece una tabla Lua metatable y devuelve la tabla original; una metatable protegida plantea un error. ## Valor devuelto | Tipo | Significado | | --- | --- | | [`table`](wiki:type-table) | Tipos describen la interfaz declarada, no prueba de un efecto de juego exitoso. | [Tipos y métodos](wiki:types) ## Parámetros | Nombre | Tipo | | --- | --- | | `values` | [`table`](wiki:type-table) | | `metatable` | [`table`](wiki:type-table) \| [`nil`](wiki:type-nil) | ? marca un argumento opcional; ... significa un número variable de argumentos. La entrada no válida puede generar un error Lua en lugar de devolver nil. ## Ejemplo y contexto Ver [conceptos básicos del idioma](wiki:x4-code-basics), [tipos y métodos](wiki:types) y [Eventos Lua / MD](wiki:md-lua-bridge). Ejemplos de aprendizaje independiente son ejemplos. No se distribuyen archivos de fuentes de proyectos o fragmentos de implementación privada con esta referencia.