Jump to content

Scripting Pedido login.php compativel 12.20 com o gesior


Recommended Posts

.Qual servidor ou website você utiliza como base? 

https://chaitosoft.com/tfs-1-01-21-3-gesior-para-tibia-11/

Qual o motivo deste tópico? 

Reparar Erros login.php que e compativel apenas com o cliente 11 para funciona no cliente 12 gestorr

Erro ao tentar logar com o cliente na plataforma 12.00 e 12.20 no gesior 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Edited by leandronetx (see edit history)
Link to post
Share on other sites

na pasta raiz do seu site crie um arquivo chamado login.php e dentro dele adicione o seguinte código: 

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

 

na pasta pages crie outro arquivo chamado login.php e adicione o seguinte código:

<?php
header('Content-Type: application/json');

if(!defined('INITIALIZED'))
    exit;

function sendError($msg){
	$ret = [];
	$ret["errorCode"] = 3;
	$ret["errorMessage"] = $msg;
	die(json_encode($ret));
}
$request = file_get_contents('php://input');
$result = json_decode($request);
$action = isset($result->type) ? $result->type : '';

switch ($action) {
	case 'cacheinfo':
		die(json_encode([
			'playersonline' => $status['players'],
			'twitchstreams' => 0,
			'twitchviewer' => 0,
			'gamingyoutubestreams' => 0,
			'gamingyoutubeviewer' => 0
		]));
	break;

	case 'eventschedule':
		die(json_encode([
			'eventlist' => []
		]));
	break;
	case 'boostedcreature':
		die(json_encode([
			'boostedcreature' => false,
		]));
	break;
	case 'login':

		$port = Website::getServerConfig()->getValue('gameProtocolPort');

		$world = [
			'id' => 0,
			'name' => Website::getServerConfig()->getValue('serverName'),
			'externaladdressprotected' => Website::getServerConfig()->getValue('ip'),
			'externalportprotected' => $port,
			'externaladdressunprotected' => Website::getServerConfig()->getValue('ip'),
			'externalportunprotected' => $port,
			'previewstate' => 0,
			'location' => 'BRA',
			'anticheatprotection' => false,
			'pvptype' => array_search(Website::getServerConfig()->getValue('worldType'), ['pvp', 'no-pvp', 'pvp-enforced']),
			'istournamentworld' => false,
			'restrictedstore' => false,
			'currenttournamentphase' => 2
		];
		$characters = [];
		$account = null;

		$columns = 'name, level, sex, vocation, looktype, lookhead, lookbody, looklegs, lookfeet, lookaddons, deleted, lastlogin';

		$account = new Account();
		$account->loadByName($result->accountname);
		$current_password = Website::encryptPassword($result->password);
		if (!$account->isLoaded() || !$account->isValidPassword($result->password)) {
			sendError('Account name or password is not correct.');
		}
        $players = $SQL->query("select {$columns} from players where account_id = " . $account->getId() . " order by name asc")->fetchAll();
		foreach ($players as $player) {
			$characters[] = create_char($player);
		}
		$worlds = [$world];
		$playdata = compact('worlds', 'characters');
		$session = [
			'sessionkey' => "$result->accountname\n$result->password",
			'lastlogintime' => (!$account) ? 0 : $account->getLastLogin(),
			'ispremium' => (!$account) ? true : $account->isPremium(),
			'premiumuntil' => (!$account) ? 0 : (time() + ($account->getPremDays() * 86400)),
			'status' => 'active',
			'returnernotification' => false,
			'showrewardnews' => true,
			'isreturner' => true,
			'fpstracking' => false,
			'optiontracking' => false,
			'tournamentticketpurchasestate' => 0,
			'emailcoderequest' => false
		];
		die(json_encode(compact('session', 'playdata')));
	break;

	default:
		sendError("Unrecognized event {$action}.");
	break;
}

function create_char($player) {
	return [
		'worldid' => 0,
		'name' => $player['name'],
		'ismale' => intval($player['sex']) === 1,
		'tutorial' => false,
		'level' => intval($player['level']),
		'vocation' => Website::getVocationName($player['vocation']),
		'outfitid' => intval($player['looktype']),
		'headcolor' => intval($player['lookhead']),
		'torsocolor' => intval($player['lookbody']),
		'legscolor' => intval($player['looklegs']),
		'detailcolor' => intval($player['lookfeet']),
		'addonsflags' => intval($player['lookaddons']),
		'ishidden' => intval($player['deletion']) === 1,
		'istournamentparticipant' => false,
		'remainingdailytournamentplaytime' => 0
	];
}

 

Link to post
Share on other sites

  • 2 months later...

Man mesmo assim não consigo logar no client.

Coloco tanto a account com E-mail e senha, como a com a accont name e senha e diz que o password esta errado. estou utilizando o client do git 12.30

 

Link to post
Share on other sites

  • 4 weeks later...
Em 29/01/2020 em 04:59, amoxicilina disse:

Man mesmo assim não consigo logar no client.

Coloco tanto a account com E-mail e senha, como a com a accont name e senha e diz que o password esta errado. estou utilizando o client do git 12.30

 

 

Conseguiu utilizar o cliente 12.30?

Link to post
Share on other sites

Em 29/01/2020 em 04:59, amoxicilina disse:

