# import (Compartilhado)

> Roda um módulo de um recurso no estado Lua deste script, uma vez por estado, e dá o que ele devolveu. As globais que o módulo definiu passam a ser deste script.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Compartilhado
- **Categoria**: Recursos e módulos
- **URL**: https://docs.mymp.gg/pt/import

## Sintaxe

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

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `module` | `string\|table` | `"@recurso/modulo"`, ou `"@recurso"` para o módulo `main`. Uma tabela de nomes de globais limita o que é passado a esses nomes: `import { "a", "b" } "@recurso/modulo"`. |

## Retorno

O que o módulo devolveu, ou `true` se não devolveu nada. Com uma tabela, uma função que recebe o nome do módulo e faz o import.

Todo `*.lua` dentro de `modules/` de um recurso é um módulo, sem nada no `meta.xml`. Os de `modules/server/` são só do servidor e nunca são enviados, os de `modules/client/` só do cliente, e o resto é compartilhado. O nome é o caminho dentro de `modules/` sem `.lua` e sem o `server/` ou `client/` do começo; o arquivo do próprio lado vence um compartilhado de mesmo nome.

No servidor, importar um recurso que não está rodando o inicia antes. No cliente, o recurso precisa já estar carregado neste cliente. Um segundo `import` do mesmo módulo no mesmo estado não o roda de novo, só repassa as globais e o valor de retorno.

## Exemplo

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

import { "formatMoney" } "@utils"

outputDebugString(formatMoney(1500))
```

### Atenção

Os problemas viram erros, não `false`: recurso ou módulo que não existe, módulo do outro lado, que não compila, importado de novo enquanto roda, ou um nome da tabela que o módulo não define.

## Veja também

- [getResourceFromName (Compartilhado)](https://docs.mymp.gg/pt/getResourceFromName.md): Encontra um recurso pelo nome.
- [startResource (Compartilhado)](https://docs.mymp.gg/pt/startResource.md): Inicia um recurso na hora, depois de iniciar os recursos que ele inclui com <include> no meta.xml.
- [call (Compartilhado)](https://docs.mymp.gg/pt/call.md): Chama uma função que outro recurso exporta no seu meta.xml e devolve o que ela devolver.
