Ir para conteúdo

vine96

Membro
  • Registro em

  • Última visita

Tudo que vine96 postou

  1. Deu certo mano, vlwww!
  2. Onde eu encontro isso? Não tem em lugar nenhum do github do Znote, nem nos arquivos.
  3. Ai mano @luanluciano93, você não tem como passar uma database completa para znote ACC não? no projeto tem um triste arquivo SCHEMA que falta umas 30 tabelas ou mais ?
  4. vine96 postou uma resposta no tópico em Tibia Global OTServer
    ELE RODA com o client 10x?
  5. @Kolisium Eu fiz um sistema utilizando actions e weapons que funciona perfeitamente o upgrade para wands, se tiver interesse eu vendo por um preço bem em conta, fica um diferencial bacana para o server. Já vendi para um pessoal, assim que alcançar um número maior vou disponibilizar gratuito aqui no fórum.
  6. Complementei o banco certinho, agora estou enfrentando um bug que é o seguinte: ele só acontece com o client OTC e Mobile. Tem como me ajudar nessa @Breno Alves? Acontece que qualquer comando que abra alguma lista na tela para o player ver, exemplo: comando !spells que aparece uma lista e você precisa ir descendo a com a barrinha. Ou aquele livro de fast spawn no templo que vc clica e tem um textinho para ler descendo a barra e tal... Ele não reconhece pelo client OTC e Mobile, simplesmente não executa e no terminal do client OTC aparece isso: ERROR: Unhandled onTextMessage message mode 51: Bem-vindo ao {Legend Baiak}! ERROR: Unhandled onTextMessage message mode 51: Sua última visita foi em {Sat May 29 22:05:36 2021}. ERROR: ProtocolGame parse message exception (3321 bytes, 3302 unread, last opcode is 0x96 (150), prev opcode is 0xffffffff (-1)): InputMessage eof reached Packet has been saved to packet.log, you can use it to find what was wrong. (Protocol: 860) No client tibia normal 8.60 executa tudo certinho. Ao meu ver o problema está na função que chama essa telinha: player:showTextDialog(item:getId(), text) Acontece que o OTC reconheceria creio eu se o client fosse versão 10x+ por exemplo, mas como é 8.60 creio que ele esteja esperando algo diferente desta função. Estaria esperando algo do 0.4, não do TFS 1.3 Bom não sei muito o que fazer kkk poderia me dar uma luz ou alguém? kkk
  7. Alguém tem a database completa? Está faltando tudo do básico, samples, colunas e etc. Já arrumei os samples e diversas colunas que estavam faltando, porém agora está acusando o autoloot, como seria o autoloot? um inteiro, float? char? varchar? Ninguém sabe kk
  8. vine96 postou uma resposta no tópico em Sprites
    LINK OFF ='(
  9. vine96 postou uma resposta no tópico em Ferramentas OpenTibia
    O meu abre após compilar como extended só que ao entrar em qualquer conta da debug na hora, alguém sabe oq pode ser? estou usando object builder 0.4.8 para compilar como extended Esquece era porque eu tinha dado ctrl + n kkkkkk ta 100% tirando esse bug, aliás alguém sabe como resolver isso?
  10. É possível utilizar o client 10x? Se sim... poderia disponibilizar aqui? Pois pretendo colocar o client 10x, OTC e Mobile para jogar no OT que vou montar com essa base.
  11. eu sei resolver, chama no orçamento ksks
  12. pra mim ta dando esse erro: [Error - TalkAction Interface] data/talkactions/scripts/poke.lua:onSay Description: data/lib/some functions.lua:897: attempt to index field '?' (a nil value) stack traceback: data/lib/some functions.lua:897: in function 'doGoPokemon' data/lib/some functions.lua:1782: in function 'doSendPokemon' data/talkactions/scripts/poke.lua:13: in function <data/talkactions/scripts/poke.lua:1> Alguém pode ajudar?
  13. vine96 postou uma resposta no tópico em Tibia Global OTServer
    só o ruim que n da para compilar pra linux o resto é bacana
  14. vine96 postou uma resposta no tópico em Tibia Global OTServer
    belo server pena que não da para compilar para linux, sources tudo corrompidas, n tem cmake, make, configure nem nada kkk
  15. vine96 postou uma resposta no tópico em Códigos C++
    LIKEEEEEEEEEE 100% WORKS
  16. .Qual servidor ou website você utiliza como base? POKE X MASTER aqui do fórum mesmo. link: Qual o motivo deste tópico? É IMPOSSÍVEL modificar o ataque dos pokemons nessa base Está surgindo algum erro? Se sim coloque-o aqui. Então é o seguinte galera, eu sou novato na programação de poketibia, mas a um tempo estou desenvolvendo um projeto em cima da base poke X master. Porém notei um bug BIZARRO que eu nunca tinha visto. É o seguinte é impossível mudar a força dos ataques dos pokemons. Já tentei em monsters.xml deixei tudo como 1 de atk o magikarp como exemplo, já mexi na lib "19 - pokemonstats" deixei tudo no mínimo e o ataque do pokemon continua o mesmo... eu já não sei mais oq fazer. É a seguinte situação: o pokemon Magikarp está com um dano absurdo de alto, simplesmente do nada ele hita 1k, 1,2k, 500, 600 e do nada volta a atacar 1,2,3 e do nada 1k, 1,5k até dar HS no pokemon. Alguns pokes estão assim completamente bugados o ataque, mas o que mais notei de estranho foi o magikarp já vasculhei toda a pasta do server e nada que identifique a questão de ataques a não ser a lib e monster.xml Vou postar como está os stats do magikarp: Aqui no arquivo 19 - pokemonStatus ['Magikarp'] = {offense = 0.1, defense = 1, specialattack = 0.1, life = 220, vitality = 2, agility = 50, exp = 50, level = 1, wildLvl = 1, type = 'water', type2 = 'no type'}, Aqui no arquivo magikarp.xml na pasta monsters: <?xml version="1.0" encoding="UTF-8"?> <monster name="Magikarp" nameDescription="a magikarp" race="water" experience="7" speed="207" manacost="0"> <health now="100" max="100"/> <look type="370" head="1" body="5" legs="95" feet="113" corpse="11911"/> <targetchange interval="2000" chance="0"/> <strategy attack="1" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="1500" chance="100" range="1" min="-1" max="-2"/> <attack name="Splash" interval="2429" chance="32" range="6"/> </attacks> <defenses armor="0" defense="0"/> <voices interval="5000" chance="10"> <voice sentence="MAGIKARP!"/> </voices> <loot> <item id="12334" chance="100" count="1" countmax="1"/> <item id="12161" chance="100" countmax="10"/> --water gem </loot> <script> <event name="Spawn"/> </script> </monster> Com essa configuração o magikarp ta hitando 500 a 1200 em outros pokemons simplesmente do nada kkk. junta 3 magikarps no gloom e da HS rapidinho
  17. vine96 postou uma resposta no tópico em Suporte & Pedidos
    não entendi, você vende eles? Se sim... quanto?
  18. Olá, ainda precisa?
  19. Ainda precisa? Tenho uma base ótima, chama lá 51 9 9476-0948 não consegui te chamar nesse número
  20. resolvi galera! foi foda hein pqp, quem quiser eu vendo o fix, serve para todos os pokes que tem esse problema nas sources...
  21. Galera como compilar para ubuntu 14.04? já tentei de tudo e n vai luascript.cpp: In static member function ‘static int32_t LuaScriptInterface::lua GetPlayerDepotTopItemById(lua_State*)’: luascript.cpp:4575:16: warning: unused variable ‘dest’ [-Wunused-variable] Container* dest = depot->getContainer(); ^ make[1]: ** [luascript.o] Erro 1 make[1]: Saindo do diretório `/poketibia/src' make: ** [all] Erro 2 Consegui avançar mais a frente, porém agora estou com esse erro, alguém sabe oq pode ser?
  22. que pena que não está pronto ainda essa base, tentei colocar online aqui até vai, mas da 500 erros no site acusando o composer...
  23. .Qual servidor ou website você utiliza como base? OTX3 TFS 0.4 Qual o motivo deste tópico? Galera faz mais ou menos uns 5 meses que estou com esse problema e de forma alguma eu consigo resolver, já tentei de tudo que é tipo de formas, não sei mais o que fazer esgotou totalmente as minhas possibilidades. Preciso que funcione o meu lostaccount.php e o envio automático e emails do pagseguro, picpay, paypal entre outros. Ou seja nenhum tipo de email automatico está sendo enviado. Uso nginx para meu web server e o linux ubuntu 14.04 Uso gmail para o envio de emails, mas nunca funciona, sempre ocorre o bug: An error occorred while sending email! Try again or contact with admin. Estou disposto a pagar para corrigirem isso para mim, pois já destruiu a minha cabeça esse bug chato e asqueroso. Entrem em contato pelo número: 51 9 9476-0948 ou pelo facebook: fb.com/BaiakGaming Está surgindo algum erro? Se sim coloque-o aqui. Meu lost account: <?php if(!defined('INITIALIZED')) exit; if($config['site']['send_emails']) { if($action == '') { $main_content .= 'The Lost Account Interface can help you to get back your account name and password. Please enter your character name and select what you want to do.<BR> <FORM ACTION="?subtopic=lostaccount&action=step1" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter your character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=text NAME="nick" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>What do you want?</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=radio NAME="action_type" VALUE="email"> Send me new password and my account name to account e-mail adress.<BR> <INPUT TYPE=radio NAME="action_type" VALUE="reckey"> I got <b>recovery key</b> and want set new password and e-mail adress to my account.<BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step1' && $_REQUEST['action_type'] == '') $main_content .= 'Please select action. <BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; elseif($action == 'step1' && $_REQUEST['action_type'] == 'email') { $nick = $_REQUEST['nick']; if(check_name($nick)) { $player = new Player(); $account = new Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('next_email') < time()) $main_content .= 'Please enter e-mail to account with this character.<BR> <FORM ACTION="?subtopic=lostaccount&action=sendcode" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter e-mail to account</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Character: <INPUT TYPE=text NAME="nick" VALUE="'.htmlspecialchars($nick).'" SIZE="40" readonly="readonly"><BR> E-mail to account:<INPUT TYPE=text NAME="email" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $insec = $account->getCustomField('next_email') - time(); $minutesleft = floor($insec / 60); $secondsleft = $insec - ($minutesleft * 60); $timeleft = $minutesleft.' minutes '.$secondsleft.' seconds'; $main_content .= 'Account of selected character (<b>'.htmlspecialchars($nick).'</b>) received e-mail in last '.ceil($config['site']['email_lai_sec_interval'] / 60).' minutes. You must wait '.$timeleft.' before you can use Lost Account Interface again.'; } } else $main_content .= 'Player or account of player <b>'.htmlspecialchars($nick).'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'sendcode') { $email = $_REQUEST['email']; $nick = $_REQUEST['nick']; if(check_name($nick)) { $player = new Player(); $account = new Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('next_email') < time()) { if($account->getEMail() == $email) { $acceptedChars = '123456789zxcvbnmasdfghjklqwertyuiop'; $newcode = NULL; for($i=0; $i < 30; $i++) { $cnum[$i] = $acceptedChars{mt_rand(0, 33)}; $newcode .= $cnum[$i]; } $mailBody = '<html> <body> <h3>Your account name and password!</h3> <p>You or someone else requested new password for your account on server <a href="'.$config['server']['url'].'"><b>'.htmlspecialchars($config['server']['serverName']).'</b></a> with this e-mail.</p> <p>Account name: '.htmlspecialchars($account->getName()).'</p> <p>Password: <i>You will set new password when you press on link.</i></p> <br /> <p>Press on link to set new password. This link will work until next >new password request< in Lost Account Interface.</p> <p><a href="'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode&code='.urlencode($newcode).'&character='.urlencode($nick).'">'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode&code='.urlencode($newcode).'&character='.urlencode($nick).'</a></p> <p>or open page: <i>'.$config['server']['url'].'/?subtopic=lostaccount&action=checkcode</i> and in field "code" write <b>'.htmlspecialchars($newcode).'</b></p> <br /><p>If you don\'t want to change password to your account just delete this e-mail. <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; $mail = new PHPMailer(); if ($config['site']['smtp_enabled']) { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = $config['site']['smtp_auth']; $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - Link to >set new password to account<"; $mail->Body = $mailBody; if($mail->Send()) { $account->set('email_code', $newcode); $account->set('next_email', (time() + $config['site']['email_lai_sec_interval'])); $account->save(); $main_content .= '<br />Link with informations needed to set new password has been sent to account e-mail address. You should receive this e-mail in 15 minutes. Please check your inbox/spam directory.'; } else { $account->set('next_email', (time() + 60)); $account->save(); $main_content .= '<br />An error occorred while sending email! Try again or contact with admin.'; } } else $main_content .= 'Invalid e-mail to account of character <b>'.htmlspecialchars($nick).'</b>. Try again.'; } else { $insec = $account->getCustomField('next_email') - time(); $minutesleft = floor($insec / 60); $secondsleft = $insec - ($minutesleft * 60); $timeleft = $minutesleft.' minutes '.$secondsleft.' seconds'; $main_content .= 'Account of selected character (<b>'.htmlspecialchars($nick).'</b>) received e-mail in last '.ceil($config['site']['email_lai_sec_interval'] / 60).' minutes. You must wait '.$timeleft.' before you can use Lost Account Interface again.'; } } else $main_content .= 'Player or account of player <b>'.htmlspecialchars($nick).'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=email&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step1' && $_REQUEST['action_type'] == 'reckey') { $nick = $_REQUEST['nick']; if(check_name($nick)) { $player = new Player(); $account = new Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { $main_content .= 'If you enter right recovery key you will see form to set new e-mail and password to account. To this e-mail will be send your new password and account name.<BR> <FORM ACTION="?subtopic=lostaccount&action=step2" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter your recovery key</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Character name:&nbsp;<INPUT TYPE=text NAME="nick" VALUE="'.htmlspecialchars($nick).'" SIZE="40" readonly="readonly"><BR /> Recovery key:&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=text NAME="key" VALUE="" SIZE="40"><BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.htmlspecialchars($nick).'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step2') { $rec_key = trim($_REQUEST['key']); $nick = $_REQUEST['nick']; if(check_name($nick)) { $player = new Player(); $account = new Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_email(field,alerttxt) { with (field) { apos=value.indexOf("@"); dotpos=value.lastIndexOf("."); if (apos<1||dotpos-apos<2) {alert(alerttxt);return false;} else {return true;} } } function validate_form(thisform) { with (thisform) { if (validate_required(email,"Please enter your e-mail!")==false) {email.focus();return false;} if (validate_email(email,"Invalid e-mail format!")==false) {email.focus();return false;} if (validate_required(passor,"Please enter password!")==false) {passor.focus();return false;} if (validate_required(passor2,"Please repeat password!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'Repeated password is not equal to password!\');return false;} } } </script>'; $main_content .= 'Set new password and e-mail to your account.<BR> <FORM ACTION="?subtopic=lostaccount&action=step3" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Please enter new password and e-mail</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Account of character:&nbsp;&nbsp;<INPUT TYPE=text NAME="nick" VALUE="'.htmlspecialchars($nick).'" SIZE="40" readonly="readonly"><BR /> New password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT id="passor" TYPE=password NAME="passor" VALUE="" SIZE="40"><BR> Repeat new password:&nbsp;&nbsp;<INPUT id="passor2" TYPE=password NAME="passor" VALUE="" SIZE="40"><BR> New e-mail address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT id="email" TYPE=text NAME="email" VALUE="" SIZE="40"><BR> <INPUT TYPE=hidden NAME="key" VALUE="'.htmlspecialchars($rec_key).'"> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Wrong recovery key!'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.htmlspecialchars($nick).'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=reckey&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'step3') { $rec_key = trim($_REQUEST['key']); $nick = $_REQUEST['nick']; $new_pass = trim($_REQUEST['passor']); $new_email = trim($_REQUEST['email']); if(check_name($nick)) { $player = new Player(); $account = new Account(); $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { if(check_password($new_pass)) { if(check_mail($new_email)) { $account->setEMail($new_email); $account->setPassword($new_pass); $account->save(); $main_content .= 'Your account name, new password and new e-mail.<BR> <FORM ACTION="?subtopic=accountmanagement" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Your account name, new password and new e-mail</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Account name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>'.htmlspecialchars($account->getName()).'</b><BR> New password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>'.htmlspecialchars($new_pass).'</b><BR> New e-mail address:&nbsp;<b>'.htmlspecialchars($new_email).'</b><BR>'; if($account->getCustomField('next_email') < time()) { $mailBody = '<html> <body> <h3>Your account name and new password!</h3> <p>Changed password and e-mail to your account in Lost Account Interface on server <a href="'.$config['server']['url'].'"><b>'.$config['server']['serverName'].'</b></a></p> <p>Account name: <b>'.htmlspecialchars($account->getName()).'</b></p> <p>New password: <b>'.htmlspecialchars($new_pass).'</b></p> <p>E-mail: <b>'.htmlspecialchars($new_email).'</b> (this e-mail)</p> <br /> <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; $mail = new PHPMailer(); if ($config['site']['smtp_enabled']) { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = $config['site']['smtp_auth']; $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - New password to your account"; $mail->Body = $mailBody; if($mail->Send()) { $main_content .= '<br /><small>Sent e-mail with your account name and password to new e-mail. You should receive this e-mail in 15 minutes. You can login now with new password!'; } else { $main_content .= '<br /><small>An error occorred while sending email! You will not receive e-mail with this informations.'; } } else { $main_content .= '<br /><small>You will not receive e-mail with this informations.'; } $main_content .= '<INPUT TYPE=hidden NAME="account_login" VALUE="'.$account->getId().'"> <INPUT TYPE=hidden NAME="password_login" VALUE="'.htmlspecialchars($new_pass).'"> </TD></TR></TABLE><BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Login" ALT="Login" SRC="'.$layout_name.'/images/buttons/sbutton_login.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $main_content .= 'Wrong e-mail format.'; } else $main_content .= 'Wrong password format. Use only a-Z, A-Z, 0-9'; } else $main_content .= 'Wrong recovery key!'; } else $main_content .= 'Account of this character has no recovery key!'; } else $main_content .= 'Player or account of player <b>'.htmlspecialchars($nick).'</b> doesn\'t exist.'; } else $main_content .= 'Invalid player name format. If you have other characters on account try with other name.'; $main_content .= '<BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="?subtopic=lostaccount&action=step1&action_type=reckey&nick='.urlencode($nick).'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'checkcode') { $code = trim($_REQUEST['code']); $character = trim($_REQUEST['character']); if(empty($code) || empty($character)) $main_content .= 'Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code:&nbsp;<INPUT TYPE=text NAME="code" VALUE="" SIZE="40")><BR /> Character:&nbsp;<INPUT TYPE=text NAME="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $player = new Player(); $account = new Account(); $player->find($character); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('email_code') == $code) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_form(thisform) { with (thisform) { if (validate_required(passor,"Please enter password!")==false) {passor.focus();return false;} if (validate_required(passor2,"Please repeat password!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'Repeated password is not equal to password!\');return false;} } } </script> Please enter new password to your account and repeat to make sure you remember password.<BR> <FORM ACTION="?subtopic=lostaccount&action=setnewpassword" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE="'.htmlspecialchars($character).'"> <INPUT TYPE=hidden NAME="code" VALUE="'.htmlspecialchars($code).'"> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & account name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> New password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=password ID="passor" NAME="passor" VALUE="" SIZE="40")><BR /> Repeat new password:&nbsp;<INPUT TYPE=password ID="passor2" NAME="passor2" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $error= 'Wrong code to change password.'; } else $error = 'Account of this character or this character doesn\'t exist.'; } if(!empty($error)) $main_content .= '<font color="red"><b>'.$error.'</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code:&nbsp;<INPUT TYPE=text NAME="code" VALUE="" SIZE="40")><BR /> Character:&nbsp;<INPUT TYPE=text NAME="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } elseif($action == 'setnewpassword') { $newpassword = $_REQUEST['passor']; $code = $_REQUEST['code']; $character = $_REQUEST['character']; $main_content .= ''; if(empty($code) || empty($character) || empty($newpassword)) $main_content .= '<font color="red"><b>Error. Try again.</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <BR><FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Back" ALT="Back" SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; else { $player = new Player(); $account = new Account(); $player->find($character); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { if($account->getCustomField('email_code') == $code) { if(check_password($newpassword)) { $account->setPassword($newpassword); $account->set('email_code', ''); $account->save(); $main_content .= 'New password to your account is below. Now you can login.<BR> <INPUT TYPE="hidden" NAME="character" VALUE="'.htmlspecialchars($character).'"> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Changed password</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> New password:&nbsp;<b>'.htmlspecialchars($newpassword).'</b><BR /> Account name:&nbsp;&nbsp;&nbsp;<i>(Already on your e-mail)</i><BR />'; $mailBody = '<html> <body> <h3>Your account name and password!</h3> <p>Changed password to your account in Lost Account Interface on server <a href="'.$config['server']['url'].'"><b>'.htmlspecialchars($config['server']['serverName']).'</b></a></p> <p>Account name: <b>'.htmlspecialchars($account->getName()).'</b></p> <p>New password: <b>'.htmlspecialchars($newpassword).'</b></p> <br /> <p><u>It\'s automatic e-mail from OTS Lost Account System. Do not reply!</u></p> </body> </html>'; $mail = new PHPMailer(); if ($config['site']['smtp_enabled']) { $mail->IsSMTP(); $mail->Host = $config['site']['smtp_host']; $mail->Port = (int)$config['site']['smtp_port']; $mail->SMTPAuth = $config['site']['smtp_auth']; $mail->Username = $config['site']['smtp_user']; $mail->Password = $config['site']['smtp_pass']; } else $mail->IsMail(); $mail->IsHTML(true); $mail->From = $config['site']['mail_address']; $mail->AddAddress($account->getCustomField('email')); $mail->Subject = $config['server']['serverName']." - New password to your account"; $mail->Body = $mailBody; if($mail->Send()) { $main_content .= '<br /><small>New password work! Sent e-mail with your password and account name. You should receive this e-mail in 15 minutes. You can login now with new password!'; } else { $main_content .= '<br /><small>New password work! An error occorred while sending email! You will not receive e-mail with new password.'; } $main_content .= '</TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <FORM ACTION="?subtopic=accountmanagement" METHOD=post> <INPUT TYPE=image NAME="Login" ALT="Login" SRC="'.$layout_name.'/images/buttons/sbutton_login.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else $error= 'Wrong password format. Use only a-z, A-Z, 0-9.'; } else $error= 'Wrong code to change password.'; } else $error = 'Account of this character or this character doesn\'t exist.'; } if(!empty($error)) $main_content .= '<font color="red"><b>'.$error.'</b></font><br />Please enter code from e-mail and name of one character from account. Then press Submit.<BR> <FORM ACTION="?subtopic=lostaccount&action=checkcode" METHOD=post> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Code & character name</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Your code:&nbsp;<INPUT TYPE=text NAME="code" VALUE="" SIZE="40")><BR /> Character:&nbsp;<INPUT TYPE=text NAME="character" VALUE="" SIZE="40")><BR /> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } } else $main_content .= '<b>Account maker is not configured to send e-mails, you can\'t use Lost Account Interface. Contact with admin to get help.</b>'; o Meu config.php # Emails Config $config['site']['send_emails'] = true; $config['site']['mail_address'] = "[email protected]"; $config['site']['smtp_enabled'] = true; $config['site']['smtp_host'] = "smtp.gmail.com"; // address $config['site']['smtp_port'] = 465; $config['site']['smtp_auth'] = true; $config['site']['smtp_user'] = "[email protected]"; $config['site']['smtp_pass'] = "SENHA";

Informação Importante

Confirmação de Termo