Ir para conteúdo
  • Cadastre-se

[Tutorial] Criando sua propria Dual.


Kelvin

Posts recomendados

tem tuto ensinando pra gracia final?

Faço o que posso com o que eu tenho, Saber é Poder,

Sabedoria é a maior riqueza que temos, não importa se ela é boa ou ruim o que importa é como a usaremos.

Link para o comentário
Compartilhar em outros sites


acho que nao! tanto que o weapongrp da erro

 

0 900001 1 1 6 1 0 LineageWeapons.vesper_cutter_m00_wp LineageWeapons.vesper_cutter_m00_wp LineageWeaponsTex.vesper_cutter_t00 LineageWeaponsTex.vesper_cutter_t00 0 0 0 0 0 1 1 0 icon.weapon_dual_sword_i00 icon.weapon_vesper_shaper_i00 icon.weapon_sirr_blade_i00 -1 1520 8 1 0 0 1 icon.pvp_tab 14 3 2 LineageWeapons.vesper_cutter_m00_wp LineageWeapons.vesper_cutter_m00_wp 2 1 3 LineageWeaponsTex.vesper_cutter_t00 LineageWeaponsTex.vesper_cutter_t01 4 ItemSound.public_sword_shing_8 ItemSound.sword_great_4 ItemSound.sword_mid_2 ItemSound.public_sword_shing_4 ItemSound.itemdrop_dualsword ItemSound.itemequip_dualsword 10 482 176 8 7 8 0 0 0 0 325 0 1 1 1000 0 -1 0 LineageEffect.c_u006 LineageEffect.c_u004 3.00000000 0.30000001 0.00000000 0.00000000 0.00000000 0.00000000 0.80000001 1.00000000 1.00000000 1.29999995 LineageWeapons.rangesample LineageWeapons.rangesample 1.39999998 0.80000001 0.80000001 1.50000000 0.80000001 0.80000001 12.00000000 0.0
Editado por heero

Faço o que posso com o que eu tenho, Saber é Poder,

Sabedoria é a maior riqueza que temos, não importa se ela é boa ou ruim o que importa é como a usaremos.

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 1 month later...

Bem pessoal, já que tem algumas pessoas me pedindo para mim fazer um tuto de como fazer uma Dual, ta ai é um pouco complexo/avançado, então se você mal consegue adicionar um item feito no teu L2, por enquanto não recomendo fazer isso, para não surgirem perguntas triviais..

 

Primeira coisa que tem que ser estabelecida é o ID e o nome da arma!

Vamos por um ID e um nome Simples.

ID: 24569

NOME: Dual Master

 

Para fazer uma arma funcionar no servidor tem que ter 4 coisas basicas:

XML

SQL

Weapongrp.dat

Intemname.dat

 

Vamos Fazer primeiro a SQL, mudando de versão para versão a SQL também muda as vezes as colunas e valores.

Irei usar aqui uma SQL para Interlude.

Abra um documento no bloco de notas e coloque o seguinte dentro dele.

 

 

Clique em Salvar e nomeie esse documento para Dual Master.sql

 

Agora faremos a XML.

 

Abra outro documento no Bloco de notas ponha o seguinte dentro.

 

 

 

Clique em salvar e nomeie o arquivo para 24569-24580.xml.

 

Pronto XML e SQL Feitas agora faremos os arquivos .dat que definiram as armas que serão feitas...

 

Primeiro faremos o arquivo itemname.dat pegue a linha abaixo, abra o L2FileEdit e abra o seu Itemname.dat

Ponha o seguinte codigo dentro.

 

 

Você pode alterar os textos depois q enserido no Itemname e visto q n deu erro n hora de adicionar.

 

Agora faremos o Weapongrp.dat

 

Primeira coisa que te que fazer e Saber qual será a arma que você fara uma Dual.

Vamos pegar a Dagger Icarus.

 

Abra o Bloco de Notas e ponha o seguinte Codigo dentro.

Esse codigo é da Dual de Pole Icarus que alteraremos os valores e colocaremos os do exemplo 2 para formar o exemplo 3.

 

 

Cuidado selecione tudo para não dar erro na hora de adicionar...

O codigo acima é de uma dual de Pole que eu fiz, mais está relacinado em cores para você saber onde por cada linha.

 

Agora mostrarei o Codigo da Dagga Icarus normal para vocês substituirem as linhas de cada cor correspondente no codigo para obter a sua Dual.

 

 

 

No caso o codigo da nossa Dual Ficaria assim.

 

 

 