Man mesmo assim não consigo logar no client.

Coloco tanto a account com E-mail e senha, como a com a accont name e senha e diz que o password esta errado. estou utilizando o client do git 12.30

 

 

Também estou tentando utilizar o cliente 12.30 mas recebo o mesmo erro. Alguém possui o login.php ou sabe como é que faz para utilizar o novo protocolo?

nbeTETb.png?1

 

Link to post
Share on other sites

Em 27/02/2020 em 09:20, VitorNM disse:

Também estou tentando utilizar o cliente 12.30 mas recebo o mesmo erro. Alguém possui o login.php ou sabe como é que faz para utilizar o novo protocolo?

 

Troque

$account->loadByName($result->accountname);

 

por:

$account->loadByName($result->email);

 Plague-OT Global - Version  12 
  Acesse nosso site

 Plague-Banner-Assinatura.gif.ddbd80f2c36669236cc6deecb16d9496.gif

 

 

Link to post
Share on other sites

Em 28/02/2020 em 13:06, Ricardo Monteiro disse:

Troque


$account->loadByName($result->accountname);

 

por:


$account->loadByName($result->email);

 

Então, após essa alteração, a conta é localizada e autenticada corretamente, mas quando entra em qualquer character, o cliente crasha... Tem ideia do quê pode ser?

nbeTETb.png?1

 

Link to post
Share on other sites

Em 03/03/2020 em 18:17, VitorNM disse:

Então, após essa alteração, a conta é localizada e autenticada corretamente, mas quando entra em qualquer character, o cliente crasha... Tem ideia do quê pode ser?

 

Algumas funções mudaram, você precisa modifica-las para poder logar sem crash.

Tipo sendMagicEffet/DistanceShoot
Alguma coisa no addCreature que nao lembro mais porem é a causa principal do crash
E alguns bytes ao logar mesmo...

É basicamente a mesma coisa que tentar logar no client 12 numa source com suporte até 1098/11.

 Plague-OT Global - Version  12 
  Acesse nosso site

 Plague-Banner-Assinatura.gif.ddbd80f2c36669236cc6deecb16d9496.gif

 

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Jeff Delay
      Comecei a usar TFS 1.3 recentemente porem não entendo quase nada praticamente, quero por nessa magia a posição do efeito e o tempo que ela vai sair no target
       
      local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, 0) combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true) -- combat:setParameter(COMBAT_PARAM_USECHARGES, true) function onGetFormulaValues(player, skill, attack, factor)     local min = (player:getLevel() / 5) + (skill * attack * 0.02) + 4     local max = (player:getLevel() / 5) + (skill * attack * 0.04) + 9     return -min, -max end combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(creature, variant) local parameters = {creature = creature, variant = variant} local target = Variant.getNumber(variant) addEvent(effect, 200, target, {1,0}, 45)     return combat:execute(creature, variant) end onde em 
      200 = tempo para sair o efeito
      {1,0} = posição do efeito
      45 = efeito
      nela gostaria também de tempo para sair o danos.
    • By pedrobta
      .Qual servidor ou website você utiliza como base? 
      TFS 1.4
       
      Qual o motivo deste tópico? 
      Gostaria de solicitar a ajuda de vocês em relação a uma dúvida. Gostaria de realçar algumas cores dentro da GAMESTORE, no caso desse exemplo é o laranja.
      Estou enviando uma imagem para dúvidas.
       
      Imagem como eu gostaria de fazer.
       
      Você tem o código disponível? Segue meu GAMESTORE.LUA
       
    • By miguelprojac
      .Qual servidor ou website você utiliza como base? 
      https://github.com/opentibiabr/OTServBR-Global
       
      Bom a situação é a seguinte: quando o player está equipado com uma arma de dano físico que foi imbuida com um dano elemental, a magia de cura que o mesmo usa é diminuida conforme a porcentagem do imbue elemental.
       
      Ex: Arma imbuida nível 2 dano de fogo (25% do dano é convertido para fire)  >> Magia  cura 25% menos;
           Arma imbuida nível 3 dano de gelo (50% do dano é convertido para ice)  >> Magia  cura 50% menos;
       
      Alguem já viu algum problema parecido?  Utilizo o otservbr 12.6 TFS 1.3
          
       
    • By thloko2
      Bom dia/tarde/noite galera !
       
      Bom, gostaria de saber se consigo criar um novo npc que use os diamonds do server para comercializar os itens ao invés do dinheiro normal.
      Mas que ele abra o trade normalmente para visualizar os itens. (O module Shop)
       
      Abraço e agradeço desde já !
       
       
       
       
    • By miguelprojac
      Estou tentando adaptar o script de subir texto animados do chão pra versa TSF 1.3 - revscript.
      mas estou tendo um problema em oque colocar nessa parte do script:
      local positions = { { x = 32365, y = 32236, z = 7 }, } local textoEvent = GlobalEvent("textoEvent") function textoEvent.onThink(interval) for i = 1, #positions do Position(positions[i]):doSendAnimatedText ...????? --------- ESSA LINHA ******* end return true end textoEvent:interval(50) textoEvent:register()    
      Não sei se estou no caminho certo, então se alguem que manja ai puder me dar um help, agradeço!
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo