Ir para conteúdo
  • Cadastre-se

[Tutorial] Criando MOB Custom


rodrigo

Posts recomendados

Ola pessoal estou aqui denovo pra ajudar a galera!!!!!!!

 

estarei aqui explicando como criar um MOB Custon!!!!!!

 

Vou mostrar como eu faço, sempre segui essa seguencia acho mais pratica!!!!

Primeiro Passo:

Escolhendo um MOB!!!!!!!

 

Eu antes de mais nada escolho o visual do meu mob:

 

FOTO:

 

01.jpg

 

 

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

Segundo Passo:

Escolhendo um Local!!!!!!

 

 

Depois de escolher o mob eu escolho onde ele irá fica:

 

FOTO:

 

02.jpg

 

 

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

Terceiro Passo:

Escolhendo um nome e um ID!!!!!

 

Depois de escolher o lugar e o mob eu agora vou colocar um nome no meu mob, como ele é parecido com o valakas, entao usarei o nome VALAKINHAS, pq ele parece o valakas e é pequeno. Agora irei escolher um ID. Bem vou seguir o mesmo id do meu GK DROP que é 61000 então o meu mob será 61001.

 

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

Quarto Passo:

Criando a SQL!!!!!

 

Olha essa SQL é para Gracia Final (K4N4BS 6300)

 

INSERT INTO `npc` VALUES ('61001',	'25319',	'Valakinhas',	'1',	' - ADENA',	'1',	'Monster.adena',	'48',	'73',	'99',	'male',	'L2Monster',	'40',	'100',	'9999',	'1',	'1',	'10',	'50',	'20',	'10',	'50',	'10',	'1000000',	'1000000',	'1000',	'500',	'1000',	'500',	'500',	'0',	'300',	'0',	'0',	'0',	'55',	'88',	'NULL',	'0',	'0',	'0',	'LAST_HIT',	'0',	'0',	'0',	'fighter',	'false');

 

DOWNLOAD: 4shared

SENHA: www.l2jbrasil.com

 

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

Quinto Passo:

Colocando o MOB no server!!!!!

 

