Ir para conteúdo
  • Cadastre-se

Site ICPNETWORKS


Ivan Pires

Posts recomendados

Ainda não consegui Ivan...

 

Na FAQ da empresa que contratei para o meu site, diz que é smtp (SMTP) para saída de emails e mail (POP3) para entrada de emails. E fazendo testes com eles, ainda não consigo enviar email pelo "Contato" e consequentemente recuperar senha.

 

~~Edit~~

Será que você pode liberar o MP?

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


Ainda não consegui Ivan...

 

Na FAQ da empresa que contratei para o meu site, diz que é smtp (SMTP) para saída de emails e mail (POP3) para entrada de emails. E fazendo testes com eles, ainda não consigo enviar email pelo "Contato" e consequentemente recuperar senha.

 

~~Edit~~

Será que você pode liberar o MP?

Meu MP está liberado, só que minha caixa de mensagem está cheia, toda vez eu apago msgs e sempre lota.

Talvez seja a porta, coloca o código abaixo junto do código na página de contato, pode ser na linha 20:

$mail->Port = 587;

Você colocou nas configurações que você está usando o site em uma hospedagem? Se estiver configurado pra Servidor Dedicado vai dar erro mesmo.

Veja se resolve agora.

Abraço.

 

 

 

Link para o comentário
Compartilhar em outros sites

Então Ivan,

Neste intervalo para a resposta eu li um tutorial da propria empresa para configurar no Outlook e vi que a porta dita por ele é essa 587 mesmo. Mas eu mudei na linha 43.

 

E já fiz a troca da opção de "Servidor de hospedagem" para "Servidor dedicado", e vise-e-versa :S

 

Oque será em?

 

~~Edit~~

 

Aaah, depois coloquei a porta padrão que já estava no "contato.php" e adicionei na Linha 20 oque você pediu. Mas ainda continua o erro..

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

Gostaria de saber onde mudo a imagem de parceiros pois dizem que é no painel admin, mais não encontrei. ;)

Se eu não me engano é nas páginas pag.php e rank.php

 

 

Uma eu acho que é na pagina HOME.php, a outra eu nao me lembro KK

Procure conversar com sua hospedagem, tenho quase certeza que ou o smtp não está correto ou precisa de alguma coisa a mais no script, precisa ver com eles o que é que precisa ter no script que não tem, as vezes é alguma proteção.

 

 

 

Link para o comentário
Compartilhar em outros sites

Então Ivan,

 

Entrei em contato agora com o suporte da empresa, e o que foi me passado é de que o formulário de envio tem que ser um "Formulário Autenticado" :S. Não sei se este já é um "formulário autenticado", mas foi oque o suporte me informou.

 

Fiz uma pesquisa rápida no nosso amigo google, e achei este tipo de formulário para download KK.

 

~~Edit~~

 

Olha, mais alguns minutos pesquisando encontrei isso. É da empresa contatada: Formulário autenticado

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

Gladieto,

 

Eu também utilizo o UOLHOST e ta de boa.... veja o e-mail de retorno do recuperar senha

 

OláIgor!

 

Este é um e-mailgerado automaticamente pelo nosso site, pararecuperação de dados.

 

Seu Login é:razoredge

Sua nova senha é: ..........

 

Você pode alterar suasenha em nosso Painel do Usuario, basta vocêlogar com seu Login e sua Novasenha.

 

Atenciosamente...

 

 

A config está assim:

 

Envio de Emails: Servidor de Hospedagem

 

servidor smtp: smtp.sunblade.com.br que no caso deve ficar smtp.l2wood.net (se este é o domínio de sua hospedagem no uolhost).

 

 

 

Um abraço

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

Gladieto,

 

Eu também utilizo o UOLHOST e ta de boa.... veja o e-mail de retorno do recuperar senha

Um abraço

 

Será que você pode colocar o o .Php do recuperar senha e do contato aqui?

Ou me mandar por MP? Ai eu substituo e vejo oque da !

Link para o comentário
Compartilhar em outros sites

Espero que ajude

 

contato.php

 

 

 

<div id="titulo_box">
Contato
</div>
<?php

if($_POST["nome"] == ''){ }else{
$nome = $_POST["nome"];
$email = $_POST["email"];
$char = $_POST["char"];
$assunto = $_POST["assunto"];
$conteudo = $_POST["mensagem"];
if($envia_email == 1){
require("phpmailer/class.phpmailer.php"); // ADICIONA O SCRIPT DE ENVIO DE E-MAILS
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "$host_smtp"; //SERVIDOR DE SMTP, USE smtp.SeuDominio.com OU smtp.hostsys.com.br
$mail->SMTPAuth = true;
$mail->Username = "$email_contato"; //EMAIL PARA SMTP AUTENTICADO (pode ser qualquer conta de email do seu domínio)
$mail->Password = "$senha_email_contato"; //SENHA DO EMAIL PARA SMTP AUTENTICADO
$mail->From = "$email"; //E-MAIL DO REMETENTE
$mail->FromName = "$nome"; //NOME DO REMETENTE
$mail->AddAddress("$email_contato"); //E-MAIL DO DESINATÁRIO, NOME DO DESINATÁRIO
$mail->WordWrap = 50; // ATIVAR QUEBRA DE LINHA
$mail->IsHTML(true);
$mail->CharSet = "utf-8";
$mail->Subject = "$assunto"; //ASSUNTO DA MENSAGEM
$mail->Body = "Player: $char<br><br>$conteudo"; //MENSAGEM NO FORMATO HTML, PODE SER TEXTO OU IMAGEM

if(!$mail->Send()){
echo "<div align='center'>Erro: Mensagem não enviada.</div><br>";
}else{
echo"<div align='center'>Mensagem enviada com sucesso!</div><br>";
}
}elseif($envia_email == 0){
error_reporting(0);
require "phpmailer/class.phpmailer.php";
$mail = new PHPMailer(); //
$mail->Mailer = "smtp";
$mail->IsHTML(true); //
$mail->CharSet = "utf-8";
$mail->SMTPSecure = "tls";
$mail->Host = "$host_smtp";
$mail->Port = "465";
$mail->SMTPAuth = "true";
$mail->Username = "$email_contato"; // login do gmail
$mail->Password = "$senha_email_contato"; // senha do gmail
$mail->From = "$email"; // email que vai aparecer para o destinatario
$mail->FromName = "$nome"; //NOME DO REMETENTE
$mail->AddAddress("$email_contato"); // destinatario
$mail->AddReplyTo("$email", $mail->FromName); // email de resposta
$mail->Subject = "$assunto";
$mail->Body = "Player: $char<br><br>$conteudo";
// Controle de erro ou sucesso no envio
if (!$mail->Send()){
echo "<div align='center'>Erro: Mensagem não enviada.</div><br>";
}else{
echo "<div align='center'>Mensagem enviada com sucesso!</div><br>";
}
}
}
?>
<style type="text/css">
#container_formulario {
width:400px;
}

#label_formulario {
width:100px;
float:left;
}

#campo_formulario {
width:300px;
float:left;
}

#campo_button {
width:400px;
float:left;
}

</style>

<center><div align="center" style="width: 95%;">

<h1>Fale Conosco</h1>
<div id="container_formulario">
<form action="" name="form1" method="post">
<div id="label_formulario">Nome:</div>
<div id="campo_formulario"><input name="nome" type="text" size="50"></div>
<div id="label_formulario">Email:</div>
<div id="campo_formulario"><input name="email" type="text" size="50"></div>
<div id="label_formulario">Char:</div>
<div id="campo_formulario" align="left"><select name="char" >
<option>Selecione seu Char</option>
<?php
$chars = mysql_query("SELECT char_name FROM characters WHERE account_name = '$_SESSION[usuarioLogin]' ORDER BY char_name ASC") or die(mysql_error());
$nr = mysql_num_rows($chars);
if($nr > 0) {
for ($i=0; $i<$nr; $i++) {
$r = mysql_fetch_array($chars);
echo "<OPTION VALUE=\"".$r["char_name"]."\">".$r["char_name"]."</OPTION>";
}
}else{
echo"<option value='Visitante'>Não tenho cadastro</option>";
}
?>
</select></div>
<div id="label_formulario">Assunto:</div>
<div id="campo_formulario" align="left"><select name="assunto">
<option>Selecione</option>
<option>Suporte</option>
<option>Doações</option>
<option>Bugs</option>
</select></div>
<div id="label_texto">Contetudo:</div>
<div id="campo_texto"><textarea name="mensagem" cols="60" rows="15"></textarea></div>

