# import (Compartido)

> Ejecuta un módulo de un recurso en el estado Lua de este script, una vez por estado, y da lo que devolvió. Las globales que definió el módulo pasan a ser de este script.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Compartido
- **Categoría**: Recursos y módulos
- **URL**: https://wiki.mymp.gg/es/import

## Sintaxis

```lua
any import(string|table module)
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `module` | `string\|table` | `"@recurso/modulo"`, o `"@recurso"` para su módulo `main`. Una tabla de nombres de globales limita lo que se pasa a esos nombres: `import { "a", "b" } "@recurso/modulo"`. |

## Retorno

Lo que devolvió el módulo, o `true` si no devolvió nada. Con una tabla, una función que recibe el nombre del módulo y hace el import.

Todo `*.lua` dentro de `modules/` de un recurso es un módulo, sin nada en `meta.xml`. Los de `modules/server/` son solo del servidor y nunca se envían, los de `modules/client/` solo del cliente, y el resto es compartido. El nombre es la ruta dentro de `modules/` sin `.lua` y sin el `server/` o `client/` inicial; el archivo del propio lado gana a uno compartido del mismo nombre.

En el servidor, importar un recurso que no está en marcha lo inicia antes. En el cliente, el recurso ya tiene que estar cargado en este cliente. Un segundo `import` del mismo módulo en el mismo estado no lo vuelve a ejecutar; solo vuelve a pasar las globales y el valor de retorno.

## Ejemplo

```lua
local sql = import "@lp_database/sql"

import { "formatMoney" } "@utils"

outputDebugString(formatMoney(1500))
```

### Atención

Los problemas lanzan errores, no `false`: un recurso o módulo que no existe, un módulo del otro lado, uno que no compila, uno importado otra vez mientras se ejecuta, o un nombre de la tabla que el módulo no define.

## Ver también

- [getResourceFromName (Compartido)](https://wiki.mymp.gg/es/getResourceFromName.md): Busca un recurso por su nombre.
- [startResource (Compartido)](https://wiki.mymp.gg/es/startResource.md): Inicia un recurso en el momento, después de iniciar los recursos que incluye con <include> en su meta.xml.
- [call (Compartido)](https://wiki.mymp.gg/es/call.md): Llama a una función que otro recurso exporta en su meta.xml y devuelve lo que ella devuelva.
