Mapas

MLO no FiveM: o que é, como instalar e resolver problemas comuns

Entenda o que é um MLO no FiveM, como instalar MLO passo a passo, como lidar com escrow e como resolver textura bugada, parede invisível e player caindo.

· 11 min de leitura

Um MLO é um interior custom onde dá para entrar: uma DP com salas funcionando, uma boate, uma oficina mecânica, uma casa com andar de cima. MLOs são o que fazem um mapa de roleplay parecer vivo, e também são uma das causas mais comuns de textura bugada, parede invisível e player caindo do mapa. Este guia explica o que é um MLO de verdade, como instalar MLO no FiveM do jeito certo e como resolver os problemas que aparecem depois.

Resumindo: um MLO é um resource com uma pasta stream/ de arquivos de mapa (.ytyp, .ymap, .ydr, .ybn, .ytd) e um fxmanifest.lua que declara this_is_a_map 'yes' e carrega o .ytyp com data_file 'DLC_ITYP_REQUEST'. Jogue em resources/, dê ensure e confira se nenhum outro mapa mexe na mesma área.

O que é um MLO

MLO vem de Milo, o nome que as ferramentas da Rockstar usam para interiores. O jogo trata um MLO como um interior de verdade: ele é dividido em rooms (cômodos), e as rooms são ligadas por portals (portas, janelas, aberturas). A engine usa rooms e portals para decidir o que desenhar. Quando você está num escritório nos fundos, ela não renderiza o chão do galpão do outro lado de uma parede sólida. As rooms também têm iluminação, timecycle e áudio próprios, por isso um MLO bem feito parece diferente da rua lá fora.

Essa é a diferença principal em relação às outras formas que o pessoal usa para "colocar um prédio" no mapa:

TipoO que éDá para entrar?Uso comum
MLOArchetype de interior com rooms e portals, posicionado por um .ymapSim, com iluminação de interior e culling corretosDPs, boates, lojas, casas
Ymap (props)Um arquivo de posicionamento que coloca objetos existentes ou custom no mundoSó se o shell por acaso for ocoProps extras, decoração, mobiliário urbano, pequenas edições externas
Prop customUm único modelo .ydr com texturas e colisão própriasNãoMóveis, placas, decoração dentro de um MLO
IPLUma seção nomeada do mapa vanilla que o jogo pode carregar e descarregar em tempo realDepende do IPLInteriores vanilla e locais do modo história

Um "shell" montado com props pode parecer um interior, mas sem rooms e portals o jogo não faz ideia de que você está dentro, então iluminação, clima e culling se comportam como se você estivesse ao ar livre.

O que tem dentro de um resource de MLO

Todo MLO que você baixa ou compra segue mais ou menos a mesma estrutura:

Por dentro de um resource de MLO

resources/ └── [maps]/ └── my_police_mlo/ ├── fxmanifest.lua └── stream/ ├── my_police_mlo.ytyp ├── my_police_mlo.ymap ├── pd_shell.ydr ├── pd_shell_col.ybn ├── pd_textures.ytd └── ...

Cada tipo de arquivo tem uma função específica:

ExtensãoFunção
.ytypDefinições de archetypes. Num MLO, define o interior em si: as rooms, os portals e as entidades dentro dele.
.ymapPosicionamento. Coloca o interior (e qualquer prop externo) numa posição do mundo.
.ydrModelos drawable: paredes, pisos, malhas de móveis.
.ybnColisão (bounds). Onde players, peds e veículos realmente pisam e batem.
.ytdDicionário de texturas. As imagens que os modelos usam.

Se algum desses tipos de arquivo é novidade para você, formatos de arquivo do GTA V para FiveM explica cada um com mais detalhes.

Como instalar MLO no FiveM

  1. Descompacte o download e ache a pasta que tem o fxmanifest.lua. Alguns packs colocam ela dentro de outra pasta ou trazem um readme do lado; o resource é a pasta que tem o manifest.
  2. Copie para resources/. Uma pasta de categoria [maps] deixa tudo organizado. Não renomeie os arquivos dentro de stream/.
  3. Confira o manifest. Um manifest típico de MLO fica assim:
fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

data_file 'DLC_ITYP_REQUEST' 'stream/my_police_mlo.ytyp'

this_is_a_map 'yes' marca o resource como mapa para o jogo recarregar o armazenamento de mapas quando o resource carrega. data_file 'DLC_ITYP_REQUEST' registra o .ytyp para o jogo saber que o archetype do interior existe. Sem isso, o .ymap aponta para um archetype que o jogo nunca carregou, e o prédio simplesmente não aparece.

  1. Adicione no server.cfg:
ensure my_police_mlo
  1. Reinicie o servidor. Dá para fazer refresh e ensure de um resource de mapa pelo console, mas mudanças de mapa são bem mais confiáveis depois de um restart completo e uma conexão nova do cliente. Limpe o cache do FiveM se a versão antiga de uma área continuar aparecendo.

  2. Instale os scripts complementares. Muitos MLOs vêm com scripts opcionais para portas, elevadores ou zonas de emprego. São resources Lua normais e muitas vezes precisam ser configurados para o seu framework. Se você não sabe qual usa, veja Qbox vs QBCore vs ESX.

MLOs pagos e com escrow

A maioria dos MLOs pagos é vendida pelo Tebex e protegida pelo Cfx.re Asset Escrow. O escrow criptografa arquivos selecionados para que só rodem em servidores com direito ao asset. Segundo a documentação da Cfx.re, os arquivos protegidos incluem formatos de modelo como .ydr, enquanto os criadores podem deixar outros arquivos abertos com uma lista escrow_ignore no manifest.

O que isso significa para você:

  • O asset fica vinculado a uma conta. Depois da compra, ele é liberado para a sua conta Cfx.re. O servidor precisa rodar com uma license key da conta dona do asset; senão, o console avisa que falta o entitlement necessário e o resource não inicia.
  • Baixe pelo Cfx.re Portal, não de uma cópia reupada. Mantenha todos os arquivos da pasta, incluindo o arquivo oculto .fxap. Alguns clientes FTP pulam arquivos ocultos, e o resource não inicia sem ele.
  • Talvez você não consiga editar tudo. Modelos criptografados não abrem no CodeWalker nem em outras ferramentas. O que o criador deixou no escrow_ignore (geralmente arquivos de posicionamento ou config) ainda pode ser alterado. Se precisar de mudanças além disso, fale com o criador.
  • Assets por assinatura param de funcionar quando a assinatura acaba.

Conflitos e MLOs sobrepostos

A maioria dos relatos de "meu MLO está bugado" na verdade são dois mapas brigando pelo mesmo espaço. Existem três causas comuns:

Dois interiores no mesmo lugar. Se dois MLOs estão em posições sobrepostas, aparecem paredes piscando, pisos duplicados e interiores que às vezes não carregam. Só um interior deve ocupar cada local. Escolha um, ou mova um deles no CodeWalker.

Dois resources fazendo stream do mesmo arquivo. O FiveM carrega uma única cópia de cada nome de arquivo. Se dois resources de mapa trazem uma versão modificada do mesmo .ymap ou .ybn vanilla, um sobrescreve o outro sem avisar. O sintoma comum é um mapa perder as edições: um prédio removido volta a aparecer, ou uma mudança de colisão é desfeita e os players batem em paredes invisíveis. A solução é juntar as duas edições numa única cópia desse arquivo e remover a duplicata.

Scripts de IPL carregando por cima do seu MLO. Resources como o bob74_ipl carregam interiores vanilla e seções do mapa exclusivas do GTA Online. Normalmente é isso que você quer, mas se o seu MLO substitui um interior vanilla que um desses scripts também carrega, os dois acabam no mundo. Desative esse interior na config do resource de IPL, ou veja se o criador do MLO tem alguma nota de compatibilidade.

Um hábito simples evita quase tudo isso: mantenha uma lista de cada resource de mapa e da área que ele cobre. Antes de instalar um MLO novo, confira se mais alguma coisa já mexe naquele quarteirão.

Substituindo interiores e prédios vanilla

Muitos MLOs substituem algo que já existe, como uma DP vanilla ou uma loja vazia. Isso tem duas partes:

  • Interiores vanilla controlados por IPLs podem ser desligados em tempo real com a native RemoveIpl, ou pela config do seu resource de IPL.
  • Prédios e props vanilla que fazem parte do mapa base são removidos fazendo stream de uma cópia modificada do .ymap vanilla com essas entidades apagadas. Bons packs de MLO já trazem esse .ymap editado. É exatamente o tipo de arquivo que causa o conflito de "dois resources fazendo stream do mesmo arquivo" lá de cima, então fique de olho.

Alguns MLOs também exigem um game build mínimo porque usam props de atualizações mais novas do GTA Online. Se partes de um interior estão faltando mesmo com os arquivos certos, veja nas notas do criador se tem um build obrigatório e configure no server.cfg com sv_enforceGameBuild.

Performance: texturas, LODs e memória

