Ir para conteúdo
  • Cadastre-se

Tutorial Modificando Tela de Loading


NalDinHuU

Posts recomendados

Programas Necessários:
Adobe Photoshop (Uso o CS5 no Tutorial)
DDS Utilities – Plugin Para o Photoshop
Nvidia Texture Tools – Pacote para o Photoshop
UnrealEngine 2 Runtime – Para Visualizar as UTX.
L2Tool – Fixar as UTX.
L2Decrypt – Decrypt as UTX.
L2EncDec – Encrypt as UTX.
EncryptBAT – Facilitar a Encryptação.

Vamos ao Tutorial:

1º - Instale o Nvidia Texture Tools e em Seguida o DDS Utilities.
2º - Instale o UnrealEngine 2 Runtime.
3º - Descompacte o L2Tool, L2Decrypt, L2Encdec e Encrypt.BAT na mesma pasta.
bum5znuyqjpim4op6.jpg

4º - Vá Na Pasta "Systextures" dentro da pasta do Lineage 2 e copie o Arquivo "L2Font-e.utx"
bum608zwfrwt9493e.jpg

5º - Cole Na Pasta onde está o L2Decrypt e o L2Tool
bum60lnsfjvmsx6oa.jpg

6º - Arraste o Arquivo "L2Font-e.utx" para cima do do L2Decrypt.exe.
bum61506s307w3qbu.jpg

7º - Após Isso Se Abrirá uma Tela, Aguarde Finalizar e Pressione Qualquer tecla para fechar.
bum61jd62uqu7muq2.jpg

8º - Será Criado mais um Arquivo na Pasta, o "L2Font-e.Clear.utx", que é a versão Desprotegida do Arquivo "L2Font-e.utx".
bum61vfsmj7ieg556.jpg

9º - Copie o Arquivo que Foi Criado (L2Font-e.clear.utx) para Pasta do L2Tool.
bum62536vs8on6kga.jpg

10º - Abra o L2Tool, não se espante com o idioma, é assim mesmo.
bum62g608bhyao2dm.jpg

11º - Após Abrir o L2Tool Clique no Botão Marcado Abaixo:
bum62tl7p82xtst8q.jpg

12º - Após Isso se abrirá uma tela para você selecionar um Arquivo, selecione o "l2Font-e.clear.utx".
bum637rouzucrxbm2.jpg

13º - Clique no Botão Como na Imagem Abaixo:
bum63s3v1z3dtolje.jpg

14º - Aparecerá uma Mensagem, clique no botão OK.
15º - Clique em Salvar para Substituir o Arquivo Original, se Perguntado se quer substituir clique em SIM.
bum64i8jsea6m8q2y.jpg

16º - Após Isso se tudo correr corretamente será exibida uma Mensagem como na imagem abaixo:
bum64uclbdzgvruve.jpg

17º - Clique em OK e feche o L2Tool.
18º - Abra o UnrealEngine 2 Editor no Menu Iniciar.
bum6583l5vz1vz18q.jpg

19º - Após Aberto o UnrealEngine 2 Editor, vá no Menu VIEW e em seguida clique na opção TEXTURE BROWSER.
bum65ljg30opru87e.jpg

E Ficará Assim:
bum65xihn9j24f56y.jpg

20º - Clique no Botão Abrir como na Imagem Abaixo e Selecione o Arquivo que foi criado pelo L2Tool (L2Font-e.clear.utx):
bum66dpq98bfmrxfu.jpg

bum66s92hxiyonjt6.jpg

21º - Após Abrir o Arquivo, Selecione a Pasta SKINS:
bum673lniirazln9m.jpg

22º - Nessa Pasta estará sua Tela de Loading, e outras imagens referentes ao Jogo, veja:
bum67neyzmtx2siru.jpg

23º - A Tela de Loading é a que tem o Nome "loading02-e"(deve dar pra saber qual é pelo tamanho e imagem):
bum6830omxbho2xvu.jpg

24º - Clique com o Botão Direito Nela e Clique em EXPORT TO FILE... :
bum68g3yamilp7bpm.jpg

25º - Após Isso Selecione o Lugar para Salvar o Arquivo .DDS que será gerado, ele é a sua Tela de Loading.
bum68vjf25isu16a2.jpg

26º - Após Salvo o Arquivo vamos ao Photoshop, abra-o.

27º - Vá em ARQUIVO -> ABRIR (FILE -> OPEN) e abra o arquivo .DDS criado pelo UnrealEngine 2 Editor (Loading02-e.dds).
bum69b2rm1mecgoi2.jpg

28º - Depois que Clicar em Abrir, ele vai mostrar uma telinha, deixe como na imagem e clique em OK:
bum69ol0apx4ggyru.jpg

29º - Vá no Menu WINDOW e deixe marcado a Opção LAYERS (Ou Simplesmente aperte F7).
bum6a14zovdxltn9m.jpg

30º - Vai Aparecer um Menu a Direita assim:
bum6ab2upm7uxl7uy.jpg

31º - Clique na aba CHANELLS e em seguida clique na caixa para deixar visível o Canal ALPHA 1:
bum6aj9exvlxaom4q.jpg

32º - Após Fazer Isso sua imagem ficará assim:
bum6awwr5hb4hyvbe.jpg
33º - Essa Parte que está em vermelho não aparecerá na tela de loading, portanto quando for modificar a imagem, lembre-se de não colocar nada naquela área, caso contrário sua imagem aparecerá cortada!

34º - Modifique a Imagem a Seu Gosto, no meu caso, coloquei outra imagem:
bum6bit55owjho3d6.jpg

