Ir para conteúdo
  • Cadastre-se

Painel Admin


Posts recomendados


Excelente projeto, me lembro de quando começou ele, parabéns

Né, já faz tempo bagarai, mas finalmente terminei. \o/

muito legal brother muito util .. Parabéns .

(y)Vlw, cara

 

Agora que está concluído estarei testando amigo, obrigado.

Issaê, vlw

 

como logueao? Ya la Instale pero no se como crear mi usuario?

Precisa ter access level na conta.

 

Provavelmente é a conta com acesslevel modificado. muda seu acess level de conta e testa.

É, esqueci de avisar sobre isso -_-.

 

Muito bom o projeto, obrigado pela excelente contribuição, a L2JBrasil agradece!

Adicionei a lista de destaques, qualquer erro o pessoal reporta! Um abraço

Opa, vlw! É isso que espero, que se tiver algum erro ser reportado.

 

 

A espera valeu muito a pena,

Está Muito Perfeito,

Testei ele todo e funcionou perfeitamente.

Parabéns Maxwellx :D

 

\o/ :ufa:, ainda bem que funcionou normalmente. (y) vlw

"As pessoas que nao tem muito respeito pelo proximo, é porque tem menos ainda por si mesmo"

''Nós não podemos esquecer o passado nunca (jovens), por pior que ele seja, ele faz parte da sua historia e contribui para te lembrar quem você era, e foi a razão para você se tornar o que você é agora."

Zangado Games

Link para o comentário
Compartilhar em outros sites

Cara parabéns pelo projeto, baixei instalei e testei, achei o bug na parte de Visualizar Character não está mostrando os itens: Estou usando o Interlud.

 

Só Mostra um item:

Itens Equipados

 

Não Mostra nada:

 

Itens Inventário

 

 

Status

by

Link para o comentário
Compartilhar em outros sites

Cara parabéns pelo projeto, baixei instalei e testei, achei o bug na parte de Visualizar Character não está mostrando os itens: Estou usando o Interlud.

 

Só Mostra um item:

Itens Equipados

 

Não Mostra nada:

 

Itens Inventário

 

 

Status

Pra ficar mais fácil, tem como postar um print?

 

Edit (sobre o painel)

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

Faltou 1 arquivo na pasta 'Codes'. Já coloquei ele para download, link tá no post.

Editado por Maxwellx

"As pessoas que nao tem muito respeito pelo proximo, é porque tem menos ainda por si mesmo"

''Nós não podemos esquecer o passado nunca (jovens), por pior que ele seja, ele faz parte da sua historia e contribui para te lembrar quem você era, e foi a razão para você se tornar o que você é agora."

Zangado Games

Link para o comentário
Compartilhar em outros sites

Parabens Excelente Trabalho

eu vi as imagens muito bom msm gostei

curti

Atitudes Que Fazem A Diferença! 

Não vou dar suporte via mp e nem skype obrigado 

Eu não tenho mais arquivos antigos não tem como ajudar em questões antigas abrigado

Galera todos meus conteúdo estão no fórum..video do meu canal no youtube com revisão npc´s e etc.. estão aqui se não achar e pq não tem mais ...obrigado e espero que de tudo certo a vcs.....

 

Link para o comentário
Compartilhar em outros sites

Excelente! Um dos melhores se não o melhor que já vi aqui!
Felizmente já tinham pendurado o tópico, espero que com o tempo você vá adicionando novas funções que são mais úteis ainda nos servidores.

( Estou sem ideias para dizer quais! )

Link para o comentário
Compartilhar em outros sites

Parabens Excelente Trabalho

eu vi as imagens muito bom msm gostei

curti

 

(y) vlw

Excelente! Um dos melhores se não o melhor que já vi aqui!

Felizmente já tinham pendurado o tópico, espero que com o tempo você vá adicionando novas funções que são mais úteis ainda nos servidores.

( Estou sem ideias para dizer quais! )

Ô.o vlw. No problem ^^. Já tenho algumas funções anotadas e mais outras coisas, mas não quero ter que postar uma por uma. Melhor terminar tudo e postar de uma só vez.

"As pessoas que nao tem muito respeito pelo proximo, é porque tem menos ainda por si mesmo"

''Nós não podemos esquecer o passado nunca (jovens), por pior que ele seja, ele faz parte da sua historia e contribui para te lembrar quem você era, e foi a razão para você se tornar o que você é agora."

Zangado Games

Link para o comentário
Compartilhar em outros sites

Em relação à visualização de personagem, você não acha que ficaria melhor assim? Do lado os itens e no meio a foto do personagem e quando passar o mouse em cima dos itens ele vai dizer qual o nome dele e etc.

 

 

rMeJ01h.png

Editado por Lucas Costa ϟ
Link para o comentário
Compartilhar em outros sites

Em relação à visualização de personagem, você não acha que ficaria melhor assim? Do lado os itens e no meio a foto do personagem e quando passar o mouse em cima dos itens ele vai dizer qual o nome dele e etc.

 

rMeJ01h.png

