{"id":155585,"date":"2025-09-25T09:37:46","date_gmt":"2025-09-25T07:37:46","guid":{"rendered":"https:\/\/hifivem.com\/?p=155585"},"modified":"2026-08-20T11:38:06","modified_gmt":"2026-08-20T09:38:06","slug":"como-criar-fivem-mlos","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/pt\/how-to-create-fivem-mlos\/","title":{"rendered":"Como Construir e Testar um Interior MLO no FiveM"},"content":{"rendered":"<p>Construa seu primeiro MLO do FiveM como um pequeno interior com uma porta, colis\u00e3o e visibilidade correta do c\u00f4modo. Mantenha o projeto edit\u00e1vel separado do recurso exportado e teste cada camada antes de adicionar adere\u00e7os detalhados ou ilumina\u00e7\u00e3o.<\/p>\n<p>Confirme a edi\u00e7\u00e3o de GTA de destino antes de instalar ou exportar assets. Pacotes Legacy n\u00e3o est\u00e3o automaticamente prontos para o Enhanced; siga <a href=\"https:\/\/docs.fivem.net\/docs\/server-manual\/onboarding-guide-fivem-for-gtav-enhanced\/\">a orienta\u00e7\u00e3o oficial de convers\u00e3o de assets para o Enhanced<\/a> quando esse for o seu objetivo.<\/p>\n<h2 id=\"prepare-the-tools-and-source-files\">Prepare as ferramentas e os arquivos de origem<\/h2>\n<p class=\"translation-block\">Use uma vers\u00e3o do Blender compat\u00edvel com a <a href=\"https:\/\/docs.sollumz.org\/\">vers\u00e3o do Sollumz<\/a> e o <a href=\"https:\/\/github.com\/dexyfex\/CodeWalker\">CodeWalker<\/a> para inspecionar dados de mapas e arqu\u00e9tipos. Siga a vers\u00e3o do Blender compat\u00edvel com essa vers\u00e3o do Sollumz em vez de presumir que toda vers\u00e3o mais recente do Blender funciona.<\/p>\n<p>Comece com um ativo original ou um que voc\u00ea esteja autorizado a modificar e distribuir. Salve o projeto de origem, os arquivos exportados e um registro das ferramentas utilizadas. Construa em um servidor de teste separado com mapas sobrepostos desativados.<\/p>\n<h2 id=\"1-model-a-minimal-interior\">1. Modele um interior m\u00ednimo<\/h2>\n<p>Crie um piso, paredes, teto e porta na escala desejada. Verifique as transforma\u00e7\u00f5es, normais, atribui\u00e7\u00f5es de materiais e caminhos de textura. Use os materiais GTA suportados pelo seu exportador; um material gen\u00e9rico do Blender n\u00e3o garante o mesmo resultado no jogo.<\/p>\n<p>Exporte primeiro um drawable vis\u00edvel simples. Confirme sua posi\u00e7\u00e3o e apar\u00eancia no CodeWalker antes de adicionar mais geometria. A geometria ausente pode vir de normais, materiais, limites ou configura\u00e7\u00e3o de visibilidade; n\u00e3o assuma uma \u00fanica causa.<\/p>\n<h2 id=\"2-create-and-align-collision\">2. Crie e alinhe a colis\u00e3o<\/h2>\n<p>Crie geometrias de colis\u00e3o simplificadas para pisos transit\u00e1veis, paredes e barreiras usando o fluxo de trabalho de colis\u00e3o do Sollumz. Compare a colis\u00e3o exportada com o modelo vis\u00edvel. Deixe as aberturas das portas livres, a menos que um sistema de portas separado deva bloque\u00e1-las.<\/p>\n<p>Teste a colis\u00e3o no jogo cedo. Cair por um piso exige verificar se a colis\u00e3o existe, carrega e se alinha com o objeto colocado.<\/p>\n<h2 id=\"3-define-rooms-portals-and-placement\">3. Defina salas, portais e posicionamento<\/h2>\n<p>Crie o arqu\u00e9tipo MLO e suas salas e portais usando o fluxo de trabalho documentado do Sollumz\/CodeWalker. Associe entidades \u00e0s salas corretas e verifique as conex\u00f5es e orienta\u00e7\u00e3o dos portais. Inspecione os limites da sala e a visibilidade de ambos os lados de cada porta.<\/p>\n<p>Crie o posicionamento do mapa para o arqu\u00e9tipo e preserve nomes consistentes entre as exporta\u00e7\u00f5es. Mantenha os dados do arqu\u00e9tipo YTYP e o posicionamento YMAP no projeto, em vez de tentar reparar nomes apenas no arquivo final.<\/p>\n<h2 id=\"4-package-the-exported-assets\">4. Empacote os ativos exportados<\/h2>\n<p>Use uma pasta de recurso comum, por exemplo, tutorial_interior, contendo fxmanifest.lua e um diret\u00f3rio stream. Coloque os ativos exportados necess\u00e1rios l\u00e1. Para um tutorial_interior.ytyp exportado, o manifesto inclui seu registro expl\u00edcito de arquivo de dados:<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">fx_version 'cerulean'\ngame 'gta5'\n\nthis_is_a_map 'yes'\nfiles { 'stream\/tutorial_interior.ytyp' }\ndata_file 'DLC_ITYP_REQUEST' 'stream\/tutorial_interior.ytyp'<\/code><\/pre>\n<p>Substitua esse nome de arquivo pelo seu YTYP exportado real. Inclua quaisquer outras declara\u00e7\u00f5es exigidas pelo seu ativo. Em server.cfg, adicione ensure tutorial_interior ap\u00f3s suas depend\u00eancias. Consulte a <a href=\"https:\/\/docs.fivem.net\/docs\/game-references\/data-files\/\">refer\u00eancia oficial de arquivo de dados<\/a> para DLC_ITYP_REQUEST.<\/p>\n<h2 id=\"5-check-the-complete-player-experience\">5. Verifique a experi\u00eancia completa do jogador<\/h2>\n<ol>\n<li>Inicie o recurso e inspecione os erros do servidor e do F8. Conecte-se de um cliente que n\u00e3o usou seus arquivos de desenvolvimento local.<\/li>\n<li>Aproxime-se de fora, entre em cada c\u00f4modo e inspecione cada porta de ambas as dire\u00e7\u00f5es. Verifique objetos que desaparecem, vazamentos de visibilidade, cintila\u00e7\u00e3o e passagens bloqueadas.<\/li>\n<li>Ande, corra e use as intera\u00e7\u00f5es pretendidas. Teste v\u00e1rios jogadores, reconecte e reinicie.<\/li>\n<li>Compare a mesma rota da c\u00e2mera antes e depois que o interior \u00e9 ativado. Verifique o tempo de quadro, a press\u00e3o de textura\/mem\u00f3ria e a complexidade visual. O tempo de recurso do script sozinho n\u00e3o mede o custo de GPU de um MLO.<\/li>\n<li>Teste a luz do dia, a noite e o clima, depois simplifique a geometria espec\u00edfica, os materiais ou o problema de visibilidade encontrado pela compara\u00e7\u00e3o.<\/li>\n<\/ol>\n<h2 id=\"release-with-a-recoverable-version\">Lance com uma vers\u00e3o recuper\u00e1vel<\/h2>\n<p>Envie notas de instala\u00e7\u00e3o, depend\u00eancias, conflitos e a vers\u00e3o exata do ativo. Mantenha o recurso e a configura\u00e7\u00e3o anteriores. Se uma regress\u00e3o aparecer, pare o novo recurso e restaure o pacote anterior antes de investigar no projeto de origem.<\/p>\n<p><a href=\"https:\/\/rpcrate.com\/pt\/mlo-vs-ymap\/\">MLO e YMAP: o que os dois arquivos de mapa FiveM realmente fazem<\/a><\/p>\n<p><a href=\"https:\/\/rpcrate.com\/pt\/guia-de-compatibilidade-de-mlo-fivem\/\">Guia de compatibilidade de MLO FiveM: frameworks, conflitos e testes<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Construa seu primeiro MLO do FiveM como um pequeno interior com uma porta, colis\u00e3o e visibilidade correta do c\u00f4modo. Mantenha o projeto edit\u00e1vel separado do recurso exportado e teste cada camada antes de adicionar adere\u00e7os detalhados ou ilumina\u00e7\u00e3o.<\/p>","protected":false},"author":1,"featured_media":199236,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1899],"tags":[],"class_list":["post-155585","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/155585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/comments?post=155585"}],"version-history":[{"count":10,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/155585\/revisions"}],"predecessor-version":[{"id":217452,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/155585\/revisions\/217452"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media\/199236"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media?parent=155585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/categories?post=155585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/tags?post=155585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}