Estrutura de um recurso
Organização de pastas de um recurso no MY Multiplayer (MYMP), manifesto meta.xml, tags suportadas e padrões de arquivos.
No MY Multiplayer (MYMP), um recurso é uma pasta dentro do diretório resources/ do servidor que contém um manifesto meta.xml. O servidor carrega e inicia os recursos listados com a diretiva ensure no arquivo server.cfg.
Estrutura de pastas
Manifesto meta.xml
O arquivo meta.xml declara os metadados do recurso, scripts de servidor e cliente, arquivos transferidos aos jogadores, funções exportadas, mapas, modelos e dependências.
<meta>
<!-- Informações do recurso -->
<info name="Shop" author="MYMP" version="1.0.0" />
<!-- Scripts -->
<script src="server/*.lua" type="server" />
<script src="client/**/*.lua" type="client" />
<!-- Arquivos enviados aos clientes -->
<file src="images/*.png" />
<!-- Funções que outros recursos chamam -->
<export function="getPrice" type="server" />
<!-- Recursos iniciados antes deste -->
<include resource="accounts" />
</meta>Tags aceitas no meta.xml
| Tag | Descrição |
|---|---|
<info> |
Define metadados livres em atributos (como name, author, version), lidos por getResourceInfo. |
<script src type> |
Declara um script Lua. type aceita server (padrão), client ou shared. |
<file src> |
Declara um arquivo estático enviado aos clientes (imagens, fontes, sons, etc.). |
<export function type> |
Expõe uma função para chamada por outros recursos via exports. type segue <script>. |
<include resource> |
Exige outro recurso, iniciado antes deste. Se o recurso incluído não existir, este não inicia. |
<map src> |
Carrega um arquivo de mapa junto com o recurso. |
<dlc src> |
Carrega um pacote de conteúdo (DLC). |
<model name type file col parent> |
Registra um modelo novo; type aceita object, vehicle, ped ou weapon. |
<ui src> |
Define a página HTML de interface web (NUI) do recurso. |
<download_priority_group> |
Define a prioridade na ordem de download entre recursos. |
Padrões de caminho em src
O atributo src em <script> e <file> aceita padrões curinga (globs) como *.lua e **/*.lua. Os arquivos correspondentes são carregados em ordem alfabética, ignorando duplicatas já incluídas por entradas anteriores no mesmo meta.xml. Quando um padrão não encontra nenhum arquivo, um aviso é registrado no log.
Próximos passos
- Para dividir o código de um recurso em módulos reaproveitáveis sem listá-los no
meta.xml, veja Módulos e import. - Para iniciar recursos automaticamente na abertura do servidor, veja server.cfg.