<div id="campo_button" align="right"><input name="button" type="submit" value="Enviar" class="selecionar"><br /> </div>
</form>
</div>
</div>
</center>

 

 

 

recuperacao.php

 

 

 



<div id="titulo_box">
Recuperar Senha
</div>
<?php
$email = $_POST["email"];
if($email == ''){ }else{
$sql = mysql_query("SELECT nome, login FROM accounts WHERE email='$email'") or die(mysql_error());
$check = mysql_num_rows($sql);

if($check == 1){
while($rows = mysql_fetch_array($sql)){ $user_name = $rows["nome"]; $user_login = $rows["login"]; }
$CaracteresAceitos = 'abcdxywzABCDZYWZ0123456789';
$max = strlen($CaracteresAceitos)-1;
$password = null;
for($i=0; $i < 8; $i++) {
$password .= $CaracteresAceitos{mt_rand(0, $max)};
$newpass = base64_encode(pack("H*", sha1(utf8_encode($password))));
}
if($envia_email == 1){
$alterandosenha = mysql_query("UPDATE accounts SET password='$newpass' WHERE email='$email'") or die(mysql_error());
require("phpmailer/class.phpmailer.php"); // ADICIONA O SCRIPT DE ENVIO DE E-MAILS
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "$host_smtp"; //SERVIDOR DE SMTP, USE smtp.SeuDominio.com OU smtp.hostsys.com.br
$mail->SMTPAuth = true;
$mail->Username = "$email_contato"; //EMAIL PARA SMTP AUTENTICADO (pode ser qualquer conta de email do seu domínio)
$mail->Password = "$senha_email_contato"; //SENHA DO EMAIL PARA SMTP AUTENTICADO
$mail->From = "$email_contato"; //E-MAIL DO REMETENTE
$mail->FromName = "$nomedoservidor"; //NOME DO REMETENTE
$mail->AddAddress("$email"); //E-MAIL DO DESINATÁRIO, NOME DO DESINATÁRIO
$mail->WordWrap = 50; // ATIVAR QUEBRA DE LINHA
$mail->IsHTML(true);
$mail->CharSet = "utf-8";
$mail->Subject = "Recuperação de Senha"; //ASSUNTO DA MENSAGEM
$mail->Body = "<center><font color='#0066FF' size='5'><b>Olá <u>$user_name</u></b>!</font><br><br> Este é um e-mail gerado automaticamente pelo nosso site, para recuperação de dados.<br><br>Seu Login é: <b>$user_login</b><br>Sua nova senha é: <b>$password</b><br><br>Você pode alterar sua senha em nosso Painel do Usuario, basta você logar com seu Login e sua Nova senha.<br><br>Atenciosamente...<br><br><h3><u>Staff $nomedoservidor</u></h3></center>"; //MENSAGEM NO FORMATO HTML, PODE SER TEXTO OU IMAGEM

if(!$mail->Send()){
echo "<div align='center'>Erro: Mensagem não enviada.</div><br>";
}else{
echo"<div align='center'>Uma nova senha foi enviada para o seu E-mail!</div><br>";
}
}elseif($envia_email == 0){
error_reporting(0);
$alterandosenha = mysql_query("UPDATE accounts SET password='$newpass' WHERE email='$email'") or die(mysql_error());
require "phpmailer/class.phpmailer.php";

$mail = new PHPMailer(); //
$mail->Mailer = "smtp";
$mail->IsHTML(true); //
$mail->CharSet = "utf-8";
$mail->SMTPSecure = "tls";
$mail->Host = "$host_smtp";
$mail->Port = "465";
$mail->SMTPAuth = "true";
$mail->Username = "$email_contato"; // login do gmail
$mail->Password = "$senha_email_contato"; // senha do gmail
$mail->From = "$email_contato"; // email que vai aparecer para o destinatario
$mail->FromName = "$nomedoservidor"; //NOME DO REMETENTE
$mail->AddAddress("$email"); // destinatario
$mail->AddReplyTo("$email_contato", $mail->FromName); // email de resposta
$mail->Subject = "Recuperação de Senha";
$mail->Body = "<center><font color='#0066FF' size='5'><b>Olá <u>$user_name</u></b>!</font><br><br> Este é um e-mail gerado automaticamente pelo nosso site, para recuperação de dados.<br><br>Seu Login é: <b>$user_login</b><br>Sua nova senha é: <b>$password</b><br><br>Você pode alterar sua senha em nosso Painel do Usuario, basta você logar com seu Login e sua Nova senha.<br><br>Atenciosamente...<br><br><h3><u>Staff $nomedoservidor</u></h3></center>";
// Controle de erro ou sucesso no envio
if (!$mail->Send()){
echo "<div align='center'>Erro: Mensagem não enviada.</div><br>";
}else{
echo "<div align='center'>Uma nova senha foi enviada para o seu E-mail!</div><br>";
}
}
}else{
echo"<div align='center'><b>E-mail inexistente.</b></div>";
}
}
?>
<style type="text/css">
#container_formulario {
width:400px;
}