Bom, em relação aos itens do lado teria sim, mas não sei como iria ficar para mostrar o personagem com tal item. Se não for pra mostrar um 'preview' dos itens equipados no personagem, e ser mostrado apenas o 'manequim', acredito que seria relativamente fácil, porém se for pra mostrar...aí já complica.

Editado por Maxwellx

"As pessoas que nao tem muito respeito pelo proximo, é porque tem menos ainda por si mesmo"

''Nós não podemos esquecer o passado nunca (jovens), por pior que ele seja, ele faz parte da sua historia e contribui para te lembrar quem você era, e foi a razão para você se tornar o que você é agora."

Zangado Games

Link para o comentário
Compartilhar em outros sites

Em relação à visualização de personagem, você não acha que ficaria melhor assim? Do lado os itens e no meio a foto do personagem e quando passar o mouse em cima dos itens ele vai dizer qual o nome dele e etc.

 

 

rMeJ01h.png

 

seria bem legal msm usando como base o wow desta forma seria épico e nem precisa ser levado a fundo igual o wow, que mostra honor etc mortes e tals

 

Bom, em relação aos itens do lado teria sim, mas não sei como iria ficar para mostrar o personagem com tal item. Se não for pra mostrar um 'preview' dos itens equipados no personagem, e ser mostrado apenas o 'manequim', acredito que seria relativamente fácil, porém se for pra mostrar...aí já complica.

parabéns melhor painel Admin ao meu gosto continue assim venho acompanhando dês do inicio muito bom msm. só uma observação se achar viável da uma pensada com carinho na ideia do nosso amigo Lucas ai ficaria top d+

Editado por *-*InSaNo*-*

L2Wok <-- Novo Servidor Interlud PvP Não Fique De Fora Dessa

Link para o comentário
Compartilhar em outros sites

parabens maninho gostei muito, irei usalo

Issaê, vlw. Qualquer coisa tamo ai.

seria bem legal msm usando como base o wow desta forma seria épico e nem precisa ser levado a fundo igual o wow, que mostra honor etc mortes e tals

 

parabéns melhor painel Admin ao meu gosto continue assim venho acompanhando dês do inicio muito bom msm. só uma observação se achar viável da uma pensada com carinho na ideia do nosso amigo Lucas ai ficaria top d+

(y)Vlw. Sim, quando terminar as outras funções vou começar a elaborar isso. Irei tentar fazer o melhor que conseguir, mas também não vou garantir nada.

"As pessoas que nao tem muito respeito pelo proximo, é porque tem menos ainda por si mesmo"

''Nós não podemos esquecer o passado nunca (jovens), por pior que ele seja, ele faz parte da sua historia e contribui para te lembrar quem você era, e foi a razão para você se tornar o que você é agora."

Zangado Games

Link para o comentário
Compartilhar em outros sites

Maxwellx, parabéns em primeiro lugar.

Quero contribuir de uma forma para você melhorar sua programação.

 

- Primeiro, tente manter padrões, a programação está toda bagunçada e misturada com html/css/js/etc. Mas isso é normal pra quem está começando, não se preocupe.

- Pelo que eu vi no painel admin, praticamente todas as variaveis estão sem nenhum tipo de filtro(proteção), mas já que esse painel é um painel só para "Admins", não tem tanta importancia, é só deixar em uma pasta escondida dos players na hospedagem.

- Tente usar o sistema de SQL Query Universal que eu criei para fazer as consultas no DB, assim os admins não precisam ficar escrevendo qual o nome das colunas das tabelas na hora da instalação. E ainda fica compatível com qualquer tipo de cronica.

- O sistema de paginação que você fez não é seguro, mas como é um painel só pra "admins" e os players não vão ter acesso, também não tem tanta importancia.

- O sistema de mudar o Nick do char, não está checando se o NOVO nome escolhido pelo admin já existe. Corre o grande risco de colocar 2 chars com o mesmo nome. Isso buga os 2 chars e da erro no servidor.

- O unico sistema que vai ficar inutilizado ao meu ver nesse painel é o sistema de edição de Clans, pois não existe como vc editar um clan diretamente pelo banco de dados. O L2j trabalha em cache com o sistema de clans, então se vc editar qualquer clan com o servidor online não vai funcionar dentro do jogo e quando o servidor der restart ele volta como estava antes da edição.

- Você faz muitas conexões ao banco de dados fazendo SELECTs, tente fazer todos os SELECTs fazendo somente 1 acesso ao banco de dados. Faça todos em 1 unica consulta. Isso aumenta o desempenho do site.

- O sistema de entrega de doações também não está bom. Ele está funcional pra você pois vc deve estar usando um DB limpo ou pequeno. Se estiver usando um DB grande a entrega além de ter uma enorme chance de bugar os itens do player também pode demorar muito tempo até ler todos os itens da tabela itens. Você fez um select que le todos os itens continuamente da tabela itens de todos os chars do jogo, isso é completamente desnecessário. Você pode pegar o object_id de outra forma mais rapido e mais fácil, por exemplo: "SELECT MAX(object_id) AS max FROM items". "max" é o nome definido do object_id mais alto, para inserir um item no db, você coloca o seguinte na query de insert(coluna object_id): "'.($row["max"] + 1000).'"

 

