Ir para conteúdo
  • Cadastre-se

Adicionando área custom na GK


 Smallz'

  

69 votos

  1. 1. O que achou do tutorial?

    • Bem explicado
      57
    • Mal explicado ( Explique melhor )
      12

  • Please sign in to vote in this poll.

Posts recomendados

Já vi 3 pessoas fazendo essa pergunta então resolvi fazer o tutorial.

 

 

1º Passo - Vai até o local que deseja adicionar na GK.

 

2º Passo - Clica na sua target e usa o comando /loc e irá aparecer as coodernadas.

 

ZgIaE.png

 

3º Passo - Abra a tabela teleport do navicat:

 

Na coluna Description coloque o nome da área pode colocar qualquer coisa serve apenas para identificação.

 

Na coluna ID coloque uma ID que não exista na tabela eu adiciono sempre 20100 para cima 20101 e assim vai...

 

loc_y, loc_x, loc_z coloque as coodernadas que apareceram no comando /loc

 

Na coluna price coloque pode exemplo:15000 não pode conter mais de 6 algarismos.

 

Na coluna fornable deixe 0.

 

Exemplo:

xCXlH.png

 

4º e ùltimo passo - Adiciona a ID do teleport que criou no npc.

 

Exemplo:

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a>

 

<a action="bypass -h npc_%objectId%_goto 20100"><font color="800080">Area custom</font></a>[/size]

 

 

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

 

:excl: Créditos: Meus

Editado por Smallz

"Mis obras están destinados a ser utilizados para eso, le doy mi mejor." Smallz'

Meu Conteúdo

 

Link para o comentário
Compartilhar em outros sites


Amigo ajuda n ententi essa parte

 

 

 

3º Passo - Abra a tabela teleport do navicat:

 

Na coluna Description coloque o nome da área pode colocar qualquer coisa serve apenas para identificação.

 

eu sei onde é a coluna description mais n sei como criar a area ! se puder ajuda agradeço

Link para o comentário
Compartilhar em outros sites

Amigo ajuda n ententi essa parte

 

 

 

3º Passo - Abra a tabela teleport do navicat:

 

Na coluna Description coloque o nome da área pode colocar qualquer coisa serve apenas para identificação.

 

eu sei onde é a coluna description mais n sei como criar a area ! se puder ajuda agradeço

A coluna description é para colocar uma identificação da área, para criar área tem que seguir o resto do tutorial.

"Mis obras están destinados a ser utilizados para eso, le doy mi mejor." Smallz'

Meu Conteúdo

 

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a>

 

 

Mais mano aonde eu vou adiciona a o id ? :wacko:

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a>

Ali onde ta vermelho

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

  • 2 weeks later...

onde eu acho o quarto passo q vc nao falo o local tu disse como colocar mais nao onde localizasse no 4 passo

Eu resolvi no meu server , vc tem que ver o id da gk.A minha e 500, aí tem 500-1 / 500-2 e assim vai.Vc tem que achar onde ta o drop area , na minha é 500-24 o ultimo e so colocar la mudar o ip e nome ;)

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
4º e ùltimo passo - Adiciona a ID do teleport que criou no npc.

 

Exemplo:

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a>

 

<a action="bypass -h npc_%objectId%_goto 20100"><font color="800080">Area custom</font></a>[/size]

 

 

 

Não intendi essa parte de adicionar a ID do teleport que criou no NPC !

 

Alguem pode explicar melhor ?

 

 

Obrigado!

file_upload.png Re-Uploader L2JBrasil!

Link para o comentário
Compartilhar em outros sites

Cuidado com o flood, a 4° parte é simples aparti que você criar o teleporte como ele esta falando, você pode por qualquer ID que não exista na tabela ex: 101010 esse ai e o ID dai você tera que colocar ele aqui:

 

<a action="bypass -h npc_%objectId%_goto 101010"><font color="800080">Area custom</font></a>

 

um tutorial bem explicado oque você não esta entendendo ai ?

Link para o comentário
Compartilhar em outros sites

Cuidado com o flood, a 4° parte é simples aparti que você criar o teleporte como ele esta falando, você pode por qualquer ID que não exista na tabela ex: 101010 esse ai e o ID dai você tera que colocar ele aqui:

 

<a action="bypass -h npc_%objectId%_goto 101010"><font color="800080">Area custom</font></a>

 

um tutorial bem explicado oque você não esta entendendo ai ?

 

 

 

Mas onde eu vo colocar esse codigo ?

file_upload.png Re-Uploader L2JBrasil!

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

Já vi 3 pessoas fazendo essa pergunta então resolvi fazer o tutorial.

 

 

1º Passo - Vai até o local que deseja adicionar na GK.

 

2º Passo - Clica na sua target e usa o comando /loc e irá aparecer as coodernadas.

 

ZgIaE.png

 

3º Passo - Abra a tabela teleport do navicat:

 

Na coluna Description coloque o nome da área pode colocar qualquer coisa serve apenas para identificação.

 

Na coluna ID coloque uma ID que não exista na tabela eu adiciono sempre 20100 para cima 20101 e assim vai...

 

loc_y, loc_x, loc_z coloque as coodernadas que apareceram no comando /loc

 

Na coluna price coloque pode exemplo:15000 não pode conter mais de 6 algarismos.

 

Na coluna fornable deixe 0.

 

Exemplo:

xCXlH.png

 

4º e ùltimo passo - Adiciona a ID do teleport que criou no npc.

 

Exemplo:

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a>

 

<a action="bypass -h npc_%objectId%_goto 20100"><font color="800080">Area custom</font></a>[/size]

 

 

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

 

:excl: Créditos: Meus

 

REALMENTE ATE NO 3 PASSO DA PRA ENTENDER AINDA, + NO 4 PASSO VC NAO DIZ AONDE TENHO Q COLOCAR ESSE CODIGO?EM QUAL LOCAL?

 

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a>[/size]

 

<a action="bypass -h npc_%objectId%_goto 20100"><font color="800080">Area custom</font></a>[/size]

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

AI PESSOAL SOU NOVATO TB NA AREA DE ADMINISTRAÇÃO DE SERVIDORES, LEVEI UM BOM TEMPO + VOU RESPONDER A DUVIDAS D ALGUNS MEMBROS QUANTO AO 4 PASSO. QUANDO O Xd DIZ:

<a action="bypass -h npc_%objectId%_goto ID"><font color="800080">Area custom</font></a> CERTO!

ISSO E UMA EDIÇÃO OU SEJA PRECISA SER (EDITADO) NAO SEI QUAL PROGRAMAS Q VCS USAM PARA EDITAR OS ARQUIVOS DO SEUS SERVIDORES D L2 + NO MEU CASO EU USO O notepad+++

baixem ele se nao tiverem e instalem depois de instalado e so abrir a edição pelo note pad+++.

se mesmo assim vc ainda nao conseguirem entender o 4 passo so add meu msn q explico e tempo real ^^.

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

  • 3 weeks later...
  • 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.