Ir para conteúdo
  • Cadastre-se

[L2jDream V2] Criando Gift Box e Random Item Box


ThiaGuinN

Posts recomendados

Primeiramente vou ressaltar aqui o excelente trabalho que estão realizando nesse projeto e salientar aqui que o sistema de extractable desenvolvido pela equipe dream está realmente fantástico.

Para começar vamos trabalhar as nossas tuplas do mysql.

INSERT INTO `custom_etcitem` VALUES ('9990', '9990', 'Gift Box', 'false', 'material', '0', 'stackable', 'steel', 'none', '100', '-1', '0', '0', 'false', 'false', 'false', 'true', '0-0;', 'false');

INSERT INTO `custom_etcitem` VALUES ('9991', '9991', 'Random Item Box', 'false', 'material', '0', 'stackable', 'steel', 'none', '100', '-1', '0', '0', 'false', 'false', 'false', 'true', '0-0;', 'false');


Nesta etapa iremos ver 2 tipos de Box.

1ª Box ela será a box em que todos ganharam o mesmo grupo de itens, esse tipo de Box é geralmente usado para substituir os itens iniciais de um personagem e esta deve ser configurada da seguinte maneira.

Abrindo o arquivo extractable_items.xml no diretório "game/data/xml/player", abra o arquivo em algum editor de texto.
Rolando até o final do arquivo vamos acrescentar as seguintes informações:


<item id="9990">
<product skillId="9990" skillLevel="1" chance="100">
<item id="1105" count="1" />
<item id="1102" count="1" />
<item id="51" count="1" />
<item id="39" count="1" />
<item id="100" count="1" />
<item id="1148" count="1" />
<item id="625" count="1" />
</product>
</item>



"Entendendo as informações a serem inseridas!"
ROXO = ID da GiftBox
AZUL = ID da Skills que fará com que a GiftBox estoure e dê os itens (Veremos logo mais)
LARANJA = ID's dos itens que serão entregues a quem estourar a Box, seguido da quantidade em 'count'
VERDE = Chance em que o grupo de itens poderá cair no inventário ao estourar a Box

Se até aqui você entendeu tudo direitinho, podemos passar para a próxima parte, onde iremos criar a skill que será responsável por estourar a nossa Gift Box.

No diretório "game\data\xml\stats\skills" crie um novo arquivo chamado 9990-9991.xml e no escopo do mesmo iremos adicionar as seguintes informações:


<?xml version="1.0" encoding="utf-8"?>
<list>
<skill id="9990" levels="1" name="Gift Box">
<set name="itemConsumeId" val="9990" />
<set name="itemConsumeCount" val="1" />
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="EXTRACTABLE" />
<set name="operateType" val="OP_ACTIVE" />
<cond msgId="129">
<and>
<player invSize="10" />
<player weight="80" />
</and>
</cond>
</skill>
</list>



"Entendendo o nosso arquivo xml 9990-9991"
Este é uma estrutura básica de uma extractable skill na JDream.
O que temos que entender é:
ROXO = Quantidade de itens que serão consumidos ao estourar a nossa Box.
AZUL = ID do item que será consumido para estourar a nossa Box (Neste podemos colocar para consumir qualquer item, porém caso opte alterar com um ID de item que não seja o da própria Box, a mesma não irá desaparecer)
LARANJA = ID da nossa extractable skill.

Bom até aqui vimos como criar uma Gift Box que dará um mesmo grupo de itens sempre em que estouremos nossa Box.

Agora iremos ver como criar o nosso segundo tipo de Box, que dei o nome de Random Item Box, ou seja neste exemplo a nossa box irá dar apenas 1 item diferente a cada vez que for estourada.

Alterando o arquivo extractable_items.xml no diretório "game/data/xml/player", vamos acrescentar a seguintes informações:


<item id="9991">
<product skillId="9991" skillLevel="1" chance="10">
<item id="26" count="1" />
</product>

<product skillId="9991" skillLevel="1" chance="10">
<item id="34" count="1" />
</product>

<product skillId="9991" skillLevel="1" chance="10">
<item id="51" count="1" />
</product>

<product skillId="9991" skillLevel="1" chance="10">
<item id="39" count="1" />
</product>

<product skillId="9991" skillLevel="1" chance="10">
<item id="68" count="1" />
</product>

<product skillId="9991" skillLevel="1" chance="10">
<item id="1148" count="1" />
</product>

<product skillId="9991" skillLevel="1" chance="10">
<item id="625" count="1" />
</product>

</item> <!-- 9991 -->