Pronto com esse codigo acima você pega de uma ponta a outra e coloca no seu Weapongrp.dat

Se vc fez certo vai salvar blz sem dar nenhum erro.

Dentro do jogo é só digitar //create_item 24569

 

Lembrando ai que tudo é imaginario... então não vão socar essas coisas e pensarem q tem uma Dual =D

 

Kelvin, All Right Reserved. (lol).

 

 

 

Proibida a reprodução mesmo que em partes desse tutorial sem a publicação dos devidos créditos de criação

Garantido pela Constituição da República Federativa do Brasil, de 05 de outubro de 1988

Portaria MCT n° 88, de 23/04/98

Propriedade Intelectual

 

O Kelvin Muda a Cor da Dual Numero 2 Por que Confundi Ali akele Azul que mal da para ve na Tela Verde Aki ,Edita o Topico e poe Cor da Arma 1 e a Arma 2 Onde elas Entra e a Cor para os Icones de Cada um por que isso que confundi nois ai e outra ja posta a weapon em .txt para baixa que ai nois ja usa a sua como Base Plisss Responde ae...

creditsbymaycom.png

javaxd.gif

Metas: 100 Post's (X) 300 Post's (X) 700 Post's ( ) -> Monitor ( )

<object width="238" height="250"><param name="flashvars" value="xmlurl=data.xml"></param><param name="movie" value="

http://media.viz.com/widget/kakashi.swf"></param><embed'>http://media.viz.com/widget/kakashi.swf"></param><embed type="application/x-shockwave-flash" src="http://media.viz.com/widget/kakashi.swf" flashvars="xmlurl=data.xml" width="238" height="250"></embed></object>

Link para o comentário
Compartilhar em outros sites

Bem pessoal, já que tem algumas pessoas me pedindo para mim fazer um tuto de como fazer uma Dual, ta ai é um pouco complexo/avançado, então se você mal consegue adicionar um item feito no teu L2, por enquanto não recomendo fazer isso, para não surgirem perguntas triviais..

 

Primeira coisa que tem que ser estabelecida é o ID e o nome da arma!

Vamos por um ID e um nome Simples.

ID: 24569

NOME: Dual Master

 

Para fazer uma arma funcionar no servidor tem que ter 4 coisas basicas:

XML

SQL

Weapongrp.dat

Intemname.dat

 

Vamos Fazer primeiro a SQL, mudando de versão para versão a SQL também muda as vezes as colunas e valores.

Irei usar aqui uma SQL para Interlude.

Abra um documento no bloco de notas e coloque o seguinte dentro dele.

 

 

Clique em Salvar e nomeie esse documento para Dual Master.sql

 

Agora faremos a XML.

 

Abra outro documento no Bloco de notas ponha o seguinte dentro.

 

 

 

Clique em salvar e nomeie o arquivo para 24569-24580.xml.

 

Pronto XML e SQL Feitas agora faremos os arquivos .dat que definiram as armas que serão feitas...

 

Primeiro faremos o arquivo itemname.dat pegue a linha abaixo, abra o L2FileEdit e abra o seu Itemname.dat

Ponha o seguinte codigo dentro.

 

 

Você pode alterar os textos depois q enserido no Itemname e visto q n deu erro n hora de adicionar.

 

Agora faremos o Weapongrp.dat

 

Primeira coisa que te que fazer e Saber qual será a arma que você fara uma Dual.

Vamos pegar a Dagger Icarus.

 

Abra o Bloco de Notas e ponha o seguinte Codigo dentro.

Esse codigo é da Dual de Pole Icarus que alteraremos os valores e colocaremos os do exemplo 2 para formar o exemplo 3.

 

 

Cuidado selecione tudo para não dar erro na hora de adicionar...

O codigo acima é de uma dual de Pole que eu fiz, mais está relacinado em cores para você saber onde por cada linha.

 

Agora mostrarei o Codigo da Dagga Icarus normal para vocês substituirem as linhas de cada cor correspondente no codigo para obter a sua Dual.

 

 

 

No caso o codigo da nossa Dual Ficaria assim.

 

 

 

Pronto com esse codigo acima você pega de uma ponta a outra e coloca no seu Weapongrp.dat

Se vc fez certo vai salvar blz sem dar nenhum erro.

Dentro do jogo é só digitar //create_item 24569

 

Lembrando ai que tudo é imaginario... então não vão socar essas coisas e pensarem q tem uma Dual =D

 

Kelvin, All Right Reserved. (lol).

 

 

 

Proibida a reprodução mesmo que em partes desse tutorial sem a publicação dos devidos créditos de criação

