Ir para conteúdo
  • Cadastre-se

(Resolvido)Error Custom Client 12.40.9997


Ir para solução Resolvido por EdsonJunior,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

TFS 1.3

Qual o motivo deste tópico? 

Olá, você poderia me ajudar?
Estou usando um Tibia Client v12.40.9997 para fazer o login.
Mas eu não respeito o AccountName. Se eu quiser entrar com ADM use @ e a senha:

Citar

1.thumb.PNG.01411db5086d2d4b4a2b5793c228e015.PNG

Com @:

Citar

2.thumb.PNG.6608bcdd285391f9af7583956306a652.PNG

 

Como posso consertar isso?

 

 

 

....
Aproveitando, é possível retirar este:

Citar

3.PNG.38d0b708490bcb3bb2001189245227ee.PNG

 

Saudações

Link para o post
Compartilhar em outros sites
9 horas atrás, dybbuk2 disse:

.Qual servidor ou website você utiliza como base? 

TFS 1.3

Qual o motivo deste tópico? 

Olá, você poderia me ajudar?
Estou usando um Tibia Client v12.40.9997 para fazer o login.
Mas eu não respeito o AccountName. Se eu quiser entrar com ADM use @ e a senha:

Com @:

 

Como posso consertar isso?

 

 

 

....
Aproveitando, é possível retirar este:

 

Saudações

Vamos la,
Qual site vc ta usando!? Provavelmente o site está redirecionando o login game, para acessar com o e-mail cadastrado na criação da conta. Geralmente OT com versões 12+ o acesso no site é pelo account name e pra logar no jogo é pelo e-mail.

Retirar mensagem battle eye

Substitua essa sequencia hexadecimal:
C6 45 D7 00 C6 45 CF 00

Por esta:
C6 45 D7 00 C6 45 CF 01

Link para o post
Compartilhar em outros sites
8 minutos atrás, EdsonJunior disse:

Vamos la,
Qual site vc ta usando!? Provavelmente o site está redirecionando o login game, para acessar com o e-mail cadastrado na criação da conta. Geralmente OT com versões 12+ o acesso no site é pelo account name e pra logar no jogo é pelo e-mail.

Retirar mensagem battle eye

Substitua essa sequencia hexadecimal:
C6 45 D7 00 C6 45 CF 00

Por esta:
C6 45 D7 00 C6 45 CF 01

Estou usando Gesior:

Citar
já remove o Battle Eye, obrigado por isso.
Link para o post
Compartilhar em outros sites
  • Solução
26 minutos atrás, dybbuk2 disse:

Estou usando Gesior:


já remove o Battle Eye, obrigado por isso.

Tenta isso, porque geralmente o pessoal faz ao contrario, quer tirar o accountname pra por o e-mail. :rolleyes:

no login.php
Procura por 
account->loadByName($result->email);

e troque por 
account->loadByName($result->accountname);

Provavelmente o cliente 12.40+ vai crashar, sugiro que crie um anuncio no site/divulgação as formas de logar no client.

Editado por EdsonJunior (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Hace 56 minutos, EdsonJunior dijo:

Pruebe esto, porque por lo general el personal hace al revés, quiere tomar el nombre de cuenta para poner el correo electrónico. :rolleyes:


en login.php Buscar cuenta->loadByName($result->email);
e
intercambiar por account->loadByName ($result->accountname);


Probablemente el cliente 12.40+ se bloqueará, le sugiero que cree
un anuncio en el sitio / difusión de las formas de iniciar sesión en el cliente.

Eu não consigo encontrar.
Login.php
Citar

<?php
$_GET['subtopic'] á 'login';
$_REQUEST['subtopic'] á 'login';
incluir ('index.php');


Index.php

Citar

<?php
//
anti sql inyectar por Johncore incluyen "antisql.php";
// comentario para mostrar E_NOTICE [variable no indefinida, etc.], comentar
si desea crear script y ver todos los errores error_reporting(E_ALL - E_STRICT E_NOTICE);

true: muestra las consultas
enviadas y las consultas SQL status/status code/error message define('DEBUG_DATABASE', false);

define ('INITIALIZED', true);

si no se definió antes,
establezca 'ONLY_PAGE
false' para cargar todos los ONLY_PAGE

define ('AJAXREQUEST', false);
//header("X-Content-Type-Options: nosniff");
//header("X-FRAME-OPTIONS: DENY");
//header("X-XSS-Protection: 1"); comprobar si
el sitio está deshabilitado/requiere instalación include_once('./system/load.loadCheck.php');
 

corregir datos de usuario, cargar configuraciones,
habilitar el cargador automático de clases include_once('./system/load.init.php');

DATABASE
include_once('./system/load.database.php');
if(DEBUG_DATABASE)
Website::getDBHandle()->setPrintQueries(true);
// FINAL DE BASE DE DATOS

INICIO
if(! ONLY_PAGE)
include_once('./system/load.login.php');
// INICIO FINAL

COMPAT
// algunas partes
de ese archivo se pueden bloquear debido a ONLY_PAGE constante include_once('./system/load.compat.php');
// END COMPAT

LOAD
PAGE include_once('./system/load.page.php');
//
LOAD
PAGE END // LAYOUT // con ONLY_PAGE
solo devolvemos el texto de la página, no el diseño if(in_array($_REQUEST['subtopic'], array("play", "refresh", "client_options_serverscript"))) -
echo $main_content;

ONLY_PAGE)
include_once('./system/load.layout.php');
otro
eco $main_content;
//
END LAYOUT

