Ir para conteúdo
  • Cadastre-se

[Tutorial] Edite as texturas do seu Lineage 2


ZapEx

Posts recomendados

Ola galera! eu aqui mais uma vez!

como eu sempre digo meus tutoriais são de autoria minha!

nao reproduzo de nguem! portanto Conservem os creditos!

--------------------------

Primeira coisa que nos prescisamos saber para começar:

Conhecimento basico photoshop.

Paciencia! (E MUITA!)

E esse arquivo ~> Editar Texturas By:ZapEx

SÓ FUNCIONA COM INTERLUD! E ALGUMAS VERSOES DO GRACIA...

--------------------------

Let's GO!

 

Dentro desse arquivo vem um pacote com progamas nescessarios para a manipulação de texturas...

Baixe-o:

Texturas.jpg

 

Agora extraia ele como na imagen.

Texturas%20(1).jpg

surgira uma nova pasta com o nome "Texturas"

Texturas%20(2).jpg

 

Abra a pasta! Agora o show comessa!

Instale o Plugin da nvidia no seu photshop seguindo os paços abaixo.

Execute o instalador

Texturas%20(4).jpg

Next

Texturas%20(5).jpg

Marque a caixinha como mostra a figura e aperte em next

Texturas%20(6).jpg

Preencha os dados e aperte next

Texturas%20(7).jpg

Agora aperte em change

Texturas%20(8).jpg

e localize a pasta do seu photoshop como eu fiz

Texturas%20(9).jpg

Aperte next

Texturas%20(10).jpg

e aperte install

Texturas%20(11).jpg

-

Pronto! o plugin esta instalado!

Agora vamos escolher oque editar

e como salvar para q seja editavel!

-

Abra o "L2ViewUTX"

Texturas%20(12).jpg

depois clique em "open UTX"

Texturas%20(13).jpg

Pegue a textura que nos vamos editar! no caso L2Font-e.utx

Texturas%20(14).jpg

Texturas%20(15).jpg

Selecione a textura q nos vamos editar! no caso a tela de loading!

Texturas%20(16).jpg

e clique em "Save Texture"

Texturas%20(18).jpg

agora pode fechar o "L2ViewUTX"

Texturas%20(19).jpg

-

Essa parte agente converteu a textura em uma textura

editavel no photshop!.

-

Note que na pasta apareceu um novo arquivo!

Texturas%20(20).jpg

Esse arquivo é que agente vai editar!

Geralmente o nome do arquivo eh "nomedatextura.dds"

no caso "loading2.dds"

Agora vamos abri-lo com photoshops!

clique com botao direito e selecione "abrir"

Texturas%20(21).jpg

Vai aparecer uma janelinha

Escolha "selecionar progamas da lista" e aperte ok

Texturas%20(22).jpg

escolha seu photoshop! se nao estiver na lista clique

em proucurar e ache o photshop.exe geralmente C:\arquivos de progamas\adobe\photshop cs3\photoshop.exe

 

Agora que vc selecionou o photoshop clique em ok

Texturas%20(23).jpg

quando abrir o photoshop vai parecer esse caixinha no cantinho da tela

deixe como na imagen

Texturas%20(24).jpg

e clique ok!

pronto agora a tá lá a imagen no phothsop

Texturas%20(25).jpg

-

Edite ela como kiser!

contanto que deixe a parte preta de baixo! sem mehcer nela!

olha só como eu fiz a minha.

Texturas%20(26).jpg

Note que a parte de baixo continua preta!

 

Agora vamos salva-la!

-

Clique em File> Save as ou Arquivo> Salvar como

Texturas%20(27).jpg

selecione o tipo de arquivo a ser salvo no caso DDS como na imagen

Texturas%20(28).jpg

subistitua o antigo

Texturas%20(29).jpg

nas opções que vao aparecer a unica alteração que voce vai fazer

é essa na imagen

Texturas%20(30).jpg

e depois clicar em save

Texturas%20(31).jpg

-

Pronto ta salvo agora vamos colokar essa textura

dentro do utx!

-

Volte na pasta

Texturas%20(32).jpg

arraste o arquivo L2fonte-e.utx (ou textura que voce ta editando) para cima do decrypt.

Texturas%20(33).jpg

aguarde aparecer uma menssagen "Decrypt Susceful"

Texturas%20(34).jpg

note que apareceu esse arquivo:

Texturas%20(35).jpg

agora volte na pasta e abra o UTX

Texturas%20(36).jpg

Lembrem-se tem que ser nesta ordemmm!

1º o UTX

2º o DSS nao alterem nada

 

