Ir para conteúdo
  • Cadastre-se

Site ICPNETWORKS


Ivan Pires

Posts recomendados

Aleluia *-* , eo naldinhu pagou a cerva ivan ?

 

queria saber sobre a parada do Selo la da protect , como vai ficar ? o djota ira fazer algum tipo de cadastro para quem baixa apartir daqi da jbrasil ?

cyCrFTF.jpg

Obrigado pelo presente Mickaelll

Corintiano Fanático;

Estudante de T.I e l2jbrasileiro nas horas vagas.

Link para o comentário
Compartilhar em outros sites


Sem Comentarios Melhor saite que ja vi por aki Parabens :D

 

@::Mateus:: Ja que parece Um Blog Queria ver seu conhesimento posta um saite = dele ae completo e Lindo

como o hugo felipe ja diz:

o negocio é ter um site rapido, leve, protegido, completo (em scripts, etc) e de facil manuseio, a beleza é só um bonus ;)

Link para o comentário
Compartilhar em outros sites

Irei responder algumas perguntas sobre o site.

1° Sobre o Selo da protect site;

- Como disse no tópico de desenvolvimento o site da Protect Site está sendo reformulado e ainda não terminamos a parte relacionada a projetos patrocinados.

Assim que estiver pronta irei disponibilizar a forma de como liberar o selo com sua URL.

 

2° o Ivan disse e alguns concordaram que este não é um dos sites mais bonitos do fórum.

 

- Por este motivo que eu me preocupei em modificar o site para ser possível criar Templates, os que tem conhecimento básico em PHP e CSS consegue facilmente alterar o que quiser no site alterando apenas na pasta template.

Como já disse no tópico de desenvolvimento já estou providenciando mais 2 Templates para o site e em breve estarei postando, e creio que em breve teremos mais Templates postados pela galera pois ta muito fácil alterar.

 

 

=============================================================================

Gostaria de agradecer o Ivan pela paciência pois sou meio "louco" pois tenho umas ideias meio esquisitas mas que no fundo dão certo.

E pela compreensão do mesmo por ter tidos certos momentos de ausência pois trabalho na área de telecomunicações e é foda ter tempo para trabalhos extras pois posso ser acionado a qualquer hora e tenho minha vida particular também ^^^^^^.

 

 

Esperam que todos façam bom proveito do site e pode aguardar que em breve vem mais coisa vem por ai pois acho que esta parceria Ivan/Djota não acabou por ai.

 

Abraço a todos.

ATT;

Djota

ProtecSite 2011

logo_barra.png

Link para o comentário
Compartilhar em outros sites

@djota

 

Seria posivel adaptar o telnet no painel admin para a Versao 2.0 do site ?

cyCrFTF.jpg

Obrigado pelo presente Mickaelll

Corintiano Fanático;

Estudante de T.I e l2jbrasileiro nas horas vagas.

Link para o comentário
Compartilhar em outros sites

@djota

 

Seria posivel adaptar o telnet no painel admin para a Versao 2.0 do site ?

@HangLooseE

A questão do telnet na verdade seria inserida nesta versão mas como o site demorou mais que o previsto para ser finalizado deixamos esta função de lado.

Com certesa em uma versão 2.0 esta opção será bem estudada, e é quase certo que ela esteja.

Mas por enquanto iremos aguardar a aceitação deste que está pronto e ver se o site não apresentará probelmas.

 

Sem comentarios pq todos ja falaram parabens Ivan

 

Não tem como trabalharmos para bota esse site no Freya ?

Ajuda to ai

@anlei

Acredito que seja complicado adaptar este site para Freya tendo em vista que a estrutura do Banco de dados de Interlude para Freya Mudou Muito, não é Impossível mas dá Tanto Trabalho quanto fazer um novo.

Por enquanto não pensamos em adaptar ele para Freya mas quem sabe num futuro proximo faremos uma adaptação ou lançaremos um site para esta crônica.

 

=====================================================================================================

Agora quero minha Cerveja HJ é sabado Poxa, já estou com a carteira de identidade na mão pra provar que tenho a maior idade ^^^^.

logo_barra.png

Link para o comentário
Compartilhar em outros sites

@djota

 

Bom dia, como está?

Você fez um ótimo trabalho junto ao Ivan e realmente, um site ótimo e prático.

 

Mas eu queria uma configuração do wampserver, por favor. No php.ini, tem o timezone para mostrar a hora certa do site. Poderia me passar como está no seu?

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = UTC

