Como configurar um mini-mapa customizado no cliente de MU
Aprenda a criar, converter e registrar um mini-mapa customizado no cliente de MU Online — desde a arte base até o posicionamento de ícones de NPC, portais e spots de caça.
O mini-mapa é um dos elementos de interface mais subestimados do cliente de MU Online, mas também um dos que mais elevam a percepção de qualidade de um servidor privado. Quando um jogador abre o painel de orientação e vê a planta correta do mapa, com ícones bem posicionados de NPCs, portais e spots
O mini-mapa é um dos elementos de interface mais subestimados do cliente de MU Online, mas também um dos que mais elevam a percepção de qualidade de um servidor privado. Quando um jogador abre o painel de orientação e vê a planta correta do mapa, com ícones bem posicionados de NPCs, portais e spots de caça, a experiência muda por completo. Este tutorial cobre o processo completo — da preparação da arte base à conversão para os formatos internos do MU, o registro dos ícones e a validação de escala — para que o seu mini-mapa fique alinhado às coordenadas reais que o servidor envia ao cliente. É um trabalho de nível avançado porque envolve conversão de imagem, sistema de coordenadas de tile e, em alguns clientes, edição de arquivos de configuração pouco documentados.
Antes de começar, vale lembrar que quase toda personalização de cliente pressupõe que você já tem um servidor rodando e um cliente compatível em mãos. Se você ainda está montando a base, comece pelo guia de como criar um servidor de MU Online e volte aqui depois de ter o cliente funcional apontando para o seu servidor.
Pré-requisitos
Reúna o ambiente antes de tocar em qualquer arquivo. A falta de uma única ferramenta costuma travar o processo no meio.
- Cliente de MU compatível com a season do seu servidor, já testado e conectando normalmente.
- Editor de imagem — GIMP (gratuito) ou Photoshop, para desenhar e ajustar a planta do mapa.
- Conversor de imagens MU (MU Image Converter / OZJ-OZT Tools) para transformar
.png/.jpgnos formatos internos.ozje.ozt. - Editor de texto para código — Notepad++ ou VS Code, para editar os arquivos de definição de ícones do mini-mapa.
- Ferramenta de captura de coordenadas — o comando de GM
/posou o overlay de posição do cliente, para descobrir as coordenadas exatas de NPCs e portais. - Backup completo da pasta do cliente antes de começar. Crie uma pasta
_original/e copie ali tudo que for modificar.
.ozj pode deixar o painel de mini-mapa com fundo preto para todos os jogadores. Sempre edite em cópia e valide antes de empacotar.Como o mini-mapa funciona no cliente
O painel de mini-mapa do MU combina três camadas independentes que o cliente sobrepõe em tempo real:
- A arte base do mapa — uma imagem estática que representa a planta daquele world (Lorencia, Devias, Noria etc.), armazenada em formato interno do MU.
- O marcador do personagem — um ícone que o cliente desenha dinamicamente convertendo a coordenada de tile do jogador (X e Y de 0 a 255) para pixels dentro da arte.
- Os ícones de interesse — NPCs, portais, lojas e spots definidos em um arquivo de configuração, cada um com um tipo de ícone e uma coordenada de tile.
A parte crítica de entender é o sistema de coordenadas. Todo mapa no MU é uma grade de 256×256 tiles. O servidor sempre fala nessas coordenadas. Quando o cliente desenha o marcador, ele faz uma regra de três: pixel_x = (tile_x / 256) * largura_da_arte. Se a sua arte não cobrir exatamente a mesma área lógica que o servidor usa, os ícones ficam deslocados. É por isso que a dimensão da imagem e o enquadramento importam tanto — mais do que a beleza do desenho.
Estrutura de arquivos do mini-mapa
A localização exata varia por season/cliente, mas a organização típica segue este padrão:
MUClient/
├── Data/
│ └── Local/
│ ├── MiniMap/ ← artes de mini-mapa por world
│ │ ├── MiniMap0.ozj ← Lorencia (world 0)
│ │ ├── MiniMap2.ozj ← Devias (world 2)
│ │ ├── MiniMap3.ozj ← Noria (world 3)
│ │ └── ...
│ └── MiniMapInfo.txt ← definição de ícones (nome varia)
├── Interface/
│ └── minimap_frame.ozt ← moldura/borda do painel
└── Main.exe
Data/Interface/ ou numeradas de forma diferente (por exemplo map_00.ozj). Use a ferramenta de conversão para abrir os arquivos existentes e identificar qual índice corresponde a qual mapa antes de sobrescrever.Passo 1 — Preparar a arte base do mapa
A arte precisa representar fielmente a área navegável do world. A abordagem mais confiável é partir da própria planta do jogo:
- Entre no mapa com um personagem GM e ative o modo de visão ampla, ou use uma captura de mapa completa da comunidade daquela season.
- No editor de imagem, monte a planta em uma tela quadrada (por exemplo 256×256 ou 512×512 pixels) — o mini-mapa do MU pressupõe proporção 1:1 com a grade de tiles.
- Alinhe o desenho de forma que o canto inferior-esquerdo represente o tile (0,0) e o canto superior-direito represente o tile (255,255). A orientação do eixo Y no MU é invertida em relação à imagem, então planeje isso desde o começo.
- Deixe o fundo com uma cor sólida ou textura escura, e desenhe os caminhos, obstáculos e regiões de água/parede com bom contraste.
- Exporte como
.jpgcom qualidade 90% (arte sem transparência) ou.png(se for usar.oztcom canal alpha).
Tabela de referência de dimensões
| Elemento | Dimensão recomendada | Formato | Observação |
|---|---|---|---|
| Arte base do mapa | 256×256 ou 512×512 | .ozj | Proporção 1:1 obrigatória |
| Arte com bordas transparentes | 256×256 | .ozt | Usa canal alpha |
| Moldura do painel | Varia por season | .ozt | Sobreposta à arte |
| Ícone de NPC/portal | 8×8 a 16×16 | .ozt | Sprite pequeno com alpha |
Passo 2 — Converter para o formato interno do MU
O cliente não lê .png/.jpg diretamente para o mini-mapa. Converta a arte final:
- Abra o MU Image Converter.
- Arraste sua arte
.jpgpara a janela e selecione saída.ozj(sem transparência) — ou.pngpara saída.ozt(com alpha). - Clique em Convert e confira se o arquivo gerado tem tamanho coerente (um
.ozjcorrompido geralmente sai com poucos bytes). - Renomeie exatamente para o índice esperado pelo cliente, por exemplo
MiniMap2.ozjpara Devias. - Copie para a pasta de mini-mapa do cliente.
# PowerShell — validar rapidamente se os arquivos convertidos existem e têm tamanho
Get-ChildItem "MUClient\Data\Local\MiniMap\*.ozj" |
Select-Object Name, @{Name="KB";Expression={[math]::Round($_.Length/1KB,1)}}
.ozj sair com menos de 1 KB, quase sempre houve falha de conversão ou a imagem de origem estava com perfil de cor incompatível. Reexporte o .jpg em RGB 8 bits, sem perfil ICC embutido, e converta de novo.Passo 3 — Registrar os ícones de NPCs e portais
Aqui é onde o mini-mapa deixa de ser só uma imagem e vira uma ferramenta de navegação. Os ícones são definidos em um arquivo de texto que associa world + coordenada + tipo de ícone. A sintaxe exata varia por cliente, mas o padrão conceitual é constante:
// MiniMapInfo.txt (formato ilustrativo — varia por season/cliente)
// World X Y TipoIcone Descricao
2 123 110 1 "Loja de Armas"
2 180 95 2 "Portal para Dungeon"
2 207 50 3 "NPC de Quest"
0 135 128 4 "Safe Zone / Spot"
O passo a passo para preencher com precisão:
- Entre no mapa com um personagem GM.
- Caminhe até cada NPC ou portal e use o comando
/pos(ou o overlay de coordenadas) para ler o X e Y de tile exatos. - Anote a coordenada e escolha o tipo de ícone correspondente na tabela de tipos do seu cliente.
- Adicione uma linha por ponto de interesse, sempre com o índice de world correto.
- Salve o arquivo em ANSI/UTF-8 sem BOM — alguns clientes não interpretam BOM e ignoram o arquivo inteiro.
Tipos de ícone comuns
| Código | Ícone típico | Uso comum |
|---|---|---|
| 1 | Loja | NPCs de comércio (armas, poções) |
| 2 | Portal | Warp entre mapas |
| 3 | Quest | NPC de missão ou evento |
| 4 | Spot | Ponto de caça recomendado |
| 5 | Boss | Local de spawn de boss |
Passo 4 — Ajustar a moldura e a posição do painel
A moldura (frame) que envolve o mini-mapa é um .ozt separado, com transparência, sobreposto à arte. Para dar identidade ao seu servidor:
- Converta o
minimap_frame.oztpara.png. - No editor de imagem, redesenhe a borda com as cores/logo do servidor, mantendo as áreas transparentes exatamente onde estavam.
- Reconverta para
.ozte substitua. - A posição do painel na tela costuma ser fixa no cliente; em clientes que expõem isso, o ajuste fica em um
.inide interface — o campo e a existência disso variam por season/cliente.
Passo 5 — Validar escala e posicionamento
Este é o teste que separa um mini-mapa profissional de um amador. Nunca confie apenas na aparência estática.
- Entre no mapa com o personagem e abra o mini-mapa (tecla M ou Tab, conforme a season).
- Vá até um ponto de referência conhecido — por exemplo, a porta de um NPC — e observe se o marcador do personagem cai exatamente sobre o ícone daquele NPC no painel.
- Ande até os quatro cantos extremos da área navegável e confirme que o marcador chega às bordas da arte sem "estourar" para fora nem parar cedo demais.
- Se o marcador ficar consistentemente deslocado na horizontal ou vertical, o problema é enquadramento da arte (ela não cobre 0–255 nos dois eixos). Se ficar espelhado, é o eixo Y invertido.
Erros comuns e soluções
| Erro | Causa provável | Solução |
|---|---|---|
| Painel abre com fundo preto | .ozj corrompido ou índice de world errado | Reconverter a arte e conferir o nome/número do arquivo |
| Marcador do personagem deslocado | Arte não cobre a grade 0–255 ou proporção não é 1:1 | Reenquadrar a arte em tela quadrada, alinhada aos tiles |
| Mini-mapa espelhado verticalmente | Eixo Y da imagem não foi invertido | Espelhar a arte na vertical no editor |
| Ícones não aparecem | Arquivo de definição com BOM ou sintaxe errada | Salvar como ANSI/UTF-8 sem BOM e revisar colunas |
| Ícones no lugar errado | Coordenadas capturadas de outro mapa/world | Recapturar com /pos dentro do world correto |
| Moldura tapa parte do mapa | Áreas transparentes do .ozt foram preenchidas | Refazer o frame preservando o canal alpha |
Checklist de lançamento
- Backup da pasta original do cliente feito em
_original/ - Arte base criada em proporção 1:1 e alinhada aos tiles 0–255
- Todos os
.ozj/.oztconvertidos e com tamanho coerente (> 1 KB) - Índices de arquivo batendo com o world correto de cada mapa
- Ícones de NPCs e portais registrados com coordenadas capturadas via
/pos - Arquivo de definição salvo sem BOM
- Teste de calibração dos quatro cantos aprovado
- Marcador do personagem cai exatamente sobre pontos de referência
- Moldura customizada aplicada com transparência preservada
- Cliente testado em pelo menos três mapas diferentes
- Cliente reempacotado e hash de verificação atualizado
Com o mini-mapa calibrado e os ícones no lugar, o seu servidor ganha uma camada de polimento que a maioria dos concorrentes ignora. O segredo é sempre tratar a arte como uma projeção fiel da grade de tiles — quando a escala está certa, todo o resto se encaixa naturalmente e você pode reaproveitar o mesmo processo para qualquer novo mapa customizado que adicionar no futuro.
Perguntas frequentes
O que é o mini-mapa no cliente de MU?
É o painel de orientação exibido no canto da tela (geralmente aberto com a tecla M ou Tab) que mostra a planta do mapa atual, a posição do personagem e ícones de NPCs, portais e pontos de interesse.
Todo mapa precisa de uma imagem de mini-mapa própria?
Sim — cada mapa (world) tem sua própria arte de mini-mapa, normalmente nomeada por índice numérico. Mapas sem arte associada aparecem com fundo preto ou não abrem o painel.
O mini-mapa customizado afeta outros jogadores?
Não. A arte e a configuração ficam no cliente de cada jogador. Você distribui o cliente já com os arquivos e cada pessoa que baixar terá o mini-mapa do seu servidor.
Preciso editar o Main.exe para trocar o mini-mapa?
Na maioria das seasons não — a arte fica em arquivos externos (.ozj/.ozt) e os ícones são definidos em arquivos de texto do cliente. O offset no Main só é necessário em clientes que embutem o recurso, o que varia por season/cliente.
Por que meu mini-mapa aparece esticado ou fora de escala?
Quase sempre é dimensão de imagem errada ou proporção que não bate com a área jogável do mapa. O mini-mapa precisa cobrir as mesmas coordenadas de tile (0–255) que o servidor usa para aquele world.