Ir para conteúdo
  • Cadastre-se

(Resolvido) PROJETO ANT-HACKER FULL


MegaDranzer

Posts recomendados

TIPO GALERA EU NAO SOU EXPERIENTE COM JAVA E ETC MAIS TEM 1 PROGRAMA "ANTI CHEAT GUARD" QUE PASSA 1 SCAN EM VARIOS SERIAL DO PHX E WALKER E OUTROS QUE TAL NOS FAZER O MESMO SOQ COM O SISTEMA DE AUTO-BAN EM PHX OU KUALKER TIPO DE PROGRAMA HACKER? AGORA CABE ALGUEM PEGAR O SERIAL DO PHX QUE SAO VARIOS E TRABALHOSO MAIS A RECOMPENSA E BOA GALERA ESPERO QUE EU ESTENHA FALANDO ALGO QUE TENHA SENTIDO MAIS E OQ ENTENDI SOBRE O PROGRAMA "ANTI CHEAT GUARD" ERA BOM NOS DEIXAR MAIS SIMPLES POIS ELE E MTO COMPLICADO. OK VLW

Link para o comentário
Compartilhar em outros sites


vc nao acha que ban é muito agressivo? não é melhor impedir com que o phx e o walker nao funcionem no servidor ao invés de banir o usuário que tentar usar sabendo que o servidor está mal configurado pelo próprio administrador?

sign.jpg

<strong><em>Ustiur Games</em> - Lineage 2 Gracia Epilogue private server</strong> coming soon

<strong>http://www.ustiur.com</strong>

Link para o comentário
Compartilhar em outros sites

vc nao acha que ban é muito agressivo? não é melhor impedir com que o phx e o walker nao funcionem no servidor ao invés de banir o usuário que tentar usar sabendo que o servidor está mal configurado pelo próprio administrador?

 

O BOM PLAYER NAO USA HACKER O PLAYER QUE USA PELO MENOS 1 VEZ JA MERECE BAN SEM VOLTA ENTENDE PARCEIRO TEMOS QUE TER LEIS SEVERAS CONTRA HACKERS ERA A MELHOR FORMA DE NOS DEIXAR ESSAS PRAGAS EXTINTAS.

Link para o comentário
Compartilhar em outros sites

o hack explora uma falha no servidor (causada por má configuração/programação do desenvolvedor ou administrador), cabe o desenvolvedor o administrador corrigir estas, afinal se elas não existirem não haverá hack, consequentemente essas "pragas" seriam extintas, logo não havendo a necessidade de punir ninguém.

 

é bom lembrar que um anti hack que roda fora da api do lineage não é 100% eficaz, "seria uma forma de botar uma tampa no buraco e nao encher ele de concreto"

sign.jpg

<strong><em>Ustiur Games</em> - Lineage 2 Gracia Epilogue private server</strong> coming soon

<strong>http://www.ustiur.com</strong>

Link para o comentário
Compartilhar em outros sites

calma calma amigo...

Ele só está dando a sua opinião,

pois eu tambem acho que BAN de primeira é algo muito severo,

-> Por que?

O player pode ser o que for, se ele levar ban, para de jogar o servidor, e leva a galera que puder pra parar de jogar tambem.

Agora se ele usar o hacker e tomar apenas um susto, ou algo do tipo, ele fala "Servidor bom, aqui não pega hacker" e continuará jogando e talvez trazendo + players.

 

Mas mesmo assim, boa sorte...

 

(PROJETO é com J e não com G, rsrs - Titulo do tópico ajeitado)

 

desculpe qualquer coisa.

"O tamanho dos teus sonhos deve sempre exceder a tua capacidade atual para alcançá-los.
Se os teus sonhos não te assustam, eles não são grandes o suficiente." - Ellen Johnson

Link para o comentário
Compartilhar em outros sites

calma calma amigo...

Ele só está dando a sua opinião,

pois eu tambem acho que BAN de primeira é algo muito severo,

-> Por que?

O player pode ser o que for, se ele levar ban, para de jogar o servidor, e leva a galera que puder pra parar de jogar tambem.

Agora se ele usar o hacker e tomar apenas um susto, ou algo do tipo, ele fala "Servidor bom, aqui não pega hacker" e continuará jogando e talvez trazendo + players.

 

Mas mesmo assim, boa sorte...

 

(PROJETO é com J e não com G, rsrs - Titulo do tópico ajeitado)

 

desculpe qualquer coisa.

 

POR MIN AUTO-BAN ERA A MELHOR OPCAO PARA OS HACKERA PARCEIRO MAIS AI VAI DEPENDER DO DESENVOLVEDOR ENTENDE TIPO.

 

O CARA VAI PROGETAR 1 SUPER SCAN COM VARIOS SERIAL DE HACKERS E SI O PROGRAMA ENCONTRAR ELE PEGA BAN OU BAN TEMPORARIO NAO SEI VAI DEPENDER DO DESENVOLVEDOR IA SER IGUAL AO GAMESERVER SOQ ELE FICA SCANEANDO VARIAS VEZES AO DIA CONSTANTEMENTE AXANDO O SERIAL DOS HACKERS E DANDO PUNICAO ESSE ERA MEU PROGETO SO NAO DESENVOLVO POR QUE NAO TENHO EXPERIENCIA MAIS ACREDITO QUE ALGUEM IRA FAZER.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

