Character MU Online: Tabela de Personagens Explicada Aprendiz Mu Online
Tutoriais

Character MU Online: Tabela de Personagens Explicada

Por

Entenda a tabela Character do MU Online, campos de level, classe, atributos, mapa, resets, PK, inventário e consultas SQL para personagens.

MU Online • Database • Personagens

Character Explicada: Guia Completo da Tabela de Personagens do MU Online

Entenda como funciona a tabela Character do MU Online, os principais campos de personagem, classe, level, atributos, mapa, posição, resets, PK, inventário e como consultar ou editar dados no SQL Server com segurança.

Nível: Intermediário Categoria: SQL e Database Personagens MU Online Aprendiz MU Online

A tabela Character é uma das estruturas mais importantes da database MuOnline porque normalmente armazena os principais dados dos personagens criados pelos jogadores.

Nela podem existir informações como nome do personagem, conta proprietária, classe, level, experiência, pontos, atributos, dinheiro, mapa, posição, inventário e diversos campos personalizados adicionados pela source.

Sources modernas também podem adicionar colunas para resets, master resets, kills, ranking semanal, ranking mensal e outros sistemas.

Neste guia do Aprendiz MU Online, você aprenderá como interpretar a tabela Character, executar consultas SQL e evitar alterações que possam corromper personagens.

O que é a tabela Character?

A tabela Character costuma armazenar um registro para cada personagem existente no servidor.

De forma simplificada:

MEMB_INFO
   |
   | memb___id
   v
Conta
   |
   v
Character
   |
   +-- Personagem 1
   +-- Personagem 2
   +-- Personagem 3

A ligação entre conta e personagem costuma acontecer através de campos como:

MEMB_INFO.memb___id
Character.AccountID
Resumindo MEMB_INFO normalmente representa a conta. Character normalmente representa cada personagem criado nela.

Como ver a estrutura da tabela Character

No SQL Server Management Studio:

Databases
   |
   +-- MuOnline
          |
          +-- Tables
                 |
                 +-- dbo.Character
                        |
                        +-- Columns

Você também pode executar:

sp_help 'Character';

Isso ajuda a descobrir:

  • colunas existentes;
  • tipo de dado;
  • tamanho;
  • campos NULL;
  • índices;
  • restrições.

Principais campos da Character

Uma tabela Character pode possuir campos semelhantes a:

Campo Uso comum
AccountID Conta proprietária do personagem.
Name Nome do personagem.
Class Classe do personagem.
cLevel Level atual.
Experience Experiência acumulada.
LevelUpPoint Pontos disponíveis para distribuir.
Strength Força.
Dexterity Agilidade.
Vitality Vitalidade.
Energy Energia.
Money Zen do personagem.
MapNumber Mapa onde o personagem está salvo.
MapPosX Posição X.
MapPosY Posição Y.
Inventory Estrutura binária do inventário.
A estrutura não é universal Nem toda source possui os mesmos campos. Consulte sua database antes de usar queries encontradas em tutoriais ou outros server files.

Name e AccountID

O campo Name normalmente contém o nome do personagem.

O campo AccountID relaciona esse personagem à conta proprietária.

Exemplo:

SELECT
    AccountID,
    Name
FROM Character
WHERE Name = 'DarkKnight';

Mostrar todos os personagens de uma conta

SELECT
    Name,
    Class,
    cLevel
FROM Character
WHERE AccountID = 'usuario';

O que significa Class?

O campo Class armazena um código numérico utilizado pela source para identificar a classe do personagem.

Em versões tradicionais você poderá encontrar valores associados a classes como:

  • Dark Wizard;
  • Soul Master;
  • Dark Knight;
  • Blade Knight;
  • Fairy Elf;
  • Muse Elf;
  • Magic Gladiator;
  • Dark Lord;
  • classes adicionais em Seasons posteriores.
Códigos variam A interpretação exata do campo Class depende da versão e da lógica utilizada pelo GameServer.

cLevel e Experience

O campo cLevel normalmente representa o level atual do personagem.

Experience armazena sua experiência.

Uma consulta de ranking pode ser:

SELECT TOP 20
    Name,
    Class,
    cLevel,
    Experience
FROM Character
ORDER BY cLevel DESC, Experience DESC;

LevelUpPoint

LevelUpPoint normalmente representa os pontos ainda disponíveis para distribuição.

Exemplo:

SELECT
    Name,
    LevelUpPoint
FROM Character
WHERE Name = 'DarkKnight';

Strength, Dexterity, Vitality e Energy

Esses campos normalmente representam os atributos básicos do personagem.

Campo Significado comum
Strength Força.
Dexterity Agilidade.
Vitality Vitalidade.
Energy Energia.

Algumas classes ou Seasons podem utilizar atributos adicionais, como comando para Dark Lord.

Consultar os atributos

SELECT
    Name,
    Strength,
    Dexterity,
    Vitality,
    Energy,
    LevelUpPoint
FROM Character
WHERE Name = 'DarkKnight';

MapNumber, MapPosX e MapPosY

Esses campos geralmente registram onde o personagem foi salvo no mundo do jogo.

Por exemplo:

MapNumber = 0
MapPosX   = 125
MapPosY   = 125

Dependendo da versão, o mapa 0 costuma estar associado a Lorencia.

Cuidado com coordenadas inválidas Alterar o mapa ou posição para um local inexistente pode causar personagem preso, desconexão ou comportamento inesperado.

Como mover um personagem pelo SQL

Um exemplo conceitual:

UPDATE Character
SET
    MapNumber = 0,
    MapPosX = 125,
    MapPosY = 125
WHERE Name = 'DarkKnight';

Faça esse tipo de alteração preferencialmente com o personagem desconectado.

Money

O campo Money normalmente representa a quantidade de Zen carregada pelo personagem.

Exemplo:

SELECT
    Name,
    Money
FROM Character
WHERE Name = 'DarkKnight';

ResetCount, ResetsG e MResets

Campos de reset normalmente são customizações da source e não devem ser considerados universais.

Você poderá encontrar:

ResetCount
Resets
ResetsG
MResets
MasterReset
ResetsWeek
ResetsMonth

Exemplo de ranking por resets

SELECT TOP 20
    Name,
    ResetCount,
    cLevel
FROM Character
ORDER BY ResetCount DESC, cLevel DESC;

Caso sua source utilize ResetsG:

SELECT TOP 20
    Name,
    ResetsG,
    cLevel
FROM Character
ORDER BY ResetsG DESC, cLevel DESC;
Não misture ResetCount e ResetsG Eles podem representar sistemas totalmente diferentes. Use exatamente o campo utilizado pelo GameServer da sua source.

PkCount e campos de PK

Sources customizadas podem utilizar colunas como:

PkCount
PkLevel
PkTime

para armazenar informações relacionadas ao sistema PK.

Um ranking personalizado pode usar:

SELECT TOP 20
    Name,
    PkCount
FROM Character
ORDER BY PkCount DESC;

ctlcode

Algumas databases possuem uma coluna como ctlcode, frequentemente utilizada por sistemas para distinguir determinados estados ou privilégios do personagem.

Websites de ranking costumam filtrar personagens administrativos.

Exemplo encontrado em muitas implementações customizadas:

WHERE ctlcode = 0 OR ctlcode IS NULL

A interpretação exata precisa ser confirmada na source.

Inventory

O campo Inventory merece atenção especial.

Em várias versões, ele armazena o inventário do personagem em uma estrutura binária.

Isso significa que não existe uma linha simples como:

Sword = 1
Armor = 1

Os itens são codificados em blocos de bytes de acordo com a versão da source.

Nunca edite Inventory no chute Um único byte incorreto pode gerar item inválido, inventário corrompido ou problemas ao carregar o personagem.

MagicList

Algumas versões utilizam MagicList para armazenar informações relacionadas a skills aprendidas pelo personagem.

Assim como Inventory, pode ser uma estrutura binária dependente da versão.

Quest

O campo Quest, quando presente, pode guardar informações relacionadas ao progresso de quests e evoluções do personagem.

Evite alterar seu conteúdo sem documentação da versão utilizada.

Como listar os personagens mais fortes

Exemplo simples por level:

SELECT TOP 10
    Name,
    Class,
    cLevel
FROM Character
ORDER BY cLevel DESC;

Ranking por level e experiência

SELECT TOP 10
    Name,
    Class,
    cLevel,
    Experience
FROM Character
WHERE ctlcode = 0 OR ctlcode IS NULL
ORDER BY
    cLevel DESC,
    Experience DESC;

Ranking por resets

SELECT TOP 10
    Name,
    Class,
    ResetsG,
    cLevel
FROM Character
WHERE ctlcode = 0 OR ctlcode IS NULL
ORDER BY
    ResetsG DESC,
    cLevel DESC;

Troque ResetsG pelo campo real utilizado pela sua source.

Procurar personagem pelo nome

SELECT *
FROM Character
WHERE Name = 'DarkKnight';

Procurar personagens de uma conta

SELECT
    Name,
    Class,
    cLevel
FROM Character
WHERE AccountID = 'usuario';

Como editar personagem com segurança

Antes de fazer qualquer UPDATE:

  1. faça backup da database;
  2. confirme que o personagem está offline;
  3. execute um SELECT;
  4. verifique o tipo da coluna;
  5. aplique o UPDATE usando WHERE;
  6. consulte novamente os dados.

Exemplo

SELECT
    Name,
    cLevel,
    Money
FROM Character
WHERE Name = 'DarkKnight';

Depois:

UPDATE Character
SET Money = 1000000
WHERE Name = 'DarkKnight';
SELECT antes de UPDATE Esse é um dos hábitos mais importantes para evitar alterações acidentais em todos os personagens do servidor.

O perigo do UPDATE sem WHERE

Este comando:

UPDATE Character
SET Money = 0;

altera todos os personagens.

Sempre revise a query antes de executar em produção.

Invalid Column Name na Character

Exemplo:

Invalid column name 'ResetCount'

Significa que a aplicação ou query tentou acessar uma coluna que não existe naquela tabela.

Possíveis causas:

  • database de outra source;
  • site incompatível;
  • script SQL ausente;
  • campo com outro nome;
  • versão antiga da database.

Invalid Object Name Character

Se surgir:

Invalid object name 'Character'

verifique:

  • database selecionada;
  • nome da tabela;
  • schema;
  • string de conexão;
  • database correta.

Arithmetic Overflow nos atributos

Se a coluna utiliza um tipo numérico com limite inferior ao valor enviado, o SQL poderá retornar overflow.

Por isso, antes de aumentar atributos, resets ou pontos, confira o tipo real da coluna:

sp_help 'Character';

Personagem não entra depois de editar SQL

Se um personagem deixa de entrar depois de uma alteração, revise principalmente:

  • MapNumber;
  • MapPosX;
  • MapPosY;
  • Class;
  • Inventory;
  • MagicList;
  • Quest;
  • valores acima do limite da source.

Character e GameServer

A tabela Character precisa ser compatível com o GameServer.

Se a source tenta consultar:

ResetCount
MResets
PkCount

e esses campos não existem, o servidor poderá apresentar erros SQL.

Mesmo Season não garante compatibilidade Dois GameServers Season 6, por exemplo, podem utilizar estruturas Character diferentes devido às customizações realizadas pelos desenvolvedores.

Character e website

Rankings, perfil do personagem e painéis administrativos normalmente consultam essa tabela.

Um site pode utilizar:

Name
Class
cLevel
ResetsG
PkCount

mas sua database talvez utilize outros nomes.

Portanto, adapte o website à database real em vez de criar campos apenas porque o código PHP espera encontrá-los.

Checklist da tabela Character

Verificação Resultado esperado
Character Tabela disponível.
AccountID Relaciona personagem à conta.
Name Nome válido.
Class Código compatível com a source.
cLevel Dentro do limite esperado.
Atributos Valores suportados pela source.
Mapa MapNumber e coordenadas válidos.
Resets Campo correto para o projeto.
Inventory Não alterado manualmente sem conhecimento.
Website Queries compatíveis com a tabela real.
GameServer Estrutura compatível.
Backup Disponível antes de alterações.

Perguntas frequentes

O que é Character no MU Online?

É uma tabela utilizada por muitas databases para armazenar as principais informações dos personagens.

Onde fica o nome do personagem?

Normalmente no campo Name.

Onde fica a conta do personagem?

Em muitas estruturas, no campo AccountID.

Onde fica o level?

Normalmente em cLevel.

Onde ficam os resets?

Depende da source. Campos comuns em projetos customizados incluem ResetCount, ResetsG e outros nomes semelhantes.

Posso editar Inventory pelo SQL?

Não é recomendado sem conhecer o formato binário utilizado pela sua versão.

Character pode causar Invalid Column Name?

Sim. Isso acontece quando uma aplicação espera uma coluna que não existe na estrutura atual.

Posso alterar Class diretamente?

Tecnicamente é possível editar o campo, mas o código precisa representar uma classe válida para sua source e o restante dos dados do personagem precisa permanecer consistente.

Por que meu ranking não mostra os resets?

Verifique qual coluna sua source realmente utiliza. O site pode estar consultando ResetCount enquanto a database utiliza ResetsG, ou vice-versa.

Conclusão

A tabela Character é a base para grande parte dos sistemas relacionados aos personagens de um servidor MU Online.

Entender campos como Name, AccountID, Class, cLevel, LevelUpPoint, atributos, MapNumber, Money e Inventory facilita o desenvolvimento de rankings, painéis, editores e sistemas administrativos.

Entretanto, campos de resets, PK e outros recursos customizados devem sempre ser conferidos na source real.

Antes de alterar qualquer personagem, faça backup da database, execute um SELECT e evite editar estruturas binárias como Inventory sem documentação.

Compartilhe este artigo
Aprendiz Mu Online Conhecimento, comunidade e oportunidades para quem vive MU Online.
Estatísticas de acesso Evolução diária do portal
Total de visitas 20.995.675
Visitas hoje 905
Visitas ontem 3.414
13/07: 1.264 visitas14/07: 1.187 visitas15/07: 1.376 visitas16/07: 1.219 visitas17/07: 1.328 visitas18/07: 1.146 visitas19/07: 1.392 visitas20/07: 1.241 visitas21/07: 1.357 visitas22/07: 1.174 visitas23/07: 1.298 visitas24/07: 1.960 visitas25/07: 3.414 visitas26/07: 905 visitas13/0715/0717/0719/0721/0723/0725/0726/07
Visitas registradas automaticamente.
© 2026 Aprendiz Mu Online