Disponibilize seu mapa como recurso FiveM

Monte um recurso organizado, registre os YTYPs personalizados, inicie em um servidor de desenvolvimento e verifique os arquivos entregues.

Neste guia

Um recurso nomeado com registro explícito de arquétipos personalizados e um teste repetível de inicialização.

Antes de começarAssets exportados no formato do jogo · Acesso a um servidor FiveM de desenvolvimento

Trate a pasta do recurso como um pacote de lançamento, não como seu diretório de trabalho. Ela deve conter os arquivos prontos para o jogo e um manifesto claro. Backups do Blender, projetos do editor e exports de intercâmbio não convertidos devem ficar em outro lugar.

Comece com uma pasta limpa

Para um interior personalizado pequeno, use uma estrutura assim:

cw_workshop/
  fxmanifest.lua
  stream/
    cw_workshop.ymap
    cw_workshop.ytyp
    cw_workshop_shell.ydr
    cw_workshop_col.ybn

Este inventário é um exemplo, não uma lista completa para todos os projetos. Adicione as texturas e outras dependências reais dos exports. Os nomes devem corresponder aos seus assets e referências, não apenas se parecer com o exemplo.

Escreva o manifesto do recurso

Para o único YTYP do exemplo:

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

files {
    'stream/cw_workshop.ytyp'
}

data_file 'DLC_ITYP_REQUEST' 'stream/cw_workshop.ytyp'

O Cfx.re documenta as diretivas de recursos na referência de manifestos e o tipo de registro YTYP na referência de arquivos de dados.

Para vários YTYPs personalizados, liste arquivos e registros de forma consistente ou use conscientemente os padrões glob documentados. Não registre arquivos que não serão entregues. Um mapa que só posiciona arquétipos existentes pode usar um manifesto menor, como no tutorial do primeiro YMAP.

O ferramenta de manifestos gera este exemplo no navegador. Não inspeciona seus assets nem valida um MLO inteiro.

Não confunda os manifestos

Um manifesto de mapa do jogo gerado pelo CodeWalker não é fxmanifest.lua. Da mesma forma, um arquivo .cwproj não é um mapa do jogo e não pode ser fornecido por streaming no lugar dos exports.

Use saídas nativas no formato do jogo produzidas pelas ferramentas escolhidas. Alterar a extensão não é converter. Mantenha a pasta de intercâmbio fora da pasta de lançamento para facilitar a identificação de cópias acidentais.

Inicie em um servidor de desenvolvimento

Coloque o recurso no diretório de recursos do servidor. Pastas de categorias, como [maps] ajudam a organizar os projetos; o nome no comando ainda deve corresponder à pasta real do recurso.

No console do servidor:

refresh
ensure cw_workshop

Salve a linha adequada ensure na configuração do servidor para os próximos inícios. Confira a saída do servidor, não presuma que digitar o comando comprove o carregamento. A documentação de comandos do servidor é a referência para o comportamento dos comandos.

Visite as coordenadas de teste registradas. Um recurso pode iniciar sem colocar o conteúdo onde você esperava; verifique o posicionamento separadamente da inicialização.

Teste o pacote entregue, não o espaço de trabalho

Copie apenas a pasta candidata para um local limpo de teste. Liste os arquivos e compare com os exports previstos. Se o mapa só funcionar com outro recurso experimental ativo, identifique a dependência ausente em vez de deixá-la implícita.

Teste reconexão, aproximação de fora da área e início do servidor com o recurso configurado desde o começo. Em um MLO, repita também as rotas de ambientes, portais e colisão das lições correspondentes.

Mantenha separadas as saídas Legacy e Enhanced. A nota sobre edições explica por que um teste Legacy anterior bem-sucedido não comprova compatibilidade com Enhanced.

Torne as atualizações reversíveis

Atribua uma versão à pasta ou arquivo de lançamento e guarde o pacote funcional anterior. Registre mudanças exatas e a rota de teste usada. Ao atualizar um servidor compartilhado, siga a manutenção do operador em vez de experimentar com jogadores conectados.

Após uma implantação malsucedida, restaure todo o conjunto funcional conhecido. Misturar um YMAP antigo com YTYP ou colisão novos dificulta a reversão. Uma versão repetível pode ser identificada, reproduzida e substituída como uma unidade.

Instale um YMAP que use apenas objetos fornecidos pelo jogo

Use uma nova pasta de recurso, por exemplo cw_three_props, com fxmanifest.lua na raiz e o nativo YMAP dentro de stream/. Mantenha o JSON do projeto e o XML de intercâmbio fora da pasta stream entregue. No exemplo simples, o manifesto pode ser:

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

Isso pressupõe que todos os arquétipos já existam no jogo/DLC de destino. Um modelo personalizado pode precisar de definição e dependências próprias mesmo com um único posicionamento no YMAP. Use o gerador com a opção personalizada desativada somente quando essa condição for verdadeira.

Registre um YTYP personalizado pelo nome real do arquivo

Se você fornecer stream/cw_workshop_types.ytyp, o recurso deve declarar esse arquivo real. O nome da pasta do recurso não obriga o YTYP a usar o mesmo nome-base:

files {
    'stream/cw_workshop_types.ytyp'
}

data_file 'DLC_ITYP_REQUEST' 'stream/cw_workshop_types.ytyp'

Adicione isso ao manifesto do mapa, não ao XML YMAP. A referência de arquivos de dados do Cfx.re identifica esse tipo de registro. Várias definições personalizadas exigem declarações correspondentes; assets entre recursos também precisam de dependências e ordem de início documentadas. O gerador atende a um YTYP opcional, não a todo um grafo de dependências.

Isole falhas de inicialização do recurso

Execute refresh após adicionar uma nova pasta de recurso e depois ensure cw_three_props usando o nome real da pasta. Confira o console antes de olhar o mapa. Recurso não reconhecido exige verificar pastas aninhadas e o nome do manifesto; erro de interpretação Lua exige verificar a sintaxe. Salve sem um sufixo oculto .txt .

A mensagem “ensure succeeded” comprova inicialização, não validade dos assets. Reconecte-se, visite as coordenadas exatas e confira todos os posicionamentos. Para conteúdo invisível ou piscando nas passagens, continue com o diagnóstico orientado por sintomas. Mantenha os exemplos de fontes fora de produção até executar as etapas separadas de validação nativa e no jogo.

Confira seu trabalho.

O progresso da lista de verificação fica neste navegador quando o JavaScript está ativado.

Fontes e leituras adicionais

O comportamento das ferramentas segue a documentação primária vinculada. Exercícios, nomes de exemplos e planos de teste são orientações editoriais, não uma afirmação de verificação dentro do jogo.

Guarde seu progresso. Sem precisar de conta.
Otimize um MLO sem adivinhar

Pesquisar no guia prático

Comece a digitar para encontrar uma ferramenta ou um guia.

    Pesquisa ferramentas, títulos e textos dos artigos. As consultas ficam no seu navegador.esc para fechar