Ir para conteúdo
  • Cadastre-se

Painel Administrativo - PHP + OOP


Posts recomendados


  • 3 weeks later...

Parabéns pelo Desenvolvimento, está muito bom mesmo, é o seguinte, estou com o seguinte erro:


error.png


já percebi que tenho que adaptar os dados mysql do meu svr ao do sb-admin, mais e se eu criar uma database somente para o sb-admin,
ele irá funcionar normalmente?

ele faz loqin. segue imagem ao fazer login verth/verth:

error.png

 

as únicas tabelas usadas pelo painel são ás que começa com shop_...?

Sistema Operacional: windows server 2003
Versão MySql: 6.0

Servidor: Interlude L2jfrozen

-Agradeço desde Já

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

 

Obrigado.

 

Bom, sobre a db só pro painel: Nops, pois as funções das tabelas "accounts, itens, characters, ...." irão dar erro e o painel não irá carregar.

Sobre o prefixo shop_: Creio eu que sim, eu sugiro que você olhe nas classes pois cada tabela tem uma classe. Dê uma comparada rápida, o nome da classe (dentro do arquivo) que não tiver na sua tabela, é custom do sb-admin. (Não vou falar que são só as shop_ pois posso me esquecer de ter colocado o prefixo em alguma).

 

O problema da conexão do mysql: Sugiro que verifique os dados, ip/host, login, senha, db.

 

Quanto as noticies, desative as noticias (não são erros): E_Notice nas configurações.

 

Mais uma vez, obrigado pelo feedback, qualquer coisa é só postar que lhe auxilio.

Link para o comentário
Compartilhar em outros sites

Sim... eu logo depois de ver um pouco o sistema pensei que não teria lógica ter uma database só para ela

os items comprados tanto do "shop players" ou "shop oficial" até mesmo a entrega do donate não iria funcionar.

quando tiver mais tempo irei fazer leitura de todos os arquivos e entender melhor como o sistema funciona.

 

os dados da conexão MySql estão todos em ordem.

 

e não consegui encontrar E_Notice nas configurações. :O

 

Novamente lhe Parabenizo pelo seu desenvolvimento e agradeço desde já o suporte.

Link para o comentário
Compartilhar em outros sites

 

 

Eu que lhe agradeço, a parte mais satisfatória de um projeto para o desenvolvedor é o feedback.

 

Configurações do php.ini:

 

error_reporting: E_Warning & E_Deprecated & E_Notice (esse é o padrão se não me engano)

 

Sobre o painel, a lógica dele está boa, o que eu sugiro que você faça ?

Crie uma nova pasta para o projeto, veja quais arquivos estão sendo realmente usados (grande parte é só para documentação do painel), faça a conexão em PDO (mysql_* está ficando pra traz), passe as funções da DB do CRUD (Create, Read, Update, Delete) que estão de mysql_* para PDO.

 

Atualize os scripts com os novos comandos.

 

Edite o que quiser, onde quiser para novos scripts.

 

Seja feliz com um painel extremamente leve e com o código atualizado.

 

*Obs: A lógica do painel (mais específico no "shop") está perfeita. Já a área administrativa, é necessário verificar com tempo para melhorar os scripts, nada que possam ser burlado, mas é sempre bom conferir.

>> A parte administrativa foi a primeira que fiz, a 3 anos, por isso é preciso conferi-la. Já o shop foi a ultima coisa que fiz, ta ó.... uma beleza :3

 

Estou te passando o passo a passo que deve ser feito no painel para ele ficar perfeito porque você demonstrou interesse não só em usa-lo, mas em entendê-lo.

 

^-^

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

 

Eu que lhe agradeço, a parte mais satisfatória de um projeto para o desenvolvedor é o feedback.

 

Configurações do php.ini:

 

error_reporting: E_Warning & E_Deprecated & E_Notice (esse é o padrão se não me engano)

 

Sobre o painel, a lógica dele está boa, o que eu sugiro que você faça ?

Crie uma nova pasta para o projeto, veja quais arquivos estão sendo realmente usados (grande parte é só para documentação do painel), faça a conexão em PDO (mysql_* está ficando pra traz), passe as funções da DB do CRUD (Create, Read, Update, Delete) que estão de mysql_* para PDO.

 

Atualize os scripts com os novos comandos.

 

Edite o que quiser, onde quiser para novos scripts.

 

Seja feliz com um painel extremamente leve e com o código atualizado.

 

*Obs: A lógica do painel (mais específico no "shop") está perfeita. Já a área administrativa, é necessário verificar com tempo para melhorar os scripts, nada que possam ser burlado, mas é sempre bom conferir.

>> A parte administrativa foi a primeira que fiz, a 3 anos, por isso é preciso conferi-la. Já o shop foi a ultima coisa que fiz, ta ó.... uma beleza :3

 

Estou te passando o passo a passo que deve ser feito no painel para ele ficar perfeito porque você demonstrou interesse não só em usa-lo, mas em entendê-lo.

 

^-^

