Começando pela teoria:

O MAIN por padrão carrega pra sua memória 32 itens de cada tipo (espada, maxado, capacete, bota, etc.), iremos mudar o limite para o maximo suportado, que é 512. E se você ja tem um pouco de experiencia com servers já deve ter se familiarizado com os códigos de cada tipo de item, para aqueles que ainda não mexeram com isso, passarei a lista:

0 - Espadas
1 - Machados
2 - Maces e Scepters
3 - Lanças
4 - Arcos
5 - Staffs
6 - Escudos
7 - Helms
8 -Armors
9 - Pants
10 - Gloves
11 - Boots
12 - Asas, orbs, e alguns itens
13 - Misc. Itens
14 - Misc. Itens
15 - Livros

Esses numeros por enquanto podem ser ignorados, serão importantes apenas na hora de adicionar um item.

O programa que será utilizado é o OllyDbg, uma espécie de editor Hexadecimal, um pouco (muito) mais completo.
Pode ser baixado aqui: [Somente usuários registrados podem vem os links. ]

Abra o OllyDbg e clique "File>Open", selecione o main a ser editado, quando aparecer uma caixa de aviso apenas clique confirmando.

Clique com o botão direito em qualquer parte do código e clique em "Search for>All referenced text strings", na nova tela que aparece clique com o botão direito e clique em "Search for text", escreva Sword, desmarque "Case sensitive" e marque "Entire scoop", clique OK, aperte CTRL+L até achar exatamente o texto "Sword", aperte Enter ou clique duas vezes nele.


Selecione a linha que está logo abaixo, escrito "CMP EAX, 11" aperte Espaço e mude o valor 11 para 50

LEMBRANDO: Os valores que aparecem 50 nessas fotos, já estão alterados, no seu MAIN deve estar aparecendo 11, se já estiver 50, pule essa parte! Se não encontrar nem 11 nem 50, poste uma SS do que está vendo no OllyDbg que indicarei qual o valor a ser alterado, a ordem dos valores muda de versão para versão!


Role um pouco para baixo, prestando atenção, e faça o mesmo com Mace, Axe, Spear, Staff e Shield.


O limite de itens que o client suporta carregar está alterado, agora vamos adicionar um item novo.
Encontre o arquivo referente ao item que você quer adicionar .


Vou atachar nessa mensagem uma Espada, baixe o arquivo e abra o zip, vou explicar o que é cada arquivo.

Existem dois arquivos presentes:
limpid_sword.bmd
limpid_sword_t00_wp.ozj

O arquivo .bmd é o que refere ao item, e o ozj é a textura (skin) do item, nunca mude o nome do arquivo ozj ou o item ficará bugado. Lembrando que algumas armas usam mais de um arquivo .ozj, todos são indispensáveis.

Para adicionar o novo item você deve ir até a pasta Data\Item de seu client, e procurar os arquivos com nome SwordXX.bmd, a nova espada terá um numero superior à ultima espada encontrada.
Exemplo: se a ultima espada chamar Sword34.bmd, renomeie o arquivo limpid_sword.bmd para Sword35.bmd, copie então os dois arquivos do zip para a pasta Item.

Guarde o número da sua espada: 35

Agora temos que fazer tanto o client quanto o server reconhecerem o novo item, não basta apenas adicioná-la.

para o Client, abra o arquivo Item.bmd da pasta Data\Local usando um Editor BMD compátivel com a versão do seu Client. Como estamos adicionando uma espada, siga os itens que apareceram até o ultimo antes de um espaço em branco. Repare que esse último item estará na linha com um número a menos da última espada encontrada na pasta dos itens, então, como sua espada foi a 35, suas informações devem estar uma linha a menos, no caso do exemplo, linha 34, Coloque o nome que você quer para a arma, e no resto dos números copie os valores da arma acima, alterando os valores para poderem estar de acordo com o que você quer para seu item, lembrando que o valor de dano, tanto mínimo quanto máximo não podem ultrapassar 250. Salve o arquivo e vamos para o Server.

g


Já no lado do server abra o arquivo Item(kor).txt, logo os primeiros itens serão as espadas, você irá reparar que este arquivo é muito similar ao Item.bmd, editado a pouco, então o que você deve fazer não é muito diferente. Encontre a linha referente ao último item, no caso a linha que começa com o número 33, e copie a linha. Mude o valor 33 para um número a menos que o número de sua espada (no caso do exemplo, a espada é 35, use o valor 34), mude o nome do item para o nome que foi colocado no Item.bmd, e os valores atribuídos devem ser exatamente os mesmos, pois se não quem usar o item dentro do jogo seré desconectado, por isso é recomendável ficar tanto com o Item.bmd quanto com o Item(kor).txt aberto juntos, terminado de fazer as modificações nescessárias salve o arquivo e abra o server (Frizando que este arquivo é carregado pelo DataServer, então o server todo deve ser reiniciado se já estiver aberto, não basta apenas reiniciar o GameServer).


É recomendável acrescentá-lo a algum shop para testar se está funcionando, para aqueles que já editaram algum shop devem fazer noção de como fazer, para aquelas que não tem tanta experiencia, explicarei:

O código do item para um shop usado no exemplo será o seguinte:

0 34 13 7 255 1 1

Onde:
0 é o tipo do item (Espada), esse valor está listado logo no início do tópico
34 é um número a menos do que foi utilizado na pasta item
13 nivel do item (+13)
7 adicional do item (7 = +28)
255 durabilidade, coloque o mesmo valor que você definiu no server
1 1=Luck 0=Sem luck
1 1=Skill 0=Sem skill

Voi-là, entre no server e teste se seu item está lá, se seguiu o tutorial à risca ele estará.

Tutorial por: ZGMF X10A Freedom