M MY Multiplayer: Wiki

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

main.lua
meta.xml

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.