35º - Agora vá em FILE-> SAVE AS.. (Arquivo -> SALVAR COMO...) e escolha o lugar para salvar a nova Loading Screen, após clicar em salvar aparecerá uma tela, deixe como na imagem abaixo e clique em SAVE:
bum6by5o2ond6zsay.jpg

A Parte do Photoshop está finalizada, feche-o, agora vamos voltar ao UnrealEngine 2 Editor.
36º - De Volta ao UnrealEngine 2 Editor, clique em FILE->IMPORT.
bum6ees0w5bti1nnu.jpg

37º - Após Isso, selecione a Imagem que salvamos no photoshop e clique em ABRIR, caso você tenha salvado a imagem com outro nome diferente do original precisará deletar a imagem original e substituir o nome da sua pelo dela, caso tenha deixado com o nome da original, ele substituirá automaticamente.
38º - Salve o UTX na Raiz do seu Disco ( O Unreal não aceita espaços na pasta onde vai salvar, salvarei no D: ).
bum6eu9rs9ydmdb7u.jpg

39º - Após Salvar, Feche o UnrealEngine 2 Editor, e copie o Arquivo Salvado por ele para a Pasta do L2Decrypt. (O Arquivo deve estar com o mesmo nome do original, então ele pedirá para substituir o arquivo, substitua).
bum6fs96do0dsidca.jpg

40º - Abra o Encrypt.Bat.
41º - Será Criado um Novo Arquivo na Pasta o "enc-l2font-e.utx" que é a versão protegida do arquivo "L2Font-e.utx" que nós criamos.
bum6g4oanps9en3m2.jpg

42º - Se Tudo Ocorrer Corretamente será criado um novo arquivo na pasta o "enc-L2Font-e.utx",
42º - Delete o Arquivo "L2Font-e.utx" da pasta e renomeie o "enc-L2Font-e.utx" para "L2Font-e.utx", após isso copie ele para a pasta SYSTEXTURES do Lineage, e pronto! Sua Tela de Loading estará modificada!
RESULTADO FINAL:
bum6glkmc6yh7jswa.jpg

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

Editado por Wallace Carvalho
Arrumando Links.
Link para o comentário
Compartilhar em outros sites


Po Cara muito bom, pena que eu não to conceguindo Baixar o Photoshop em lugar nem um, ele baixa outro programa affs.

 

Mas parabens ae vei, vo dar um jeito aqui de baixar o photoshop e vo tentar. xD

Link para o comentário
Compartilhar em outros sites

da para editar,com o photoshop 7.0.1 ? :mellow:

Deve dar sim, esses são os photoshops compatíveis com o plugin da nvidia:

For Adobe Photoshop 5.0, 6.0, 7.0, CS, CS2, CS3, CS4 and CS5.

Link para o comentário
Compartilhar em outros sites

só passei o olho rápido no tutorial, e esse procedimento usado parece ser bem mais longo do que este -> Clique aqui

O Problema daquele tutorial é que ele utiliza esses "programinhas" feitos por terceiros que prometem soluções milagrosas pra fazer as coisas mais rápidas, esse L2ViewUTX mesmo, já me deixou na mão milhões de vezes, dando access violation pra abrir texturas, e também o procedimento que ele usa pra substituir a textura(DDS) na UTX pelo L2Tool é totalmente inseguro, Muitas vezes dá MipMap Error, prefiro fazer pelo certo, UnrealEd.

 

//Edit

Outra Coisa também, se você usar a cabeça, só usando algumas partes do meu tutorial você consegue editar qualquer UTX do Lineage.

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

  • 2 weeks later...

Maravilha de Tutorial!

 

So ptenoh q conseguir achar o "UnrealEngine 2 Runtime – Para Visualizar as UTX" po rque o a ta no link pede registro e não encontrei como.

Mas ta de parabens!

 

Abraços e sucesso!

 

Ellison Sousa Pereira

 

sing_sharonn_flor_inv.gif

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 1 month later...

é assim mesmo brother, infelizmente.

Pra não aparecer embasado você vai precisar logar com o LOWER DETAILS desativado.

Se eu não me engano tem um jeito de ficar sempre normal, vou ver se descubro aqui.

Link para o comentário
Compartilhar em outros sites

Link para o comentário
Compartilhar em outros sites

amigo quando chego nessa aprtir eu mim perdir tem como vc mim ajuda? posta um vidio aise possivel.

quando falo Vá em ARQUIVO -> ABRIR (FILE -> OPEN) e abra o arquivo .DDS criado pelo UnrealEngine 2 Editor (Loading02-e.dds).eu mim perdir todo se pdoer mim ajudar vlw

Editado por WilliamFS
Não dê quote no post principal
Link para o comentário
Compartilhar em outros sites

Não dê QUOTE em Tutoriais!

Você exportou o arquivo no UnrealEngine?

No Passo Anterior a esse você exporta um arquivo .DDS para ser aberto com o photoshop, é so localizar ele, abrir no photoshop e seguir o tutorial.

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

  • 2 weeks later...

Otimo Tutorial!

 

Obrigado! :happy:

 

 

"Quanto mais incrementado e personalizado for o servidor, mais sucesso voce tera!

Mas cuide para não deixar a patch muito pesada pois isso espanta um pouco novos jogadores!"

2zz6ypw.gif

Não tenha medo do que você está prestes a sofrer. Sejá fiel até a morte, e Eu lhe darei a coroa da vida!

Apocalipse 2:10

 

~ Lineage 2 Phoenix Server Interlude ~

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.