Ir para conteúdo
  • Cadastre-se

Melhorando o workflow de edição dos arquivos dat


coldplay

Posts recomendados

Editar esses arquivos do cliente sempre foi a parte que mais me tirava o sossego enquanto trabalhava no meu projeto. Eles tem uma formatação muito sensível, possuem muitas linhas, muitas colunas, é difícil navegar no seu conteúdo, etc.
Os diversos file edit que existem são úteis e fazem o trabalho quando é necessário alguma modificação simples, mas qualquer coisa além disso vira um parto.

Antes de fazer essa conversão para XML, utilizava expressões regulares para realizar alterações em massa. E devo dizer que funciona até bem, já que esses arquivos tem uma formatação fixa, então conseguimos fazer substituições com certa facilidade.
O problema dessa abordagem é que não temos como usar uma ferramenta de controle de versão, com o git, para registrar as alterações feitas nos arquivos (pelo menos não de forma decente).

Enfim, tudo isso me fez criar dois scripts em python para fazer o seguinte:
1. Converter o conteúdo dos arquivos .dat em XML
2. Converter os arquivos XML em .dat novamente

Exemplos de como esse workflow pode ser proveitoso:
1. Editar um simples campo continua simples como no l2fileedit, mas agora podemos criar um histórico de alterações.
Aqui eu alterei o peso do item Gold Bar (3470)
 

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

2. Utilizar o poder das ferramentas unix e criar diversos scripts, como esse que encontra o item mais pesado em weapongrp

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Se você ficou curioso pelo resultado, esse item é o Shield of Victory (id 104). Seu peso é 6400.

3. Realizar alterações em massa usando um script python
Aqui estamos alterando a descrição de todos os SA do tipo Focus

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

As possibilidades são muitas. Se tiver interesse em alguma em particular, deixa nos comentários.

Download

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Feitos a partir do cliente retail interlude. A única diferença é que eles estão ordenados por ID.

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Uso

O conteúdo está oculto, favor efetuar login ou se cadastrar!


Algumas informações importantes:
- Quando o script terminar o seu trabalho, ele vai criar uma pasta com o nome "dat", lá estarão os arquivos convertidos.
- Para tentar diminuir o tamanho dos arquivos, as colunas do arquivo original que não possuem valor foram omitidas do XML, então se você quiser utilizá-las, basta criar a tag
- Ainda é necessário utilizar o l2fileedit para criptografar os arquivos. Então após utilizar o script, você terá que copiar e colar o conteúdo do arquivo. Talvez eu faça isso de forma automática em outra versão
 

Editado por coldplay
Link para o comentário
Compartilhar em outros sites






×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.