Garantido pela Constituição da República Federativa do Brasil, de 05 de outubro de 1988

Portaria MCT n° 88, de 23/04/98

Propriedade Intelectual

 

O Kelvin Muda a Cor da Dual Numero 2 Por que Confundi Ali akele Azul que mal da para ve na Tela Verde Aki ,Edita o Topico e poe Cor da Arma 1 e a Arma 2 Onde elas Entra e a Cor para os Icones de Cada um por que isso que confundi nois ai e outra ja posta a weapon em .txt para baixa que ai nois ja usa a sua como Base Plisss Responde ae...

 

MAUS AI LEG NET FLOODO O POST...

Editado por Maycom13

creditsbymaycom.png

javaxd.gif

Metas: 100 Post's (X) 300 Post's (X) 700 Post's ( ) -> Monitor ( )

<object width="238" height="250"><param name="flashvars" value="xmlurl=data.xml"></param><param name="movie" value="

http://media.viz.com/widget/kakashi.swf"></param><embed'>http://media.viz.com/widget/kakashi.swf"></param><embed type="application/x-shockwave-flash" src="http://media.viz.com/widget/kakashi.swf" flashvars="xmlurl=data.xml" width="238" height="250"></embed></object>

Link para o comentário
Compartilhar em outros sites

Aki ta Ruim oia o Jeito que ta e eu so tentei altera a a Vesper existente no Servidor mais nao Deu certo Como eu arrumo isso ai.

 

Minha Weapongrp onde eu Errei Alguem Ajuda eu Edita o Txt que Enviei Abaixo:

0	52	1	1	7	45	0	LineageWeapons.vesper_cutter_m00_wp	LineageWeapons.vesper_slasher_m00_wp		LineageWeaponsTex.vesper_cutter_t00	LineageWeaponsTex.vesper_cutter_t01	LineageWeaponsTex.vesper_slasher_t00		0	0	0	0	0	2	1	0	icon.weapon_dual_sword_i00	icon.weapon_vesper_cutter_i00	icon.weapon_vesper_slasher_i01			-1	1520	8	1	7780134	0		1		7	3	2	LineageWeapons.vesper_cutter_m00_wp	LineageWeapons.vesper_slasher_m00_wp	2	1	3	LineageWeaponsTex.vesper_cutter_t00	LineageWeaponsTex.vesper_cutter_t01	LineageWeaponsTex.vesper_slasher_t00		4	ItemSound.public_sword_shing_8	ItemSound.sword_great_4	ItemSound.sword_mid_2	ItemSound.public_sword_shing_4	ItemSound.itemdrop_dualsword	ItemSound.itemequip_dualsword		10	482	176	8	7	8	0	0	0	0	325	0	1	1	1000	0	-1	0	LineageEffect.c_u006	LineageEffect.c_u004	3.00000000	0.30000001	0.00000000	0.00000000	0.00000000	0.00000000	0.80000001	1.00000000	1.00000000	1.29999995	LineageWeapons.rangesample	LineageWeapons.rangesample	1.39999998	0.80000001	0.80000001	1.50000000	0.80000001	0.80000001	12.00000000	0.00000000	0.00000000	11.50000000	0.00000000	0.00000000	6	4	-1	-1				

 

SS:

imagemdpa.jpg

 

Weapongrp.txt da Minha Weapon Edit e se alguem poder mi ajuda edita essa apra aparece e duplica essa weapon txt para uma que tenha 2 de titan eu agradeco muito se alguem mi ajuda

 

Download: Weapongrp

creditsbymaycom.png

javaxd.gif

Metas: 100 Post's (X) 300 Post's (X) 700 Post's ( ) -> Monitor ( )

<object width="238" height="250"><param name="flashvars" value="xmlurl=data.xml"></param><param name="movie" value="

http://media.viz.com/widget/kakashi.swf"></param><embed'>http://media.viz.com/widget/kakashi.swf"></param><embed type="application/x-shockwave-flash" src="http://media.viz.com/widget/kakashi.swf" flashvars="xmlurl=data.xml" width="238" height="250"></embed></object>

Link para o comentário
Compartilhar em outros sites

error!

 

ADM adiciona a opçao deletar pra se postar 2 post iguais nos podermos deletar!

Editado por heero

Faço o que posso com o que eu tenho, Saber é Poder,

Sabedoria é a maior riqueza que temos, não importa se ela é boa ou ruim o que importa é como a usaremos.

Link para o comentário
Compartilhar em outros sites

