Criando um MOD para Diablo 2 – LOD

Neste post mostrarei como criar um mod (modificação) para o jogo Diablo 2: Lord of Destruction. Será algo simples, mas é possível aproveitar a ideia e o conhecimento para algo mais avançado.

A modificação em questão tem por finalidade duplicar os itens abaixo usando o Cubo Horádrico:

  • 1 anel -> 2 anéis;
  • 1 amuleto -> 2 amuletos;
  • 1 gema perfeita (topázio, ametista, etc) -> 2 gemas perfeitas;
  • 1 jóia -> 2 jóias;
  • 1 runa -> 2 runas;
  • Ao colocar qualquer item supracitado no cubo e clicar em transmutar, o mesmo será duplicado.

    PROGRAMAS NECESSÁRIOS

    Stormless MPQ Editor – Para extrair os arquivos que serão alterados dos .mpq.
    Diablo II Tab Sheet Editor ou D2Excel – Para editar o arquivo texto separado por tabulações.

    Obs.: Como estes links de diablo 2 estão sempre quebrando, abaixo há dois links contendo os programas necessários e o cubemain.txt alterado.

    Link¹: http://sharebee.com/4a6af4c0
    Link²: http://www.multiupload.com/BGOCHQDK7Z

    EXTRAINDO ARQUIVO DO CUBO HORÁDRICO

    Os arquivos .mpq armazenam os conteúdos do jogo, desde itens até os filmes que aparecem no avanço de ato. O que nós faremos é extrair o arquivo responsável pelas configurações do cubo horádrico (que é adquirido em uma missão do ato 2), alterá-lo e fazer com que este arquivo seja carregado ao iniciar o jogo.

    1. Crie um diretório para armazenar as ferramentas e arquivos usados no processo de criação, será como uma cópia de segurança para não danificar os arquivos originais do jogo. No exemplo irei usar o diretório MODD2 na minha área de trabalho.

    1.1. Copie o arquivo Patch_D2.mpq (que está no diretório de instalação do Diablo 2 Lod – geralmente C:\Arquivos de programas\Diablo II) para o diretório MODD2 criado na área de trabalho.

    1.2. Extraia o Stormless MPQ Editor para o diretório MODD2.

    1.3. Acrescente a linha abaixo ao arquivo mpql.txt, que vem junto com o MPQ Editor:

    data\global\excel\cubemain.txt

    Salve e feche. O arquivo deve ficar mais ou menos assim:

    (listfile)
    ...
    data\global\excel\CharTemplate.txt
    data\global\excel\Composit.txt
    data\global\excel\cubemain.txt
    data\global\excel\difficultylevels.txt
    data\global\excel\experience.txt
    ...

    O MPQ Editor usa este arquivo para saber o que extrair do arquivo .mpq. Como vamos alterar as propriedades do cubo horádrico precisamos inserir a linha citada para que o arquivo referente ao cubo seja extraído.

    1.4. Execute o MPQ Editor e através dele abra o arquivo Patch_D2.mpq presente no diretório de trabalho (MODD2).

    1.5. Selecione todos os arquivos listados, clique com o botão direito na lista selecionada e vá na opção Extract with path.. e então escolha o diretório MODD2, como na imagem abaixo:

     

     

    O programa irá extrair os arquivos e fechar automaticamente.

    1.6. Entre no diretório MODD2\data\global\excel que foi extraído pelo MPQ Editor.

    Neste diretório estão alguns arquivos responsáveis por dados estáticos no jogo. Como exemplo, podemos citar o número máximo de pergaminhos que um tomo suporta (20) ou o número máximo de chaves juntas (12). É possível mudar estes valores bastando buscar o arquivo e o valor correto. Como o que interessa no momento é o cubo, iremos focar somente no arquivo cubemain.txt.

    CRIANDO NOVAS FÓRMULAS DE TRANSMUTAÇÃO

    2. Estes arquivos do diretório data\global\excel são arquivos sem formatação e separados por tabulações. Para editá-los, vamos usar o programa Diablo II Tabsheet Editor. Execute o Tabsheet Editor e através dele abra o arquivo “cubemain.txt”, como na imagem abaixo:

     

     

    2.1. Vamos começar duplicando as gemas.

    Com o cubemain.txt aberto no Tablesheet Editor, vá no menu Edit > Insert Row para inserir uma nova linha.
    A ordem em que a linha é inserida não interfere, eu preferi deixar todas as alterações que fiz antes de todas as linhas padrão.

    2.2. Clique no botão Edit para começar a editar os campos da linha em branco. Preencha as colunas correspondentes conforme a imagem abaixo:

     

     

    A imagem acima foi alterada para mostrar somente as colunas que usaremos no mod, ou seja, as colunas não estarão na sequência apresentada acima. Você deve olhar o nome da coluna (description, version, etc) e acrescentar o valor referente a ela. Não é necessário preencher as outras colunas.

    As colunas que nos interessam para o mod são:

  • Description: é a descrição da transmutação que será realizada, não tem efeito no jogo, é só para auxiliar na documentação/manutenção;
  • Enabled: irá habilitar (1) ou desabilitar (0) a transmutação. Obviamente, usaremos somente 1;
  • Version: (0) para diablo 2 e expansão e (100) para expansão somente. Como o mod irá duplicar runas (adicionadas através da expansão), sempre usaremos valores 100 nesta coluna;
  • NumInputs: número de quadradinhos que nossos itens irão ocupar no cubo horádrico no início da transmutação. Nós iremos duplicar itens que ocupam somente um quadrado no cubo (amuleto, jóia, runa), então usaremos somente 1 nesta coluna;
  • Input 1: código do item de entrada, é o item que coloco no cubo para transmutação. A obtenção do código será explicada adiante;
  • Output: item que resultará após a transmutação. Usaremos o valor useitem, com ele o item será copiado tal qual está no input, sem alteração de atributos;
  • Output b: outro item que resulta após a transmutação. Também usaremos o valor useitem neste campo;
  • 2.3. Na imagem anterior foi mostrado quais dados inserir para que ocorra a duplicação do item (um topázio perfeito, neste caso). No campo input temos o valor gpy. Este valor foi retirado do arquivo gems.txt que foi extraído do Patch_D2.mpq juntamente com o cubemain.txt.

    Ao abrir o gems.txt com o Tabsheet Editor, temos a imagem abaixo:

     

     

    Neste arquivo estão presentes os códigos de gemas e runas. Para pegar os códigos de jóias, amuletos e anéis, devemos abrir o arquivo misc.txt no mesmo diretório. Os códigos ficam armazenados na coluna code destes arquivos.

    2.4. Depois de ter criado a linha para o topázio perfeito é necessário fazer para os outros items. O processo para os itens que iremos alterar é idêntico, o que muda é só o valor do código do item na coluna input e a descrição da transmutação. Então termine as gemas e faça as runas, pois não irei abordar cada item.

    2.5. Agora vamos para anel, amuleto e jóia. Procure o respectivo código no arquivo misc.txt (este arquivo também contém informações sobre os mercadores da cidade, itens a venda, preço dos itens, etc). A diferença do processo anterior é que o campo input terá o código seguido do tipo de anel, amuleto ou jóia.

    Como queremos duplicar qualquer destes itens, usaremos any. E por ser um campo com mais de um dado, deve estar entre aspas. Abaixo está o valor de input do amuleto, para exemplo:

    “amu,any”

    2.6. Faça o mesmo para anel e jóia: “código,any”. Abaixo temos o resultado de tudo isso:

     

     

    EXECUTANDO O MOD

    3. Como foi dito antes, precisamos fazer o jogo carregar os arquivos alterados (neste caso, apenas um – cubemain.txt).

    Para isso, é necessário criar o diretório data\global\excel dentro do diretório de instalação do Diablo 2. Após fazer isso, copie o arquivo cubemain.txt para dentro do diretório C:\Arquivos de programas\Diablo II\data\global\excel\. Sempre que for alterar algo no jogo e editar os arquivos de texto, deve colocá-los neste diretório.

    3.1. Com o arquivo no local correto, devemos forçar o jogo a ler as configurações dos arquivos presentes em data\global\excel, e para que isso aconteceça acrescente os parâmetros -direct -txt ao atalho do Diablo 2 – Lord of Destruction, ou então crie um atalho para o comando abaixo:

    “C:\Arquivos de programas\Diablo II\Diablo II.exe” -direct -txt

    Deixando assim:

     

     

    3.2. Agora é só jogar. Para testar, coloque um anel, jóia, amuleto, runa ou gema perfeita no cubo horádrico e clique em transmutar. Se tudo ocorreu corretamente você terá dois itens idênticos. Veja no gif abaixo:

     

     

    Obs.: No gif acima estou fazendo o uso de mais dois mods além do tratado no post: PlugY, The Survival Kit 9.00 para baú infinito e cubo horádrico maior, entre outras funções, e Giga Inventory 1.10 que aumenta o inventário do personagem.

    INSTALANDO OUTROS MODS JUNTO COM O PLUGY

    Plugy é um mod interessante pois acrescenta muitas páginas ao seu baú, cria um baú compartilhado entre personagens, permite refazer habilidades e atributos, e outras funções. Então não precisa mais escolher entre guardar o item x ou y, fique com os dois :).

    Talvez isto tire um pouco da estratégia do jogo em que você precisa sacrificar alguns itens escolhendo outros, mas mesmo assim ainda acho-o um mod muito útil.

    4. Para instalar outros mods (como o do post) juntamente com o Plugy, faça o seguinte:

    Ao invés de criar o diretório “\data\global\excel” dentro do diretório de instalação do jogo, crie-o dentro do diretório Mod PlugY.

    4.1. Abra o PlugY.ini que está dentro do diretório Mod PlugY. Altere a linha Param= para Param=-direct -txt como mostrado abaixo:

    ;"PlugY, The Survival Kit";
    ;Configuration file;
    ;
    [LAUNCHING]
    Param=-direct -txt
    Library=PlugY.dll
    [GENERAL]
    ..

    4.2. E para rodar o jogo, crie um atalho para C:\Arquivos de programas\Diablo II\Mod PlugY\PlugY.exe. O plugy.exe que irá carregar o jogo e já o faz com os parâmetros -direct e -txt, carregando os outros mods.

    DIABLO 2 NO LINUX

    Apesar de Diablo ser um jogo para Windows, é possível jogar no Linux tranquilamente por meio do Wine. Leia o artigo do Morimoto para rodar o Diablo 2 no Linux.

    Referências

    [1] – Tive a ideia de fazer o post sobre o assunto após ver o BWs Drop N Dupe Mod for Diablo II and LoD. Este mod além de duplicar qualquer item (armas, escudos, anéis, etc) com o cubo, ele também altera a qualidade/quantidade dos itens dropados (itens que caem ao matar um monstro), vende runas nos mercadores, e cria socket em qualquer item ao usar o item + 2 runas no cubo. Só não gostei da alteração nos preços dos itens vendidos: todos com o valor de 1 ouro.

    [2] – Outra ótima fonte de consulta para quem quiser saber mais sobre criação de mods para Diablo 2 LOD é em The Beginner’s Guide to Mod Making for Diablo 2 LOD. O arquivo contém “exercícios” simples, onde cada um corresponde a uma modificação diferente (valor de itens vendidos, editar habilidades, etc).

    Marcado com: ,
    Publicado em windows/linux
    10 comentários em “Criando um MOD para Diablo 2 – LOD
    1. Camilla Porto disse:

      Olá curti muito sobre o cubo almentar de tamanho só que infelismente não consegui fazê-lo já baixei tudo então gostaria que me mandasse por e-mail umas dicas e sugestões para que eu veja o que estou fazendo de errado.
      ainda nao entendi o que é o diretório.

      • eddye disse:

        Camila,

        o objetivo do post é somente duplicar itens e não aumentar o tamanho do cubo. Para aumentá-lo, use o mod Giga Inventory (download aqui). A instalação deste mod é idêntica a instalação do mod criado no post.

        Quando falo de diretórios, no caso do Windows, estou me referindo a criação de pastas. Para mais informações sobre o que é diretório, leia isso.

        Se ainda tiver problemas, explique o que está fazendo para que possamos encontrar o erro.

    2. joao marcos disse:

      Ola tudo bom,sou operador de um sever de diablo e gostariamos de criar mas Runewords exclusivas nossas
      vocis poderiam me dar uma ajuda indicar um editor disso
      eo processo

      Obrigado pela ateção

      • eddye disse:

        No passo 1.3, veja se não existe alguma informação relacionada as runewords (algo como data\global\excel\runeword.txt). Se tiver, terá que editar esse arquivo.

        Só pesquisando mesmo…

    3. gabriel disse:

      Isso funciona no modo Single player pq não ta dando certo tem outro modo para ele???

      • eddye disse:

        O post foi testado em single player e usando o /players x (sendo que x varia de 1 a 8, para aumentar a dificuldade, resultando em itens melhores).

        Provavelmente, se entrar com algum mod na battle.net terá sua key banida.

    4. gariba disse:

      gostei muito das dicas, fiz tudo corretamente mas estou com dificuldade no final, ao copiar o arquivo do cubo para dentro do jogo, nao encontro a pasta “data”(C:\Arquivos de programas\Diablo II\data\global\excel\.) tem como me ajudar nesse processo?
      muito obrigado!!!!

      • eddye disse:

        Claro! Por padrão o diretório Diablo II\data\global\excel não existe. Crie-o manualmente e copie o arquivo para lá. No momento em que iniciar o jogo com os parâmetros especificados no artigo, ele iniciará com as configurações encontradas neste arquivo.

        Qualquer problema, avise 😉

    5. jhonny disse:

      poderia explicar mais detalhadamente como criar o bau infinito.

      • eddye disse:

        jhonny, o baú infinito é conseguido através do Mod Plugy. Com uma rápida pesquisa no google você acha o link pra download e como instalar.

    Deixar mensagem para eddye Cancelar resposta