MLOs estão entre os assets mais pesados de um servidor. Um interior detalhado pode ter dezenas de texturas, e todo player que passa perto precisa carregar elas.

  • Fique de olho nos avisos de assets pesados. Quando o servidor inicia, o FXServer avisa sobre arquivos em stream que usam muita memória física. Trate esses avisos como uma lista de tarefas. Dicionários de texturas grandes demais são uma das principais causas de perda de textura no servidor inteiro, não só dentro daquele MLO.
  • Ajuste o tamanho das texturas. Uma textura 4K numa maçaneta é memória jogada fora. Reduzir as texturas de acordo com o tamanho que elas aparecem na tela é a correção mais eficaz.
  • Confira os LODs. Modelos bem feitos incluem versões com menos detalhe para a distância. Sem eles, o jogo desenha o modelo completo ou nada, o que pesa na performance de longe e faz os prédios surgirem do nada quando você chega perto.
  • Menos MLOs no mesmo quarteirão. Vários interiores pesados juntos numa mesma rua carregam ao mesmo tempo, então quem está naquela área sente mais.

Otimizando assets do FiveM mostra a compressão de texturas e a checagem de LODs passo a passo.

Editando MLOs com o CodeWalker

O CodeWalker é a ferramenta gratuita padrão para ver e editar arquivos de mapa do GTA V. Com ele você pode:

  • Abrir o mundo e voar até um MLO para ver exatamente onde ele fica e o que está sobreposto a ele.
  • Criar um projeto, adicionar o .ymap e o .ytyp de um resource, e mover, girar ou apagar entidades.
  • Adicionar ou remover props dentro das rooms de um interior.
  • Apagar entidades vanilla de uma cópia de um .ymap vanilla para fazer uma substituição.

Algumas regras deixam a edição mais segura:

  • Trabalhe numa cópia do resource, nunca no que está rodando no servidor.
  • Depois de mover um interior, confira se a colisão foi junto. Se o modelo visual e o .ybn não batem mais, os players vão flutuar, atravessar coisas ou cair.
  • Não mude os nomes dos arquivos, a não ser que você também atualize todas as referências a eles.

Se você quer mobiliar um interior pronto com móveis que não existem no jogo base, props custom no FiveM mostra como fazer stream dos seus próprios modelos .ydr. O gerador 3D da BLDR cria esses props a partir de um prompt de texto ou uma imagem de referência e exporta um resource de FiveM pronto, com arquivos .ydr, .ytd e .ytyp e a linha DLC_ITYP_REQUEST já no manifest. Ele não cria MLOs, só os props que você coloca dentro deles.

Problemas comuns de MLO e como resolver

ProblemaCausa provávelSolução
O prédio não aparece.ytyp não registrado, resource não iniciado ou falta o this_is_a_mapConfira o caminho do data_file no manifest e se o resource está no server.cfg. Procure erros no console F8.
Cair pelo chãoColisão .ybn faltando ou desalinhadaGaranta que todos os .ybn do MLO estão em stream/ e que nenhum outro resource faz stream de um .ybn com o mesmo nome.
Paredes invisíveisColisão de um prédio vanilla removido, ou um .ybn conflitante de outro mapaDescubra qual resource traz a colisão naquele ponto e junte ou remova.
Texturas faltando ou borradas.ytd faltando, texturas grandes demais ou assets pesados demais no servidor todoConfirme que os .ytd estão lá e depois reduza o tamanho das texturas no servidor todo.
Paredes ou pisos piscandoDois MLOs ou um interior vanilla sobrepostos no mesmo espaçoRemova o interior duplicado ou desative o IPL conflitante.
Props faltando dentro do interiorExige um game build mais novo ou um pack de props separadoVeja os requisitos do criador e configure sv_enforceGameBuild se precisar.
O resource não iniciaAsset com escrow na conta errada, ou falta o .fxapUse uma license key da conta dona do asset e suba a pasta completa de novo.

Perguntas frequentes

O que significa MLO no FiveM?

Vem de Milo, o nome interno da Rockstar para interiores. No FiveM, quer dizer qualquer interior custom definido com rooms e portals, ao contrário de props simplesmente colocados no mundo.

Preciso de this_is_a_map 'yes' para um MLO?

Sim. Ele avisa o FiveM que o resource contém dados de mapa, para o jogo recarregar o armazenamento de mapas quando o resource inicia. A maioria dos packs de MLO já inclui; se algum não tiver e o interior não carregar, adicionar isso é a primeira coisa a tentar.

Posso editar um MLO pago?

Só as partes que o criador deixou sem criptografia. Modelos protegidos por escrow não podem ser abertos nem alterados. Arquivos listados no escrow_ignore do manifest podem ser editados. Para o resto, fale com o criador.

Por que os players caem pelo chão no meu MLO?

A colisão do interior está faltando, fora do lugar ou sendo sobrescrita. Garanta que todos os arquivos .ybn estão na pasta stream/ e que nenhum outro resource de mapa traz um arquivo com o mesmo nome naquela área.

Continue lendo