Bom, pela rapida visualização que eu dei no código, o que eu tenho pra ajudar é isso.

Abraço.

 

 

 

Link para o comentário
Compartilhar em outros sites

Maxwellx, parabéns em primeiro lugar.

Quero contribuir de uma forma para você melhorar sua programação.

 

- Primeiro, tente manter padrões, a programação está toda bagunçada e misturada com html/css/js/etc. Mas isso é normal pra quem está começando, não se preocupe.

- Pelo que eu vi no painel admin, praticamente todas as variaveis estão sem nenhum tipo de filtro(proteção), mas já que esse painel é um painel só para "Admins", não tem tanta importancia, é só deixar em uma pasta escondida dos players na hospedagem.

- Tente usar o sistema de SQL Query Universal que eu criei para fazer as consultas no DB, assim os admins não precisam ficar escrevendo qual o nome das colunas das tabelas na hora da instalação. E ainda fica compatível com qualquer tipo de cronica.

- O sistema de paginação que você fez não é seguro, mas como é um painel só pra "admins" e os players não vão ter acesso, também não tem tanta importancia.

- O sistema de mudar o Nick do char, não está checando se o NOVO nome escolhido pelo admin já existe. Corre o grande risco de colocar 2 chars com o mesmo nome. Isso buga os 2 chars e da erro no servidor.

- O unico sistema que vai ficar inutilizado ao meu ver nesse painel é o sistema de edição de Clans, pois não existe como vc editar um clan diretamente pelo banco de dados. O L2j trabalha em cache com o sistema de clans, então se vc editar qualquer clan com o servidor online não vai funcionar dentro do jogo e quando o servidor der restart ele volta como estava antes da edição.

- Você faz muitas conexões ao banco de dados fazendo SELECTs, tente fazer todos os SELECTs fazendo somente 1 acesso ao banco de dados. Faça todos em 1 unica consulta. Isso aumenta o desempenho do site.

- O sistema de entrega de doações também não está bom. Ele está funcional pra você pois vc deve estar usando um DB limpo ou pequeno. Se estiver usando um DB grande a entrega além de ter uma enorme chance de bugar os itens do player também pode demorar muito tempo até ler todos os itens da tabela itens. Você fez um select que le todos os itens continuamente da tabela itens de todos os chars do jogo, isso é completamente desnecessário. Você pode pegar o object_id de outra forma mais rapido e mais fácil, por exemplo: "SELECT MAX(object_id) AS max FROM items". "max" é o nome definido do object_id mais alto, para inserir um item no db, você coloca o seguinte na query de insert(coluna object_id): "'.($row["max"] + 1000).'"

 

Bom, pela rapida visualização que eu dei no código, o que eu tenho pra ajudar é isso.

Abraço.

Vlw pelas dicas. Algumas coisas que você citou eu tinha noção que tava meio feio mesmo, só que né, a falta de experiência e com um conhecimento não tão vasto assim foi o que deu pra fazer -_-. Vou ler novamente (e até salvar aqui) o que você falou para tentar aplicar da melhor forma possível.

Sobre os clan's eu fiquei na dúvida em algumas partes como, por exemplo, os Castelos, até testei in-game aqui e ficou normal, por isso que deixei. Bom, enfim, com o tempo vou tentando melhorar o código. Mais uma vez, vlw pelas dicas (y) \o/

obs: é, eu faço muito SELECT mesmo -_-.

"As pessoas que nao tem muito respeito pelo proximo, é porque tem menos ainda por si mesmo"

''Nós não podemos esquecer o passado nunca (jovens), por pior que ele seja, ele faz parte da sua historia e contribui para te lembrar quem você era, e foi a razão para você se tornar o que você é agora."

Zangado Games

Link para o comentário
Compartilhar em outros sites

Vlw pelas dicas. Algumas coisas que você citou eu tinha noção que tava meio feio mesmo, só que né, a falta de experiência e com um conhecimento não tão vasto assim foi o que deu pra fazer -_-. Vou ler novamente (e até salvar aqui) o que você falou para tentar aplicar da melhor forma possível.

Sobre os clan's eu fiquei na dúvida em algumas partes como, por exemplo, os Castelos, até testei in-game aqui e ficou normal, por isso que deixei. Bom, enfim, com o tempo vou tentando melhorar o código. Mais uma vez, vlw pelas dicas (y) \o/

obs: é, eu faço muito SELECT mesmo -_-.

Normal mano, isso é muito comum de quem ta começando. :D

Mas vc leva jeito, ta indo no caminho certo. ^^

 

Abraço.

 

 

 

Link para o comentário
Compartilhar em outros sites

Pessoal boa tarde!!

Quando vou em entregar Doação, adiciono tudo certinho, Id, quantidade e enchant, mas ao clicar em Entregar gera esse erro abaixo:

 

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='57'' at line 1

 

 

 

Poderiam me ajudar a resolver? :S

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.