; http://php.net/date.default-latitude
;date.default_latitude = 31.7667

; http://php.net/date.default-longitude
;date.default_longitude = 35.2333

; http://php.net/date.sunrise-zenith
;date.sunrise_zenith = 90.583333

; http://php.net/date.sunset-zenith
;date.sunset_zenith = 90.583333

 

Pode deixar, já consegui arrumar. Obrigado.

Editado por TheMordor

mSw8ymV.gif

Link para o comentário
Compartilhar em outros sites

Outra coisa, log de Muedas tem quantidade maxima de Linhas ou se tiver 1,000 Player que fez modificação vão aparecer os 1.000 ?

Não coloquei limite, se tiver 1.000 players fazendo transação de moedas irá aparecer todas as 1.000 linhas de log de moedas.

 

hehe.. saiuu ! Parabéns rapaz.. Um dos melhores pra nao falar o melhor !! Acompanhei este projeto de perto.. nao pude ajudar porém acompanhei ! Parabéns a vocês: Ivan, Dudu e Djota :D

Fala Paulão, to ligado, muitas vezes vi você lendo nosso projeto. ^^ Ajudou bastante só de estar presente. ^^ Abração e obrigado. =D

 

Aleluia *-* , eo naldinhu pagou a cerva ivan ?

 

queria saber sobre a parada do Selo la da protect , como vai ficar ? o djota ira fazer algum tipo de cadastro para quem baixa apartir daqi da jbrasil ?

Pago nada, aquele safado, deixa ele que vou pegar ele. huehueuheuhueh Ainda deve uma rodada de brja pra gente. ^^

Sobre o telnet a gente vai fazer para a próxima versão, seria legal se a galera fosse dando outras idéias para que nós já começássemos a elaborar as metas do próximo projeto. Telnet já está na lista. =)

 

Seguinte na hora de fazer o loguin no painel da erro : http://l2kg.net/site2/

Marcell, posta sua config aqui para eu dar uma olhada.

 

Irei responder algumas perguntas sobre o site.

1° Sobre o Selo da protect site;

- Como disse no tópico de desenvolvimento o site da Protect Site está sendo reformulado e ainda não terminamos a parte relacionada a projetos patrocinados.

Assim que estiver pronta irei disponibilizar a forma de como liberar o selo com sua URL.

 

2° o Ivan disse e alguns concordaram que este não é um dos sites mais bonitos do fórum.

 

- Por este motivo que eu me preocupei em modificar o site para ser possível criar Templates, os que tem conhecimento básico em PHP e CSS consegue facilmente alterar o que quiser no site alterando apenas na pasta template.

Como já disse no tópico de desenvolvimento já estou providenciando mais 2 Templates para o site e em breve estarei postando, e creio que em breve teremos mais Templates postados pela galera pois ta muito fácil alterar.

 

 

=============================================================================

Gostaria de agradecer o Ivan pela paciência pois sou meio "louco" pois tenho umas ideias meio esquisitas mas que no fundo dão certo.

E pela compreensão do mesmo por ter tidos certos momentos de ausência pois trabalho na área de telecomunicações e é foda ter tempo para trabalhos extras pois posso ser acionado a qualquer hora e tenho minha vida particular também ^^^^^^.

 

 

Esperam que todos façam bom proveito do site e pode aguardar que em breve vem mais coisa vem por ai pois acho que esta parceria Ivan/Djota não acabou por ai.

 

Abraço a todos.

ATT;

Djota

ProtecSite 2011

Eu entendo Djota, muitas vezes quando nós estávamos trabalhando eu via a sua correria.

Concerteza nossa parceria não acabou não, time que está ganhando não se mexe. =D

Eu também tenho idéias malucas, nossas idéias combinam. xD

 

Abraço mano!

 

cara olha a parte de baixo nao esta aparecendo!!!

 

Você configurou alguma coisa errada, comece tudo de novo e assista as video aulas.

Abraço.

 

 

 

Link para o comentário
Compartilhar em outros sites

Minhas config :

 

<?php
$index = 'index';

# Conecção com o Banco de Dados do Servidor (localhost)
$ipserver = "IP DO DEDICADO";
$user = "root";
$senha = "SENHA ROOT";
$db = "l2jdb";

$conexao = mysql_connect($ipserver,$user,$senha) or die (mysql_error());
$banco = mysql_select_db($db, $conexao) or die(mysql_error());