como eu falei selecione primeiro o utx clicando no segundo botão [...]

Texturas%20(37).jpg

selecione o UTX que foi decryptado ou seja o .clean

Texturas%20(38).jpg

agora selecione o DDS clicando no primeiro botão [...]

Texturas%20(39).jpg

selecione o DDS que vc editou

Texturas%20(40).jpg

Agora com os 2 ja selecionados

clique em "set"

Texturas%20(41).jpg

se aparecer essa menssagen é porque esta tudo certo

Texturas%20(42).jpg

pode fechar o UTX

Texturas%20(43).jpg

-

Pronto o Loading02-e.dds ja esta dentro do utx!

Agora encripita-lo para poder usar no l2.

-

arraste o l2font-e.clean.utx para cima do decrypt

Texturas%20(44).jpg

aguarde aparecer a menssagem

Texturas%20(45).jpg

-

Agora sim esta tudo okey!

agora vamos renomear e por dentro da pasta do L2!

ou na pasta do patch! *-*

-

Editado por ByOrion
por coloca novo Link

....

Link para o comentário
Compartilhar em outros sites


Continuação

 

Renomeio o UTX original para UTX Backup

Texturas%20(46).jpg

Texturas%20(47).jpg

e renomei o CRYPT! (nao eh o clen! eh o crypt!) para L2font-e.utx (ou seja o nome do original)

Texturas%20(48).jpg

Texturas%20(49).jpg

Copie o que voce renomeio

Texturas%20(50).jpg

e cole na systemtextures do seu l2 (ou ptach)

Texturas%20(51).jpg

Clique em sim para substituir

Texturas%20(52).jpg

-

weeeeeeeeeeeeee

tudo pronto!

-

Agora vamos testar!

execute seu l2

Texturas%20(53).jpg

e veja o resultado :)

Texturas%20(54).png

-

 

Demorou foi complicado e canssativo!

mas ai esta minha contribuição para o L2j Brasil!

Lembrem-se quem fez o tutorial na hora de sair por ai postando ele!

 

Untitled-1.png

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~COMPLEMENTO DE AJUDA~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Para que server?

 

L2UtxViwer ~> Serve para visualizar texturas e salva-las em dds

L2tool ~> Server para por o dds dentro do utx

Decrypt ~> Serve para tornar a textura limpa! ou seja totalemte editavel.

Photshop ~> Serve para fazer variz ediçoes de imagens

Plugin-DDS ~> Serve para que o photoshop abra o DDS e assim Edita-lo

 

--------------------------------------------------------------------------------------------------------------------------------------------

 

Sempre que der estarei atualizando.

 

Espero que tenham gostado! :)

....

Link para o comentário
Compartilhar em outros sites

MUITO BOM, VO CUSTOMIZAR MEU SERVER HEHEHEHE

MAS UMA VIDEO AULA SERIA ROX D++ ^_^^_^^_^

POR SER MEIO LONGO O TUTORIAL EM VIDEO TODOS TEM MAIOR FACILIDADE DE APRENDER !!!!

MAS CLARO, TEM QUE FAZER PARA APRENDER !!

Link para o comentário
Compartilhar em outros sites

mto bom

+ eu tenho uma pergunta q n que calar

como edito textura de armadura sem tira as linhas dela...tipo so pra muda a cor

376210082.png

4l417ogcc2.gif

Fui Malcriado ou Mal Educado!?"você Mereceu...."By รтσяммαkєя...

Gosto?;D

Link para o comentário
Compartilhar em outros sites

+ tipo como eu mudo a cor sem tira a armadura e da aquele efeito ridiculo q parece q foi feito no paint....entende?...

376210082.png

4l417ogcc2.gif

Fui Malcriado ou Mal Educado!?"você Mereceu...."By รтσяммαkєя...

Gosto?;D

Link para o comentário
Compartilhar em outros sites

+ tipo como eu mudo a cor sem tira a armadura e da aquele efeito ridiculo q parece q foi feito no paint....entende?...

 

Para mudar cor da armadura você tem que tirar ela, quando você extrair a Textura para .DDS você está tirando todo efeito da Textura e você tera que refazer tudo, como aplicar transparência, aplicar shader, Final blend etc.

LinusXX.png

Link para o comentário
Compartilhar em outros sites

que ta escrito en baxo do l2Toll em vermelho

isso e pq n e IL acho q isso so funfa em txtura IL

376210082.png

4l417ogcc2.gif

Fui Malcriado ou Mal Educado!?"você Mereceu...."By รтσяммαkєя...

Gosto?;D

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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