load.login.php

Citar

<?php
if(!defined('INITIALIZED'))
    exit;

if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'logout')
    Visitor::logout();
if(isset($_REQUEST['account_login']) && isset($_REQUEST['password_login']))
{
    Visitor::setAccount($_REQUEST['account_login']);
    Visitor::setPassword($_REQUEST['password_login']);
    //Visitor::login(); // this set account and password from code above as login and password to next login attempt
    //Visitor::loadAccount(); // this is required to force reload account and get status of user
    $isTryingToLogin = true;
}
Visitor::login();



Visitor.class
Citar

<?php
if(!defined('INITIALIZED'))
exit;

Visitante

de la
clase - const LOGINSTATE_NOT_TRIED - 1;
const LOGINSTATE_NO_ACCOUNT 2; const LOGINSTATE_WRONG_PASSWORD 3;
const LOGINSTATE_LOGGED a 4;

$loginAccount estática privada;
$loginPassword estática privada;
$account estático privado;
$loginState estático privado : self::LOGINSTATE_NOT_TRIED;

función estática pública
setAccount($value)
á $_SESSION['account'] - $value;

    }

función estática pública setPassword($value)
á
$_SESSION['password'] - $value;

    }

public
static function getAccount() á
if(!isset(self::$account))
self::loadAccount();
return self::$account;

    }


función estática pública loadAccount() á
self::$account
á new Account(); if(!empty(self::$loginAccount))
á
self::$account->loadByName(self::$loginAccount);
if(self::$account->isLoaded())
if(self::$account->isValidValid(self::$loginPassword))
self::$loginState - self::LOGINSTATE_LOGGED;
else
self::$loginState - self::LOGINSTATE_WRONG_PASSWORD;
otro
yo::$loginState - yo::LOGINSTATE_NO_ACCOUNT;

otro
yo::$loginState - yo::LOGINSTATE_NOT_TRIED;
if(self::$loginState !- self::LOGINSTATE_LOGGED)
self::$account á new Account();

    }

public static function isTryingToLogin()
á
return !empty(self::$loginAccount);

    }

public static function getLoginState()
á
return self::$loginState;

    }


public static function isLogged()
á
return self::isTryingToLogin() && self::getAccount()->isLoaded();

    }


función estática pública
login() á if(isset($_SESSION['account']))
self::$loginAccount á
$_SESSION['account']; if(isset($_SESSION['password']))
self::$loginPassword á $_SESSION['password'];

    }

función
estática
pública logout() á unset($_SESSION['account']);
unset($_SESSION['password']);

self::$loginAccount
- null; self::$loginPassword
? null; self::$account ? new Account(); self::$loginState -self::LOGINSTATE_NOT_TRIED;

    }

función estática pública
getIP() á
return ip2long($_SERVER['REMOTE_ADDR']);

    }
}

 

 

Nesta linha, envie para trazer para Account.php

Citar

self::$account->loadByName(self::$loginAccount);

l

Citar

<?php
if(!defined('INITIALIZED'))
    exit;

class Account extends ObjectData
{
    const LOADTYPE_ID = 'id';
    const LOADTYPE_NAME = 'name';
    const LOADTYPE_MAIL = 'email';
    public static $table = 'accounts';
    public $data = array('name' => null, 'password' => null, 'secret'=>null, 'premdays' => 0, 'coins' => 0, 'lastday' => 0, 'email' => null, 'key' => null, 'create_ip' => null, 'creation' => null, 'page_access' => 1, 'location' => null, 'rlname' => null, 'birth_date' => null, 'gender' => null, 'email_new' => null, 'email_new_time' => 0, 'email_code' => null, 'next_email' => 0, 'last_post' => 0, 'flag' => null, 'vote' => 0, 'loyalty_points' => 0, 'guild_points' => 0, 'authToken' => '0');
    public static $fields = array('id', 'name', 'password', 'premdays', 'coins', 'lastday', 'email', 'key', 'create_ip', 'creation', 'page_access', 'location', 'rlname','birth_date', 'gender', 'email_new', 'email_new_time', 'email_code', 'next_email', 'last_post', 'flag', 'vote', 'loyalty_points', 'guild_points');
    public $players;
    public $playerRanks;
    public $guildAccess;
    public $bans;