$sql_config = mysql_query("SELECT * FROM config WHERE id='1'") or die(mysql_error());
while($config = mysql_fetch_array($sql_config)){

##### NÃO ALTERE DAQUI PARA BAIXO, CONFIGURE PELO PAINEL ADM NO SITE!!! #####

# Titulo das Páginas e Nome do Servidor (NÃO ALTERAR!!!)

$titulodosite = $config["titulo_site"];
$nomedoservidor = $config["server_name"];
$skin = $config["template"];

# Rates do Servidor (NÃO ALTERAR!!!)

$cronica = $config["cronica"];
$xp = "$config[xp]";
$sp = "$config[sp]";
$adena = "$config[adena]";
$dropx = "$config[dropx]";
$spoil = "$config[spoil]";

# RANKING TOP MILIONÁRIO (NÃO ALTERAR!!!)

$valorgoldbar = $config["valor_goldbar"]; // <-- 500kk

# Configurações de doações do Painel de Usuario (NÃO ALTERAR!!!)

$qtdtrocachardeacc = $config["tr_char_acc"]; // Quantidade de Moedas para trocar um char de conta
$qtdtrocanomechar = $config["tr_nome_char"]; // Quantidade de Moedas para trocar o nome de um char
$qtdtrocas***char = $config["tr_s***_char"]; // Quantidade de Moedas para trocar o s*** de um char
$qtdtrocaemailacc = $config["tr_email_acc"]; // Quantidade de Moedas para trocar o e-mail da um conta

// Envio de e-mails (NÃO ALTERAR!!!)

$envia_email = $config["envia_email"];
$host_smtp = $config["host_smtp"];
$email_contato = $config["email_contato"];
$senha_email_contato = $config["senha_email_contato"];

// Configurações dos Enchants (NÃO ALTERAR!!!)

$enchant_max = $config["enchant_max"];
$enchant_safe = $config["enchant_safe"];
$enchant_scroll = $config["enchant_scroll"];
$enchant_blessed = $config["enchant_blessed"];
$enchant_d = $config["enchant_d"];
$enchant_c = $config["enchant_c"];
$enchant_b = $config["enchant_b"];
$enchant_a = $config["enchant_a"];
$enchant_s = $config["enchant_s"];
$enchant_s80 = $config["enchant_s80"];
$enchant_s84 = $config["enchant_s84"];

}

?>

Convido a todos para conheçer um servidor diferenciado,inaugurado dia 26-03! clique no banner abaixo

 

cojPkeB.gif

 

Link para o comentário
Compartilhar em outros sites

@Marcell

Eu quis dizer a sua pagina de validação. ^^

Mas eu estava dando uma olhada aqui, o erro que esta acontecendo na sua pagina de validação é que ele não esta redirecionando o usuario.

Você usa alguma programa para utilizar o site? Qual? Ou usa hospedagem?

 

Abraço.

 

 

 

Link para o comentário
Compartilhar em outros sites

Eu uso Hospedagem

 

<?php

include('../config/config.php');

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) {
header("Location: ../index.php?erro=em_branco"); exit;
}

$usuario = mysql_real_escape_string(trim($_POST['usuario']));
$senha = base64_encode(pack('H*', sha1($_POST['senha'])));

// Validação do usuário/senha digitados
$sql = "SELECT * FROM `accounts` WHERE (`login` = '". $usuario ."') AND (`password` = '". $senha ."') LIMIT 1";
$query = mysql_query($sql);
if (mysql_num_rows($query) != 1) {

header("Location: ../index.php?Pagina=loginerror"); exit;

} else {
// Salva os dados encontados na variável $resultado
$resultado = mysql_fetch_assoc($query);

// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();

// Salva os dados encontrados na sessão
$_SESSION['UsuarioLogin'] = $resultado['login'];
$_SESSION['UsuarioNome'] = $resultado['nome'];
$_SESSION['UsuarioNivel'] = $resultado['access_level'];
$_SESSION['UsuarioEmail'] = $resultado['email'];

// Redireciona o visitante
 if($_SESSION['UsuarioNivel'] == "1"){
   header("Location: ../index.php?Pagina=administracao"); exit;
 }
 if($_SESSION['UsuarioNivel'] == "0"){
   header("Location: ../index.php?Pagina=painel"); exit;
 }
}

?>

Convido a todos para conheçer um servidor diferenciado,inaugurado dia 26-03! clique no banner abaixo

 

cojPkeB.gif

 

Link para o comentário
Compartilhar em outros sites

Estou tendo o mesmo erro, Quando eu faço o login me aparece este erro:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\l2painel\val\validacao.php:1) in C:\AppServ\www\l2painel\val\validacao.php on line 25

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\l2painel\val\validacao.php:1) in C:\AppServ\www\l2painel\val\validacao.php on line 35