0 52 1 1 7 45 0 LineageWeapons.vesper_cutter_m00_wp LineageWeapons.vesper_cutter_m00_wp LineageWeaponsTex.vesper_cutter_t00 LineageWeaponsTex.vesper_cutter_t00 LineageWeapons.vesper_cutter_m00_wp 0 0 0 0 0 2 1 0 icon.weapon_dual_sword_i00 icon.weapon_vesper_shaper_i00 icon.weapon_vesper_cutter_i01 -1 1520 8 1 7A5278C 0 1 7 3 2 LineageWeapons.vesper_cutter_m00_wp LineageWeapons.vesper_cutter_m00_wp 2 1 3 LineageWeaponsTex.vesper_cutter_t00 LineageWeaponsTex.vesper_cutter_t01 LineageWeaponsTex.sirr_blade_t00_wp 4 ItemSound.public_sword_shing_8 ItemSound.sword_great_4 ItemSound.sword_mid_2 ItemSound.public_sword_shing_4 ItemSound.itemdrop_dualsword ItemSound.itemequip_dualsword 10 482 176 8 7 8 0 0 0 0 325 0 1 1 1000 0 -1 0 LineageEffect.c_u006 LineageEffect.c_u004 3.00000000 0.30000001 0.00000000 0.00000000 0.00000000 0.00000000 0.80000001 1.00000000 1.00000000 1.29999995 LineageWeapons.rangesample LineageWeapons.rangesample 1.39999998 0.80000001 0.80000001 1.50000000 0.80000001 0.80000001 12.00000000 0.00000000 0.00000000 11.50000000 0.00000000 0.00000000 6 4 -1 -1

 

 

esta correto?

aki da que o item nao existe!

a SQL uso a mesma do tuto?

 

 

PS: é pra gracia final!

Editado por heero

Faço o que posso com o que eu tenho, Saber é Poder,

Sabedoria é a maior riqueza que temos, não importa se ela é boa ou ruim o que importa é como a usaremos.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

olaaaaaaááááááá

alguem ai?

Faço o que posso com o que eu tenho, Saber é Poder,

Sabedoria é a maior riqueza que temos, não importa se ela é boa ou ruim o que importa é como a usaremos.

Link para o comentário
Compartilhar em outros sites

Nao heroo Vc Tem Que Mudar o Intemname , Weapongrp e a SQL. Pq A Do Tuto Se Mim Lmebre Foi INterlude nO seu caso e Gracia final e os arquivos sao completamente diferente.

<img src="http://i51.tinypic.com/2d19zd0.png" border="0" class="linked-sig-image" />

2zyhrv5.jpg

<b>Eu Apoio a Campanha :</b>

assuf0.gif

Lambda Art Deviantart

Link para o comentário
Compartilhar em outros sites

  • 7 months later...

0 20026 1 1 15 5 0 Lavamond_Saw_m00_wp.Lavamond_Saw_m00_wp l2ITweaponTex.Lavamond_Saw_t00 l2weaponicon.weapon_Lavamond_Saw_i00 -1 1800 8 1 0 14 2 1 Lavamond_Saw_m00_wp.Lavamond_Saw_m00_wp 1 l2ITweaponTex.Lavamond_Saw_t00 4 ItemSound.hammer_2 ItemSound.sword_great_3 ItemSound.sword_mid_2 ItemSound.public_sword_shing_10 ItemSound.itemdrop_sword ItemSound.itemequip_sword 10 463 192 1 5 8 0 0 0 0 325 0 1 1 1000 0 -1 0 LineageEffect.bo_ice_fairy_co 0.000000 0.000000 0.000000 1.500000 1.500000 LineageWeapons.rangesample 2.000000 1.500000 1.500000 10.000000 0.000000 0.000000 4 -1 -1 -1 l2weaponicon.weapon_Lavamond_Saw_i00

 

 

 

So falta na hora de editar a weapongrp é a parte mais dificil sera que alguem pode me ajudar aki na hora ponhar essa arma pra ficar dual ?

Link para o comentário
Compartilhar em outros sites

0 20026 1 1 15 5 0 Lavamond_Saw_m00_wp.Lavamond_Saw_m00_wp l2ITweaponTex.Lavamond_Saw_t00 l2weaponicon.weapon_Lavamond_Saw_i00 -1 1800 8 1 0 14 2 1 Lavamond_Saw_m00_wp.Lavamond_Saw_m00_wp 1 l2ITweaponTex.Lavamond_Saw_t00 4 ItemSound.hammer_2 ItemSound.sword_great_3 ItemSound.sword_mid_2 ItemSound.public_sword_shing_10 ItemSound.itemdrop_sword ItemSound.itemequip_sword 10 463 192 1 5 8 0 0 0 0 325 0 1 1 1000 0 -1 0 LineageEffect.bo_ice_fairy_co 0.000000 0.000000 0.000000 1.500000 1.500000 LineageWeapons.rangesample 2.000000 1.500000 1.500000 10.000000 0.000000 0.000000 4 -1 -1 -1 l2weaponicon.weapon_Lavamond_Saw_i00

 

 

 