GALERA DESCOBRI UMA OUTRA FORMA DE EVITAR OS HACKERS NO SERVIDOR ESCONDENDO A L2.INI E ALTERANDO O L2.EXE MAIS AGORA COMO? TIPO O PESSOAL QUE ENTENDE PODEM UNIFICAR O L2.INI + LOUNCHER 1 DENTRO DO OUTRO E COMO O LOUNCHER E 1 ARQUIVO EXE NAO DA PARA O FILE EDITE ABRIR AI E QUE VEM A QUESTAO COMO FAZER ISSO? TINHA QUE HAVER ALGUM PROGRAMA PARA UNIFICAR OS 2 ARQUIVOS PARA A PESSOA ACESSAR O SERVIDOR E O ADMIN CONFIGURAR O INI E UNIFICAR ASSIM FICARIA FACIL GALERA ENTENDEM BOM MAIS TEMOS QUE AXAR UMA PESSOA MUITO EXPERIENTE PARA FAZER ESSE TRABALHO. OBRIGADO PELA ATENCAO

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

GALERA DESCOBRI UMA OUTRA FORMA DE EVITAR OS HACKERS NO SERVIDOR ESCONDENDO A L2.INI E ALTERANDO O L2.EXE MAIS AGORA COMO? TIPO O PESSOAL QUE ENTENDE PODEM UNIFICAR O L2.INI + LOUNCHER 1 DENTRO DO OUTRO E COMO O LOUNCHER E 1 ARQUIVO EXE NAO DA PARA O FILE EDITE ABRIR AI E QUE VEM A QUESTAO COMO FAZER ISSO? TINHA QUE HAVER ALGUM PROGRAMA PARA UNIFICAR OS 2 ARQUIVOS PARA A PESSOA ACESSAR O SERVIDOR E O ADMIN CONFIGURAR O INI E UNIFICAR ASSIM FICARIA FACIL GALERA ENTENDEM BOM MAIS TEMOS QUE AXAR UMA PESSOA MUITO EXPERIENTE PARA FAZER ESSE TRABALHO. OBRIGADO PELA ATENCAO

 

Primeiro: que tal aprender a escrever?

Segundo: não é apenas com o l2.ini que se descobre o ip do servidor... a questão de obfuscar ip ou arquivos não é uma solução mas sim uma gambiarra que pode ser facilmente desfeita. Precisa de algo concreto e realmente eficiente, ou seja, um loker local que quando ativo permite a recepção dos dados cliente no servidor. Caso feche o programa, e no delay de checagem de dados entre o cliente e o servidor, o servidor não receba as informações do locker, ele interrompe a recepção de dados do cliente, assim dando um dc no player.

 

O locker habilitaria a comunicação entre o cliente e o servidor e seria um "anti processos", com análize de EOF dos processos em execução os que estiverem na blacklist, serão fechados (inclusive o game) e seria enviado um flag pro servidor avisando que houve uma detecção de hack, ai o admin decide se deve acumular X flasg p/ alguma punição, se deve alertar por email o ocorrido ou sei la.

sign.jpg

<strong><em>Ustiur Games</em> - Lineage 2 Gracia Epilogue private server</strong> coming soon

<strong>http://www.ustiur.com</strong>

Link para o comentário
Compartilhar em outros sites

Hj em dia ja tem muita proteção Eficaz contra hack apenas bot que é foda o tal do l2net que nem no servidor de l2 official conseguiu eliminar.

...

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

PARA MIM VOCES ESTAO PERDENDO TEMPO DISCULTINDO O DEIXO O ASSUNTO DO TOPICO PARA TRAZ '' A FINAL ALQUEM TEM UM ANT-PHX QUE FUNCIONE '' ? REV L2JTEON INTERLUDE

Metas:

 

Fazer outra conta;

Ter educação;

Para de dizer que "só entra na staff que é amigo";

Não xingar a ninguém da staff;

Amadurecer;

Ajudar ou outros users;

Ser reconhecido;

Virar Sup. Membro.

Link para o comentário
Compartilhar em outros sites

Acho que pode ser feito sim. Porém o ban pode ser severo demais. Já vi gameguard de mu online detectar aplicativos que não tem nada haver com o game detectar como hacker ou cheat. Então fica ai um alerta se você bloquear os seriais do phx e usuário tiver algum programa com seriais identicos ou com configurações parecidas, ele não va dar BAN em um player normal que esteja ouvindo uma simples musica no média player por exemplo.

Skype: delpalmis

Não confunda ajuda, com entregar pronto!

Link para o comentário
Compartilhar em outros sites

  • 9 months later...

Tem e que da ban Ip nesses Infilizes pode levar ate uma lan toda Prefiro 70 play doque 500=250 Hacker :mad:

Joãozinho chega no colégio… ai a Mariazinha joga uma bola de papel na cabeça dele e fala:

-”Head Shot” ( tiro na cabeça )

Joãozinho pega o livro e taca na cara da Mariazinha e diz:

-“HAHAHAHA FACE BOOK”!

 

Noob (Confere) Desenvolvedor ( ) quem sabe um dia

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Visitante
Este tópico está impedido de receber novos posts.
  • 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.