Porém ao clicar no botão voltar.. eu retorno para a index LOGADO !

minha pag de validação esta assim:

<?php

include('../config/config.php');

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) {
header("Location: ../index.php?erro=em_branco"); exit;
}

$usuario = mysql_real_escape_string(trim($_POST['usuario']));
$senha = base64_encode(pack('H*', sha1($_POST['senha'])));

// Validação do usuário/senha digitados
$sql = "SELECT * FROM `accounts` WHERE (`login` = '". $usuario ."') AND (`password` = '". $senha ."') LIMIT 1";
$query = mysql_query($sql);
if (mysql_num_rows($query) != 1) {

header("Location: ../index.php?Pagina=loginerror"); exit;

} else {
// Salva os dados encontados na variável $resultado
$resultado = mysql_fetch_assoc($query);

// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();

// Salva os dados encontrados na sessão
$_SESSION['UsuarioLogin'] = $resultado['login'];
$_SESSION['UsuarioNome'] = $resultado['nome'];
$_SESSION['UsuarioNivel'] = $resultado['access_level'];
$_SESSION['UsuarioEmail'] = $resultado['email'];

// Redireciona o visitante
 if($_SESSION['UsuarioNivel'] == "1"){
   header("Location: ../index.php?Pagina=administracao"); exit;
 }
 if($_SESSION['UsuarioNivel'] == "0"){
   header("Location: ../index.php?Pagina=painel"); exit;
 }
}

?>

 

Uso AppServ localhost ! nao testei em hospedagem !

Link para o comentário
Compartilhar em outros sites

to com ese erro aki c alguem puder ajudar :S

 

http://imageshack.us...41/errobru.png/

 

vc não execiutou as querrys corretamente.

recomento que assista novamente as videoaulas e siga passo a passo as orientações do video.

 

Seu erro é que a tablea config não foi criada , ou seja vc não executou ou não executou corretamente as querys sedidas juntamente com o website.

logo_barra.png

Link para o comentário
Compartilhar em outros sites

Eu nunca usei AppServ, não sei exatamente o que vocês devem fazer, mas da pra tentar resolver de outra forma.

O problema que esta dando eu já descobri que é no redirecionamento "header".

Vocês podem alterar todos os redirecionamentos "header" para redirecionamento em meta tag, ex:

 

header("Location: ../index.php?Pagina=administracao"); exit;

echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=../index.php?Pagina=administracao'>"; exit;

 

O site só vai ficar um pouco demorado pra logar.

 

Façam o teste.

 

Abraço.

 

 

 

Link para o comentário
Compartilhar em outros sites

Ivan fiz o que disse acima no redirecionamento.

 

<?php

include('../config/config.php');

// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) {
header("Location: ../index.php?erro=em_branco"); exit;
}

$usuario = mysql_real_escape_string(trim($_POST['usuario']));
$senha = base64_encode(pack('H*', sha1($_POST['senha'])));

// Validação do usuário/senha digitados
$sql = "SELECT * FROM `accounts` WHERE (`login` = '". $usuario ."') AND (`password` = '". $senha ."') LIMIT 1";
$query = mysql_query($sql);
if (mysql_num_rows($query) != 1) {

header("Location: ../index.php?Pagina=loginerror"); exit;
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=../index.php?Pagina=loginerror'>"; exit;
} else {
// Salva os dados encontados na variável $resultado
$resultado = mysql_fetch_assoc($query);

// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();

// Salva os dados encontrados na sessão
$_SESSION['UsuarioLogin'] = $resultado['login'];
$_SESSION['UsuarioNome'] = $resultado['nome'];
$_SESSION['UsuarioNivel'] = $resultado['access_level'];
$_SESSION['UsuarioEmail'] = $resultado['email'];

// Redireciona o visitante
 if($_SESSION['UsuarioNivel'] == "1"){
   header("Location: ../index.php?Pagina=administracao"); exit;
   echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=../index.php?Pagina=administracao'>"; exit;
 }
 if($_SESSION['UsuarioNivel'] == "0"){
   header("Location: ../index.php?Pagina=painel"); exit;
   echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=../index.php?Pagina=painel'>"; exit;
 }
}

?>

 

Continua mesma coisa estou usando direto na hospedagem.

...

Link para o comentário
Compartilhar em outros sites

  • Wallz unpinned, unlocked e locked this Tópico
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.