#label_formulario {
width:100px;
float:left;
}

#campo_formulario {
width:300px;
float:left;
}

#campo_button {
width:400px;
float:left;
}

</style>

<center><div align="center" style="width: 95%;">

<h1>Recuperar Senha</h1>
<div id="container_formulario">
<form action="" id="form1" name="form1" method="post">

Por favor, informe seu e-mail cadastrado:<br />
<input name="email" type="text" size="50" />
<br />
Será enviado um email com sua nova senha.
<br />

<input type="submit" name="button" id="button" value="Recuperar" class="selecionar" />
</form><br />
</div>

</div>
</center>


 

 

 

Configuração

 

 

config.png

 

 

Link para o comentário
Compartilhar em outros sites

Ivan, se for possível quando tiver um tempinho ai... edita uma template com uma aparência natalina compatível com o seu website, pois uso ele em meu servidor e muitos outros admin's, afinal é um ótimo trabalho.

Enfim, quando sobrar um tempinho disponível, vê se pode disponibilizar algo assim pra gente. :D Obrigado desde jaá!

Link para o comentário
Compartilhar em outros sites

Ivan, se for possível quando tiver um tempinho ai... edita uma template com uma aparência natalina compatível com o seu website, pois uso ele em meu servidor e muitos outros admin's, afinal é um ótimo trabalho.

Enfim, quando sobrar um tempinho disponível, vê se pode disponibilizar algo assim pra gente. :D Obrigado desde jaá!

 

Acho mais facil Yondaime você criar seu template , template é mais gosto ,não pra ele criar um template pra agradar 1 e desagradar 1.

 

Tem muitos tutoriais para se editar no photoshop então espero que tenha ajudado.

84679342.jpg
Link para o comentário
Compartilhar em outros sites

O certo é você deixar assim:

 

ALTER TABLE `accounts` ADD email varchar(45) DEFAULT '', ADD divulgacao varchar(45) DEFAULT '';

 

Se seu servidor ainda não está online com players jogando eu aconcelho você a pegar outra rev, pegue uma rev limpa ou você vai ter trabalho para corrigir, você tem colunas e tabelas iguais, vai dar duplicidade e o site não vai funcionar perfeitamente.

Ola a todos

Ivan gotaria de saber se tem como vc me dar esse comando que ta em falta no site

PAGINAS MEUS CHAR em Painel / Meus Personagens

so da esse erro FUNCTION l2jdb.SUBSTRING_index2 does not exist

 

muito show seu site to usando e tenho 99% de aproveitamento

entera os 100% ai pra mim com esse arquivo que falta.

 

 

 

logo.png