    public function __construct($search_text = null, $search_by = self::LOADTYPE_ID)
    {
        if($search_text != null)
            $this->load($search_text, $search_by);

    }

    public function load($search_text, $search_by = self::LOADTYPE_ID)
    {
        if(in_array($search_by, self::$fields))
            $search_string = $this->getDatabaseHandler()->fieldName($search_by) . ' = ' . $this->getDatabaseHandler()->quote($search_text);
        else
            new Error_Critic('', 'Wrong Account search_by type.');
        $fieldsArray = array();
        foreach(self::$fields as $fieldName)
            $fieldsArray[$fieldName] = $this->getDatabaseHandler()->fieldName($fieldName);
        $this->data = $this->getDatabaseHandler()->query('SELECT ' . implode(', ', $fieldsArray) . ' FROM ' . $this->getDatabaseHandler()->tableName(self::$table) . ' WHERE ' . $search_string)->fetch();

    }

    public function loadById($id)
    {
        $this->load($id, 'id');

    }

    public function loadByName($name)
    {
        $this->load($name, 'name');

    }

    public function loadByEmail($mail)
    {
        $this->load($mail, 'email');

    }

    public function save($forceInsert = false)
    {
        if(!isset($this->data['id']) || $forceInsert)
        {
            $keys = array();
            $values = array();
            foreach(self::$fields as $key)
                if($key != 'id')
                {
                    $keys[] = $this->getDatabaseHandler()->fieldName($key);
                    $values[] = $this->getDatabaseHandler()->quote($this->data[$key]);
                }
            $this->getDatabaseHandler()->query('INSERT INTO ' . $this->getDatabaseHandler()->tableName(self::$table) . ' (' . implode(', ', $keys) . ') VALUES (' . implode(', ', $values) . ')');
            $this->setID($this->getDatabaseHandler()->lastInsertId());
        }
        else
        {
            $updates = array();
            foreach(self::$fields as $key)
                if($key != 'id')
                    $updates[] = $this->getDatabaseHandler()->fieldName($key) . ' = ' . $this->getDatabaseHandler()->quote($this->data[$key]);
            $this->getDatabaseHandler()->query('UPDATE ' . $this->getDatabaseHandler()->tableName(self::$table) . ' SET ' . implode(', ', $updates) . ' WHERE ' . $this->getDatabaseHandler()->fieldName('id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));

        }
    }

    public function getPlayers($forceReload = false)
    {
        if(!isset($this->players) || $forceReload)
        {
            $this->players = new DatabaseList('Player');
            $this->players->setFilter(new SQL_Filter(new SQL_Field('account_id'), SQL_Filter::EQUAL, $this->getID()));
            $this->players->addOrder(new SQL_Order(new SQL_Field('name')));
        }
        return $this->players;
    }
    
    public function unban()
    {
        $this->getDatabaseHandler()->query('DELETE FROM ' . $this->getDatabaseHandler()->tableName('account_bans') . ' WHERE ' . $this->getDatabaseHandler()->fieldName('account_id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));

        unset($this->bans);
    }

    public function loadBans($forceReload = false)
    {
        if(!isset($this->bans) || $forceReload)
        {
            $this->bans = new DatabaseList('AccountBan');
            $filter = new SQL_Filter(new SQL_Field('account_id'), SQL_Filter::EQUAL, $this->data['id']);
            $this->bans->setFilter($filter);

        }
    }

    public function isBanned($forceReload = false)
    {
        $this->loadBans($forceReload);
        return count($this->bans) > 0;

    }

    public function getBanTime($forceReload = false)
    {
        $this->loadBans($forceReload);
        $lastExpires = 0;
        $now = date('Y-m-d h:i:s');
        foreach($this->bans->data as $ban)
        {
            if($ban['expires_at'] <= $now)
            {
                $lastExpires = 0;
                break;
            }
            if($ban['expires_at'] > $now && $ban['expires_at'] > $lastExpires)
                $lastExpires = $ban['expires_at'];
        }
        return $lastExpires;

    }

    public function delete()
    {
        $this->getDatabaseHandler()->query('DELETE FROM ' . $this->getDatabaseHandler()->tableName(self::$table) . ' WHERE ' . $this->getDatabaseHandler()->fieldName('id') . ' = ' . $this->getDatabaseHandler()->quote($this->data['id']));

        unset($this->data['id']);
    }

    public function setID($value){$this->data['id'] = $value;}
    public function getID(){return $this->data['id'];}
    public function setName($value){$this->data['name'] = $value;}
    public function getName(){return $this->data['name'];}
    public function setPassword($value)
    {
        $this->data['password'] = Website::encryptPassword($value, $this);
    }
    public function getPassword(){return $this->data['password'];}
    public function setPremDays($value){$this->data['premdays'] = $value;}
    public function getPremDays(){return $this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday']));}
    public function setLastDay($value){$this->data['lastday'] = $value;}
    public function getLastDay(){return $this->data['lastday'];}
    public function setMail($value){$this->data['email'] = $value;}
    public function getMail(){return $this->data['email'];}
    public function setKey($value){$this->data['key'] = $value;}
    public function getKey(){return $this->data['key'];}
    public function setCreateIP($value){$this->data['create_ip'] = $value;}
    public function getCreateIP(){return $this->data['create_ip'];}
    public function setCreateDate($value){$this->data['creation'] = $value;}
    public function getCreateDate(){return $this->data['creation'];}
    public function setPremiumPoints($value){$this->data['coins'] = $value;}
    public function getPremiumPoints(){return $this->data['coins'];}
    public function setPageAccess($value){$this->data['page_access'] = $value;}
    public function getPageAccess(){return $this->data['page_access'];}
    public function setLocation($value){$this->data['location'] = $value;}
    public function getLocation(){return $this->data['location'];}
    public function setLoyalty($value){$this->data['loyalty_points'] = $value;}
    public function getLoyalty(){return $this->data['loyalty_points'];}
    public function setRLName($value){$this->data['rlname'] = $value;}
    public function getRLName(){return $this->data['rlname'];}
    public function setBirthDate($value){$this->data['birth_date'] = $value;}
    public function getBirthDate(){return $this->data['birth_date'];}
    public function setGender($value){$this->data['gender'] = $value;}
    public function getGender(){return $this->data['gender'];}
    public function setFlag($value){$this->data['flag'] = $value;}
    public function getFlag(){return $this->data['flag'];}
    public function getEMail(){return $this->getMail();}
    public function setEMail($value){$this->setMail($value);}
    public function getPlayersList(){return $this->getPlayers();}
    public function getGuildAccess($guildID){return $this->getGuildLevel($guildID);}
    public function isValidPassword($password)
    {
        return ($this->data['password'] == Website::encryptPassword($password, $this));

    }

    public function find($name){$this->loadByName($name);}
    public function findByEmail($email){$this->loadByEmail($email);}
    public function isPremium(){return ($this->getPremDays() > 0);}
    public function getLastLogin(){return $this->getLastDay();}
    public function getSecret(){return $this->data['secret'];}
    public function setSecret($value){$this->data['secret'] = $value;}

}

 

 

está usando o nome da conta, se não me engano

Citar

public function loadByName($name)
    {
        $this->load($name, 'name');
    }

 

2 horas atrás, EdsonJunior disse:

Tenta isso, porque geralmente o pessoal faz ao contrario, quer tirar o accountname pra por o e-mail. :rolleyes:

no login.php
Procura por 
account->loadByName($result->email);

e troque por 
account->loadByName($result->accountname);

Provavelmente o cliente 12.40+ vai crashar, sugiro que crie um anuncio no site/divulgação as formas de logar no client.

Resolvi o problema mudando o método no Account.php:
Citar

    public function loadByEmail($mail)
    {
        $this->load($mail, 'name');
    }

'mail' por 'name'.


Você pensa em problemas futuros?

 

miuto abrigado!

 

 

Link para o post
Compartilhar em outros sites
17 horas atrás, dybbuk2 disse:

Eu não consigo encontrar.
Login.php


Index.php


load.login.php



Visitor.class

 

 

Nesta linha, envie para trazer para Account.php

l

 

 

está usando o nome da conta, se não me engano

 


Resolvi o problema mudando o método no Account.php:

'mail' por 'name'.


Você pensa em problemas futuros?

 

miuto abrigado!

 

 

Que bom que deu certo.
Eu ouvi boatos que o cliente 12.4+ usando o username pode crashar, mas, particularmente nunca usei. Só testando pra ter certeza!

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo