O maior portal de MU Online do Brasil — desde 2003
Tutorial Intermediário Tutoriais

Como Configurar a Loja de Ruud e NPCs de Evento no Servidor MU

Aprenda a configurar a loja de Ruud, definir preços de itens, posicionar NPCs de evento e ajustar recompensas via SQL e arquivos .ini no MuServer.

EQ Equipe ViciadosMU · Atualizado em 3 jul 2026 · ⏱ 12 min de leitura

A moeda Ruud foi introduzida a partir da Season 12 do MU Online e representa uma das principais formas de progressão de personagens em servidores modernos. Configurar corretamente a loja de Ruud e posicionar os NPCs de evento garante uma economia saudável e jogadores engajados no seu servidor.

Este guia cobre a configuração completa: desde a tabela SQL de itens até o posicionamento físico dos NPCs no mapa.

Pré-requisitos

  • MuServer Season 12 ou superior (a loja de Ruud não existe em S6 vanilla)
  • Acesso ao SQL Server Management Studio com permissão de escrita no banco MuOnline
  • Acesso à pasta GameServer/Data/ no servidor
  • Servidor parado (GameServer.exe encerrado) para edição de arquivos .txt de monstros
Nota: Em versões S9 e S10 customizadas, alguns desenvolvedores implementam sistemas de "Point Shop" próprios com tabelas diferentes. Verifique a documentação do seu arquivo de servidor antes de prosseguir.

Passo 1: Entender a Estrutura do Sistema Ruud

O sistema de Ruud opera em três camadas:

  1. Ganho de Ruud — configurado por evento (Arca do Ruud, mapas específicos, recompensas de quest)
  2. Armazenamento — coluna Ruud na tabela Character do banco MuOnline
  3. Loja de Ruud — tabela T_MN_PointShopList define os itens disponíveis e preços

Verifique se a coluna Ruud existe no seu banco:

-- Verificar se a coluna Ruud existe na tabela Character
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Character'
  AND COLUMN_NAME = 'Ruud';

Se a coluna não existir, adicione-a:

ALTER TABLE MuOnline..Character
ADD Ruud INT NOT NULL DEFAULT 0;

Passo 2: Configurar a Tabela de Itens da Loja

A tabela T_MN_PointShopList define cada item disponível na loja. Abra o SSMS e execute:

-- Ver estrutura atual da loja de Ruud
SELECT TOP 20
    ShopCode,
    ItemCode,
    ItemIndex,
    ItemLevel,
    ItemOpt,
    Price,
    ClassFlag,
    LimitBuy,
    SaleFlag
FROM MuOnline..T_MN_PointShopList
ORDER BY ShopCode;

Para adicionar um novo item (exemplo: Wings of Ruin nível 3 por 15.000 Ruud):

-- Inserir item na loja de Ruud
-- ItemCode 12 = Wings, ItemIndex 36 = Wings of Ruin, ItemLevel 3
INSERT INTO MuOnline..T_MN_PointShopList
    (ShopCode, ItemCode, ItemIndex, ItemLevel, ItemOpt, Price, ClassFlag, LimitBuy, SaleFlag)
VALUES
    (1, 12, 36, 3, 0, 15000, 255, 0, 1);
Dica: O campo ClassFlag usa bitmask: 1=DW, 2=DK, 4=Elf, 8=MG, 16=DL, 32=Summoner, 64=RF, 128=GL. Some os valores para liberar múltiplas classes. Valor 255 libera todas.

Para atualizar o preço de um item existente:

-- Alterar preço de item específico na loja
UPDATE MuOnline..T_MN_PointShopList
SET Price = 8000
WHERE ItemCode = 13 AND ItemIndex = 0 AND ShopCode = 1;
-- ItemCode 13 = Archangel set (exemplo)

Para remover um item da loja:

-- Remover item da loja de Ruud
DELETE FROM MuOnline..T_MN_PointShopList
WHERE ShopCode = 1 AND ItemCode = 12 AND ItemIndex = 36;

Passo 3: Configurar Limites de Compra e Restrições

O campo LimitBuy define quantas vezes por conta/personagem o item pode ser comprado:

-- Definir limite de 1 compra por personagem para item especial
UPDATE MuOnline..T_MN_PointShopList
SET LimitBuy = 1
WHERE ShopCode = 1 AND ItemCode = 12 AND ItemIndex = 36;

-- Remover limite (0 = ilimitado)
UPDATE MuOnline..T_MN_PointShopList
SET LimitBuy = 0
WHERE ShopCode = 1;

Para rastrear compras com limite, verifique a tabela de histórico:

-- Ver histórico de compras na loja de Ruud
SELECT TOP 50
    AccountID,
    CharName,
    ItemCode,
    ItemIndex,
    Price,
    BuyDate
FROM MuOnline..T_MN_PointShopBuyList
ORDER BY BuyDate DESC;

Passo 4: Posicionar o NPC de Loja no Mapa

O NPC que abre a loja de Ruud (geralmente chamado Lugard no S12+, MonsterIndex 658) precisa ser posicionado via arquivo de texto.

Abra o arquivo GameServer/Data/Monster/MonsterSetBase.txt e adicione a linha:

// Ruud Shop NPC - Lorencia
658    0    136    140    0    0    50
// Formato: MonsterIndex  MapNumber  X  Y  Dir  Action  ViewRange
Atenção: As coordenadas X e Y devem estar dentro dos limites do mapa. Para Lorencia (mapa 0), o centro da cidade fica em torno de X=136, Y=140. Use o cliente com visualizador de coordenadas ativado para confirmar a posição exata.

Para múltiplos NPCs de loja em mapas diferentes:

// Ruud Shop NPC - Noria (mapa 3)
658    3    170    100    0    0    50
// Ruud Shop NPC - Elbeland (mapa 51)
658    51    215    45    0    0    50

Passo 5: Configurar Recompensas de Ruud por Evento

As recompensas de Ruud concedidas ao completar eventos são configuradas em arquivos .ini ou diretamente via SQL, dependendo da versão do servidor.

Via arquivo .ini (GameServer/Config/):

; Arquivo: GameServer/Config/EventRuudReward.ini
[BloodCastle]
BC1_Ruud=200
BC2_Ruud=300
BC3_Ruud=400
BC4_Ruud=500
BC5_Ruud=600
BC6_Ruud=700
BC7_Ruud=1000

[DevilSquare]
DS1_Ruud=150
DS2_Ruud=250
DS3_Ruud=350
DS4_Ruud=500
DS5_Ruud=700

[ChaosCastle]
CC1_Ruud=100
CC7_Ruud=500

Via SQL (se o servidor usar tabela de configuração):

-- Ver configuração de Ruud por evento
SELECT EventType, EventLevel, RuudReward
FROM MuOnline..T_MN_EventRuudConfig
ORDER BY EventType, EventLevel;

-- Atualizar recompensa do Blood Castle nível 7
UPDATE MuOnline..T_MN_EventRuudConfig
SET RuudReward = 1500
WHERE EventType = 1 AND EventLevel = 7;
-- EventType: 1=BloodCastle, 2=DevilSquare, 3=ChaosCastle

Passo 6: Configurar NPCs de Evento Adicionais

Além da loja de Ruud, os NPCs de evento (porteiros de Blood Castle, Devil Square, etc.) são configurados no mesmo arquivo MonsterSetBase.txt:

// Archangel Michael - Blood Castle NPC (mapa 9 = BC Entrance)
131    9    014    025    0    0    1
// Charon - Blood Castle Entry Portal
132    0    016    014    0    0    1
// Wizard - Devil Square NPC  
120    34   210   070    0    0    1
Dica: Consulte o arquivo GameServer/Data/Monster/Monster.txt para encontrar o MonsterIndex correto de cada NPC. Busque por nomes como "Lugard", "Charon", "Michael" ou "Gatekeeper" para identificar os índices.

Passo 7: Verificar e Testar as Configurações

Após todas as alterações, siga esta sequência de verificação:

Verificação SQL → Confirme que os itens aparecem na tabela

-- Confirmar itens cadastrados na loja
SELECT COUNT(*) AS TotalItens,
       SUM(CASE WHEN SaleFlag = 1 THEN 1 ELSE 0 END) AS ItensAtivos
FROM MuOnline..T_MN_PointShopList
WHERE ShopCode = 1;

Verificação de Ruud do personagem → Confirme saldo de teste

-- Adicionar Ruud de teste a um personagem
UPDATE MuOnline..Character
SET Ruud = Ruud + 50000
WHERE Name = 'SeuCharGM';

-- Verificar saldo
SELECT Name, Ruud FROM MuOnline..Character WHERE Name = 'SeuCharGM';

Reiniciar o GameServer → As alterações em .txt e .ini só têm efeito após restart

Inicie o servidor e faça login com o personagem de teste → caminhe até o NPC posicionado → abra a loja → confirme que os itens aparecem com os preços configurados → tente uma compra → verifique no banco se o Ruud foi debitado corretamente.

Solução de Problemas Comuns

NPC não aparece no mapa:

  • Confirme que o MonsterIndex existe em Monster.txt
  • Verifique se as coordenadas estão dentro dos limites do mapa
  • Certifique-se de que o arquivo MonsterSetBase.txt não tem erros de formatação (use tabulação, não espaços)

Loja abre mas mostra itens errados:

-- Verificar se ShopCode do NPC bate com a tabela
SELECT NpcIndex, ShopCode FROM MuOnline..T_MN_NpcShopInfo WHERE NpcIndex = 658;

Ruud não é debitado após compra:

  • Verifique se a stored procedure WZ_BuyPointShopItem existe no banco
  • Confirme que a coluna Ruud na tabela Character tem tipo INT (não BIGINT)
Atenção: Sempre faça backup completo do banco de dados (MuOnline e MuOnline_Account) antes de executar qualquer UPDATE ou DELETE na tabela da loja. Um erro no WHERE pode limpar todos os preços configurados.

Perguntas frequentes

Onde fica o arquivo de configuração dos NPCs de evento no MuServer S6?

Os NPCs de evento são definidos em GameServer/Data/Monster/Monster.txt (posicionamento no mundo) e na tabela T_MN_PointShopList do banco de dados MuOnline, que armazena os itens disponíveis na loja de Ruud.

Como altero o preço de um item na loja de Ruud via SQL?

Execute UPDATE MuOnline..T_MN_PointShopList SET Price = 5000 WHERE ItemCode = 13 AND ItemIndex = 0; substituindo ItemCode e ItemIndex pelo código do item desejado e Price pelo novo valor em Ruud.

O NPC de Ruud não aparece no mapa — o que verificar?

Confirme que o NPC está listado em GameServer/Data/Monster/MonsterSetBase.txt com as coordenadas corretas do mapa, que o MonsterIndex corresponde ao NPC de loja (geralmente 658 para o Lugard no S6+), e que o servidor foi reiniciado após a alteração.

Posso limitar quais classes podem comprar na loja de Ruud?

Sim, na tabela T_MN_PointShopList existe a coluna ClassFlag onde você define um bitmask de classes permitidas. Por exemplo, valor 255 permite todas as classes; valor 1 restringe apenas a Dark Wizards (classe 0).

EQ

Equipe ViciadosMU

Equipe editorial do ViciadosMU — portal de MU Online no ar desde 2003.

Continue lendo

Artigos relacionados