Link para o comentário
Compartilhar em outros sites

Mano eu coloquei o IP do meu servidor e configurei tudo certo mas não está abrindo o site.

está aparecendo isso aqui

 

 

PHP Error Message

Warning: mysql_connect() [function.mysql-connect]: Host 'srv23.000webhost.com' is not allowed to connect to this MySQL server in/home/a5855790/public_html/config/config.php on line 11

 

 

Host 'srv23.000webhost.com' is not allowed to connect to this MySQL server

Link para o comentário
Compartilhar em outros sites

@hannibaljj Se não me engano, esse erro aparece porque você não deu privilégio de acesso remoto ao seu site no mysql, você vai precisar reconfigurar ele, caso sua database não tenha senha, você vai ter que colocar uma, e marcar a caixa "Enable root acess from remote machines" depois que fizer isso creio que o erro não vai mais aparecer, caso a dúvida persista, leia esse tópico genial http://www.l2jbrasil.com/index.php?/topic/10923-tutorial-tendo-seu-web-site-separado-do-servidor-dedicadovpsetc/

 

 

e quanto a minha dúvida, na verdade são 3 delas D:

vou deixar elas numeradas no print

 

imagem3go.png

 

1º: Bem.. eu coloquei hoje o meu site no ar, e estou tento um problema com a hora, que está totalmente errada, creio que devido o servidor ser americano e eu não sei como mudar D:

 

2º: Como podem ver, a hora em casa que eu tirei o print é a certa, e eu queria deixar o site com a mesma hora, porém não faço ideia de como

 

3º: Bem, devo admitir que nunca programei em html, php nem nada do tipo, sou web designer de primeira viagem, e depois que upei o site no host, sempre que digito o endereço do site, ele entra com a página assim, mas se eu clicar na home, ou qualquer outro botão de atalho ele vai normal, alguém saberia me dizer como eu arrumo para quando digitar o endereço do site ele ir direto pro home?

 

estarei aguardando por resposta, e desde já, obrigado pela atenção, e obrigado pelo Ivan Pires pelo trabalho épico!

Link para o comentário
Compartilhar em outros sites

alquem aqui consequio adptar para rev L2jdream? ele nao e compativel com ela,e nao consigo modificar.... alquem ajuda ae.. o site bom queria usar ele...

e ero-sennin pra resolver esse problema ai na home e so vc cria uma html redirecionando pra index

[url="http://www.l2jbrasil.com/index.php?/user/22295-ivan-pires/"][IMG]http://icpnetworks.com.br/logo.png[/img][/url]

Link para o comentário
Compartilhar em outros sites

alquem aqui consequio adptar para rev L2jdream? ele nao e compativel com ela,e nao consigo modificar.... alquem ajuda ae.. o site bom queria usar ele...

e ero-sennin pra resolver esse problema ai na home e so vc cria uma html redirecionando pra index

 

Realmente vou precisar fazer uma nova html? pq quando eu abria o site localmente, ele direcionava certinho para home, agora ele não vai mais :c

Link para o comentário
Compartilhar em outros sites

Realmente vou precisar fazer uma nova html? pq quando eu abria o site localmente, ele direcionava certinho para home, agora ele não vai mais :c

eu tive esse mesmo problema quando coloquei na hospedagem, ai pra aparece a home completa eu criei um html direcionando pra index.php no caso a do botao home,so que ai na fica assim quando entrarem no seu site, www.seusite.com/index.php

[url="http://www.l2jbrasil.com/index.php?/user/22295-ivan-pires/"][IMG]http://icpnetworks.com.br/logo.png[/img][/url]

Link para o comentário
Compartilhar em outros sites

Muito obrigado pela informação, vou me virar aqui então para arrumar isso, pois por incrível que pareça eu não tenho conhecimentos de html D:

Link para o comentário
Compartilhar em outros sites

Pessoal, já disse uma vez e volto a dizer. Não usem o sistema de encantamento online deste site, ele tem uma falha e está encantando itens sem moedas. Assim que eu tiver um tempo sobrando eu corrijo e atualizo o post.

 

 

 

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.