Realmente isto é verdade hoje o certo e passa tudo que for possivel em PDO 'PHP Data Object' , POO 'PHP Orientado a Objetos' isto vai deixar o mais que excelente como ele já é e muito mais seguro!!,

em termos de invasão!!, sem contar de mais level pra carregar as paginas!!

X-Trap

Link para o comentário
Compartilhar em outros sites

Tudo que um ADM precisa para um grande servidor, parabéns pelo trabalho.

 

Obrigado, qualquer dúvida não exite em postar que assim que possível eu responderei ^-^

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Parabéns pelo trabalho .... ficou muito atrativo e bem desenvolvido !!!

 

Obrigado,

 

Qualquer dúvida, é só postar que responderei assim que possível ^-^

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 3 months later...

Parabéns pelo Desenvolvimento, está muito bom mesmo, é o seguinte, estou com o seguinte erro:

 

 

error.png

 

já percebi que tenho que adaptar os dados mysql do meu svr ao do sb-admin, mais e se eu criar uma database somente para o sb-admin,

ele irá funcionar normalmente?

ele faz loqin. segue imagem ao fazer login verth/verth:

error.png

 

as únicas tabelas usadas pelo painel são ás que começa com shop_...?

 

Sistema Operacional: windows server 2003

Versão MySql: 6.0

Servidor: Interlude L2jfrozen

-Agradeço desde Já

ForeverAlone, você conseguiu resolver esse problema? estou enfrentando essa dificuldade, poderia me ajudar?

by

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

ForeverAlone, você conseguiu resolver esse problema? estou enfrentando essa dificuldade, poderia me ajudar?

 

Olá, desculpe a demora. Então as "notice" não são erros, pode desativar as noticias nas configurações do php, quanto a pergunta do forever alone, o painel usa algumas tabelas a mais do que o shop_* (a tabela accounts sofreu algumas modificações, tive que acrescentar algumas colunas nela...).

 

 

proteções?

 

Leita o tópico.

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

  • 1 month later...

Ocorreu um erro com os seguintes detalhes:
Arquivo: C:\AppServ\www\4\sb-admin\classes\banco.class.php
Rotina: executaSQL
Codigo: 1366
Mensagem: Incorrect integer value: '' for column 'time_of_use' at row 1

GMDark

Link para o comentário
Compartilhar em outros sites

 

ola gostaria se alguem pudesse ajudar ver como q faz este sistema roda, quando vai logar da erro.. ou se alguem souber como q faço para retirar a restrição de login, fazer ele abrir direto

Editado por Nattan Felipe
Removendo spoiler gigante.
Link para o comentário
Compartilhar em outros sites

  • 1 month later...

estou com

 

 

Obrigado, qualquer dúvida não exite em postar que assim que possível eu responderei ^-^

estou com os seguintes erros amigo

 

Notice: Undefined variable: pathlocal in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\classes\autoload.php on line 6

Notice: Undefined variable: pathlocal in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\classes\autoload.php on line 6

Notice: Undefined variable: pathlocal in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\classes\autoload.php on line 6

Notice: Undefined variable: pathlocal in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\classes\autoload.php on line 6

Parse error: syntax error, unexpected ';' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\classes\banco.class.php on line 8

Link para o comentário
Compartilhar em outros sites

Notice = Aviso

 

Não é erro :)

 

Já o outro, é só um fechamento de linha indevido, só seguir o caminho e editar a linha 8 ^^

boa noite amigo , poderia se especifico e explicar detalhadamento se não for muito encomodo pois não manjo muito de php , e quando tento entrar ele não entra e aparece essas mensagem que te mostrei ;s se poder me ajudar agradeço muito cara valeu.

Link para o comentário
Compartilhar em outros sites

alquem me ajuda a mudar o painel para pdo??? ou se alque ja vez isso puder me arruma fico agrato

estou com um pequeno problema nao estou conseguindo resolver

aparece a sequinte msg em todo painel

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in/home/eclip950/public_html/l2darkscarlett.com/acc/classes/banco.class.php on line 24

 

alquem ajuda?

Link para o comentário
Compartilhar em outros sites

alquem me ajuda a mudar o painel para pdo??? ou se alque ja vez isso puder me arruma fico agrato

estou com um pequeno problema nao estou conseguindo resolver

aparece a sequinte msg em todo painel

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in/home/eclip950/public_html/l2darkscarlett.com/acc/classes/banco.class.php on line 24

 

alquem ajuda?

 

É somente um aviso de que a sintaxe mysql_* está ultrapassada, você pode desativar esses avisos no seu apache.

Link para o comentário
Compartilhar em outros sites

 

É somente um aviso de que a sintaxe mysql_* está ultrapassada, você pode desativar esses avisos no seu apache.

blz mas eu uso hospedagem, tem jeito tbm neh?

certo gostaria de saber mais uma coisa, tem como usar esse painel e continuar com a criaçao de conta ingame? pq quanto instalo a tabela account ele fica com o cadastro so no site.e se eu tiro as coisa ele nei entra no painel.

desde ja obrigado

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.