So falta na hora de editar a weapongrp é a parte mais dificil sera que alguem pode me ajudar aki na hora ponhar essa arma pra ficar dual ?

 

Tenta esse:

weapongrp.txt

Link para o comentário
Compartilhar em outros sites

  • 5 months later...
  • 2 weeks later...

Não salva no file edit, estou fazendo alguma coisa errada alguem poderia me corrigir ??? obrigado atenciosamente.

 

0	36586	1	1	6	1	0	LineageWeapons.Lavamond_Saw_m00_wp	LineageWeapons.Lavamond_Saw_m00_wp		LineageWeaponsTex.Lavamond_Saw_t00	LineageWeaponsTex.Lavamond_Saw_t01	LineageWeaponsTex.Lavamond_Saw_t00	LineageWeaponsTex.Lavamond_Saw_t01			0	0	0	0	0	1	1	0	icon.weapon_dual_sword_i00	icon.weapon_lavamond_saw_i00	icon.weapon_lavamond_saw_i00			-1	2010	47	1	0	0		1		7	3	2	LineageWeapons.Lavamond_Saw_m00_wp	LineageWeapons.Lavamond_Saw_m00_wp	1	1	2	LineageWeaponsTex.Lavamond_Saw_t00	LineageWeaponsTex.Lavamond_Saw_t01	LineageWeaponsTex.Lavamond_Saw_t00	LineageWeaponsTex.Lavamond_Saw_t01			4	ItemSound.public_sword_shing_8	ItemSound.sword_great_4	ItemSound.sword_mid_2	ItemSound.public_sword_shing_4	ItemSound.itemdrop_dualsword	ItemSound.itemequip_dualsword		10	542	192	8	7	8	0	0	0	0	325	0	1	1	1000	0	-1	0	LineageEffect.c_u004	LineageEffect.c_u004	0.00000000	0.00000000	0.00000000	0.00000000	0.00000000	0.00000000	1.00000000	1.00000000	1.29999995	1.29999995	LineageWeapons.rangesample	LineageWeapons.rangesample	1.39999998	0.80000001	0.80000001	1.50000000	0.80000001	0.80000001	12.00000000	0.00000000	0.00000000	11.50000000	0.00000000	0.00000000	6	4	-1	-1	-1	-1				

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

cara , nao to conseguindo , no meu server nao tem armas icarus assim complica tudo. oq eu faço ?

Contatos :

Orkut : [email protected] ( Não Jogo o L2 Killer Mais. )

Msn : [email protected]

33le9ax.gif

Procuro Alguem Que Possa Me Explicar Como Colocar Um Site De L2 On. Meus Contatos Estão Ai Em Cima .(-.-)

morreubt8.gif

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
  • 3 months later...

livro de uma mao

0 9494 1 1 5 3 0 LineageWeapons.apprentices_spellbook_m00_wp LineageWeapons.apprentices_spellbook_m00_wp LineageWeaponsTex.apprentices_spellbook_t00_wp icon.weapon_apprentices_spellbook_i00 -1 1600 8 1 0 7 1 1 LineageWeapons.apprentices_spellbook_m00_wp 1 LineageWeaponsTex.apprentices_spellbook_t00_wp 4 ItemSound.staff_3 ItemSound.fist_1 ItemSound.mace_1 ItemSound.sword_mid_9 ItemSound.itemdrop_book ItemSound.itemequip_book 10 201 162 7 5 8 0 0 0 0 379 0 1 1 1000 0 -1 0 0.000000 0.000000 0.000000 1.000000 1.000000 LineageWeapons.rangesample 0.800000 0.800000 0.800000 -0.500000 2.800000 0.000000 -1 -1 -1 -1

 

tipo eu tentei fazer e talz mais so o weapons grp ta dando pau quando vai cryptar ele da erro tem como alguem me da uma moral?????? a trans formar o weapongrp em dual????

Editado por ..::InSaNo::..

Novo Servdor Venha conferir

bAjdt.gif

Link para o comentário
Compartilhar em outros sites

  • Registre-se

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






  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • 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.