dentro do jogo digite na barrinha de conversa ( //spawn 61001 )

 

e aparecerá o nosso valakinhas!!!!!!

 

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

Sexto Passo:

Criando DropList!!!!!!!!

 

Mantenha apertado o SHIFT e click sobre o mob > aparecera uma janela de CHAT, desca e click sobre o botão "Show DropList".

 

Item-Id coloque o id do item;

MIN Coloque o minimo que vai dropar;

MAX Coloque o maximo que irá dropar;

CATEGORY Sempre deixei "0" (ZERO)

CHANCE Pra fazer dropar todas as vezes que o mob morrer deixe com "1000000" (1kk)

 

FOTO:

 

03.jpg

 

 

depois click em SAVE

 

aconselho reiniciar o server pra funcionar 100%....

 

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

Ultimo Passo:

De spawn na area escolhida e bom Jogo!!!!!!!!!

 

Foto

 

04.jpg

 

 

 

CréditoS: EU (Holocausto / RaiderNight)

 

 

 

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

Link para o comentário
Compartilhar em outros sites


Parabens, isso ajuda muito nos iniciantes :D

NOVO PC CONFIG

__________________

CPU: Intel® Core™2 Quad Q9550 @ 4.0 GHz (1.328v), E0 stepping

HSF: Zalman 9700 CNPS

Mobo: Gigabyte GA-EP45-UD3R Rev 1.1

GPU: eVGA GTX 295 Co-op Edition @ 676/1457/1194

RAM: G.Skill 8GB (4 x 2GB) DDR2 1066 MHz RAM

HDD: WD Cavier 7,200 RPM 320GB, Seagate Freeagent 1TB

PSU: Corsair TX850w

Case: Antec 900

OS: Windows Vista Ultimate 64 bit SP2

____________________________

Link para o comentário
Compartilhar em outros sites

Vlw por enssinar o basico pra galera se tivesse esse tutorial eu nao havia me matado pra faazer meu server !

Obrigaado por Tudo Meu Deus Quanto

Mais eu Agradeço Mais o Senhor me Abençoa!

Link para o comentário
Compartilhar em outros sites

so pra lembrar para tranformar guardas em mob sera nessesario mecher na system

e para o nome ficar correto..server side tem que estar em 1

Me Falta Corragem Pra Fazer Meu Sonho Realidade !!

A Todos Que Estão Longe Um Grande Abraço e Que A Vida os Traga De Volta Pra mim......

By [µ]Sinistro

L2 tempest

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Pessoal me tirem uma duvida, eu add 1 Mob custom no server, como fasso pra ele dropar X item normal e Y item APENAS no SPOIL?

 

exemplo, no drop normal ter chance de cair 1kk de adena e no SPOIL chance de cair 2kk de AA?

 

 

 

 

EDIT:

 

Achei :D

Editado por Misho

NOVO PC CONFIG

__________________

CPU: Intel® Core™2 Quad Q9550 @ 4.0 GHz (1.328v), E0 stepping

HSF: Zalman 9700 CNPS

Mobo: Gigabyte GA-EP45-UD3R Rev 1.1

GPU: eVGA GTX 295 Co-op Edition @ 676/1457/1194

RAM: G.Skill 8GB (4 x 2GB) DDR2 1066 MHz RAM

HDD: WD Cavier 7,200 RPM 320GB, Seagate Freeagent 1TB

PSU: Corsair TX850w

Case: Antec 900

OS: Windows Vista Ultimate 64 bit SP2

____________________________

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

[Mini Tuto]Criando um boss

1º: Crie um Mob com o type de L2Boss

2º: Crie outro mob com o Type L2Minion

3º: Crie uma Sql assim:

INSERT INTO minions

(`boss_id`, `minion_id`, `amount_min`, `amount_max`)

VALUES

(X, I, V, T);

O X é o Id Do Mob que vc Criou com o Type L2Boss

o I é o ID do mob que vc criou com o Type L2Minion

o V é o minimo dos raid fighter que vao aparece e o T é o Max

Editado por Rhion

"In a way, the supernatural is what's behind the curtain. Normally, you only need to see what's happening on stage. That's how reality works. If you don't know then it's for the best. Actually, learning about the supernatural only increases the number of things you don't know."'

Link para o comentário
Compartilhar em outros sites

Eu msm fiz um boss custom pra mim , eu tipo ja sabia como fazia mas nunca tentei fazer

esses dias que eu fiz um

"In a way, the supernatural is what's behind the curtain. Normally, you only need to see what's happening on stage. That's how reality works. If you don't know then it's for the best. Actually, learning about the supernatural only increases the number of things you don't know."'

Link para o comentário
Compartilhar em outros sites

+ se esse tal moob q vc multiplico te atkr ainda aparecera o nome do antigo por exemplo !

 

Peguei o Gremilin e multipliquei pra por na minha farm ex : Caxa da agua o nome q fiz se o moob me atk ainda vai aparecer gremillin ^^

Red Legion

Link para o comentário
Compartilhar em outros sites

[Mini Tuto]Criando um boss

1º: Crie um Mob com o type de L2Boss

2º: Crie outro mob com o Type L2Minion

3º: Crie uma Sql assim:

 

O X é o Id Do Mob que vc Criou com o Type L2Boss

o I é o ID do mob que vc criou com o Type L2Minion

o V é o minimo dos raid fighter que vao aparece e o T é o Max

 

Desculpe se nao for o local ideal para isso, mas eu tenho algumas duvidas, eu criei um registro na tabela npc, o templateid usei o do Gilmore, que eh um npc de antharas lair. Ficou legal mas surgiram alguns problemas, nao aparece o life como dos demais mobs.

 

Tentei colocar entao o template id de um mob normal usei o Zaken Pikeman, neste casa eu recebo ataques, aparece o life mas o boneco nao se mexe.

 

Tentei colocar o template do valakas, do ember, e nestes casos, o nome nao é o do meu npc, mas do boss que usei o template.

 

Tentei abrir o arquivo npcname-e.dat e coloquei o ID do meu boss, o nome e no jogo, nada de aparecer o nome do meu boss...

 

Alguem sabe o que estou fazendo de errado?

 

Um abraço

Link para o comentário
Compartilhar em outros sites

Desculpe se nao for o local ideal para isso, mas eu tenho algumas duvidas, eu criei um registro na tabela npc, o templateid usei o do Gilmore, que eh um npc de antharas lair. Ficou legal mas surgiram alguns problemas, nao aparece o life como dos demais mobs.

 

Tentei colocar entao o template id de um mob normal usei o Zaken Pikeman, neste casa eu recebo ataques, aparece o life mas o boneco nao se mexe.

 

Tentei colocar o template do valakas, do ember, e nestes casos, o nome nao é o do meu npc, mas do boss que usei o template.

 

Tentei abrir o arquivo npcname-e.dat e coloquei o ID do meu boss, o nome e no jogo, nada de aparecer o nome do meu boss...

 

Alguem sabe o que estou fazendo de errado?

 

Um abraço

 

Amigos,

 

Descobrí onde estava o erro. Não tinha alterado o Server Side name e o Server Side Title para 1 estavam com valor 0.

 

Funcionou, acho que era isso, obrigado e um grande abraço

Link para o comentário
Compartilhar em outros sites

  • 1 month 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.