Desta maneira a nossa Box dará apenas 1 item, este item será escolhido randomicamente com 10% de chance de cair em um dos 6 itens da lista.
Agora vamos criar a skill que fará o processo de estourar essa nossa Box.
No diretório "game\data\xml\stats\skills" edite o nosso arquivo chamado 9990-9991.xml deixando-o da seguinte forma.


<?xml version="1.0" encoding="utf-8"?>
<list>
<skill id="9990" levels="1" name="Gift Box">
<set name="itemConsumeId" val="9990" />
<set name="itemConsumeCount" val="1" />
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="EXTRACTABLE" />
<set name="operateType" val="OP_ACTIVE" />
<cond msgId="129">
<and>
<player invSize="10" />
<player weight="80" />
</and>
</cond>
</skill>
<skill id="9991" levels="1" name="Random Item Box">
<set name="itemConsumeId" val="9991" />
<set name="itemConsumeCount" val="1" />
<set name="target" val="TARGET_SELF" />
<set name="skillType" val="EXTRACTABLE" />
<set name="operateType" val="OP_ACTIVE" />
<cond msgId="129">
<and>
<player invSize="10" />
<player weight="80" />
</and>
</cond>
</skill>
</list>



Agora vamos fechar com chave de ouro editando os nossos arquivos etcitemgrp.dat e itemname-e.dat dentro da nossa system.
Com um editor de system, vamos abrir os arquivos citados acima e vamos adicionar ao fim de cada arquivos as seguintes informações. Não esqueça que a ultima linha de todos os arquivos da system devem ser em brancos.

Neste exemplo estarei utilizando L2 File Edit ++ V2

itemname-e.dat


9990 Gift Box Mage a,Double-click to see the change.\0 -1 a, a, a, a, 0 0 0 a,
9991 Random Item Box Fighter a,Double-click to see the change.\0 -1 a, a, a, a, 0 0 0 a,



etcitemgrp.dat


2 9990 0 3 2 5 0 dropitems.drop_jewel_box_m00 dropitemstex.drop_jewel_box_t00 icon.etc_treasure_box_i06 0 100 0 0 0 1 1 ItemSound.itemdrop_sack 2 0 0
2 9991 0 3 2 5 0 dropitems.drop_jewel_box_m00 dropitemstex.drop_jewel_box_t00 icon.etc_treasure_box_i06 0 100 0 0 0 1 1 ItemSound.itemdrop_sack 2 0 0



E pronto agora podemos testar as nossas GB e RIB.

Segue as prints de como ficou nosso trabalho.


Shot00025.png
Shot00026.png
Shot00027.jpg
Shot00028.jpg



Peço perdão, pois da hora de criar os personagens acabei trocando os nomes.

Bom é isso ai galera, espero ter tirado duvidas e ajudado alguém.

Link para o comentário
Compartilhar em outros sites


Muito bom. Estamos evoluindo, isto sim é conteúdo, bom eu já sei fazer, mas quem não sabe vai aprender, porque está bem explicado...

 

Vou dar uma ideia de custom que estou adotando com este método.

 

Ex: criando a Titanium

 

Após o set criado na DB e nos arquivos do servidor+client.

O método de criação para os players será por recipes, aqui no forum eu ja postei um tuto de como fazer recipes.

Os itens para criar o set, Devem ser postos no extratable itens com chances de 5% os principais e 1% as partes de baixa quantidade, de resto deve ser compensado com a quantidade extraída.

Assim, com este método, não é preciso criar uma drop list enorme nos mobs, basta adicionar o BOX, e usar o comando em SQL que adiciona drop a todos os mobs do mapa ou em outro tipo de NPC, outra coisa bem fácil e útil.

 

É isso ai, fica a dica, e mais uma vez parabéns por compartilhar o conhecimentos...

Editado por demonika

CYeAxaZ.png


L2JDREAM PROJECT TEAM

Link para o comentário
Compartilhar em outros sites

Um belo tutorial eu tambem ja sabia fazer , isso é muito util para eventos em data comemorativas ou até mesmo os automaticos

Fica a dica

 

Aquele que aprendeu e reviveu aqui na l2jbrasil

Faço muitos trabalhos para esta comunidade, assim como tambem ajudo aos que precisão.

A VIDA E UMA CAIXINHA DE SUPRESAS, NAO DEIXE PARA DEPOIS O QUE PODES FAZER AGORA!

 

Link para o comentário
Compartilhar em outros sites

  • 1 year later...

e se eu quiser colocar uma chave para abrir este Bau?

 

Exemplo:

 

Tenho o Bau, a skill que sera redirecionada pro extractable items, mas eu queria que para abrir este bau fosse necessario uma Key, certo terei que adicionar outro consume item na skills? certo?

 

Como farei isto funcionar?

Em breve novidades...

Link para o comentário
Compartilhar em outros sites

  • 9 months later...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • 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.