Ir para conteúdo
  • 0
cronoslash

Infraestrutura [Configuração] Client tibia 12.40

Pergunta

cronoslash    0
cronoslash

Antes de fazer a sua pergunta, tenha certeza de ter lido as regras da seção e o guia abaixo:

https://forums.otserv.com.br/index.php?/forums/topic/168583-regras-da-seção/

https://forums.otserv.com.br/index.php?/forums/topic/165121-como-fazer-uma-pergunta-ou-o-grande-guia-do-usuário-com-dúvidas/

Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.).

Ex: The Forgotten Server 1.3, Versão: 10.40.

Base:

Qual é a sua pergunta?

Pessoal, 

Por favor, podem me ajudar por gentileza, preciso saber como ajustar o meu cliente referente a versão 12.40.

Eu já avaliei alguns tutoriais, porém, não consigo ajustar meu cliente para mostrar a quantidade de players online e também retirar a mensagem, ambos conforme imagem que estou anexando.

Peço desculpas se o meu conhecimento não é avançado como os demais, mais infelizmente não estou conseguindo.

Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:

Spoiler

5fe906b6dd2ac_Semttulo.png.20ef6f5d58caf8287c285c568a90541d.png.af0d64a25a9ae6dbbccc86c5e59079bd.png

 

Editado por cronoslash

Compartilhar este post


Link para o post
Compartilhar em outros sites

6 respostass a esta questão

Recommended Posts

  • 0
Majesty    1755
Majesty

Em seu login.php, procure por esses códigos e deixe igual apresentado abaixo:

Spoiler

Se utiliza MyAAC, deixe assim:

https://github.com/opentibiabr/myaac-tibia12-login/blob/develop/login.php#L45-#L54


case 'cacheinfo':
		$playersonline = $db->query("select count(*) from `players_online`")->fetchAll();
		die(json_encode([
			'playersonline' => (intval($playersonline[0][0])),
			'twitchstreams' => 0,
			'twitchviewer' => 0,
			'gamingyoutubestreams' => 0,
			'gamingyoutubeviewer' => 0
		]));
break;

Se utiliza GesiorAAC, deixe assim:

https://github.com/opentibiabr/gesioraac-tibia12-login/blob/develop/pages/ws_login.php#L47-#L56


case 'cacheinfo':
		$playersonline = $SQL->query("select count(*) from `players_online`")->fetchAll();
		die(json_encode([
			'playersonline' => (intval($playersonline[0][0])),
			'twitchstreams' => 0,
			'twitchviewer' => 0,
			'gamingyoutubestreams' => 0,
			'gamingyoutubeviewer' => 0
		]));
break;

 

 

Para remover o battleye do cliente, tem explicado nesse tutorial (passo 4):

Ou utilize essa ferramenta:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
cronoslash    0
cronoslash

@Majesty 

Antes de mais nada agradeço sua ajuda e disposição de sempre, muito obrigado a opção do BattlEye consegui retirar, já a função para aparecer a quantidade de players não funcinou, por desencargo eu testei os dois códigos, meu site é o Geisor.

Ambos os testes eu reiniciei o servidor e teste porém, sem sucesso, existe outra forma? ou pode ser algum problema com o meu cliente?

Segue meu login.php

Spoiler

<?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 : '';

case 'cacheinfo':
        $playersonline = $SQL->query("select count(*) from `players_online`")->fetchAll();
        die(json_encode([
            'playersonline' => (intval($playersonline[0][0])),
            '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
    ];
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Majesty    1755
Majesty

O código do players online está funcional para mim, lembro que no 12.40 eu corrigi com esse mesmo código.

Testei no 12.60, abri alguns clientes e loguei personagens:

Spoiler

image.png

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
cronoslash    0
cronoslash

@Majesty 

Se não for atrapalhar, pode me ajudar a criar um executável novo eu informo o meu ip, e após isso eu faço um download do tópico que você criou da versão do otserver que eu uso?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Majesty    1755
Majesty

@cronoslash 

Você pode utilizar essa ferramenta para trocar o ip do cliente:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
cronoslash    0
cronoslash

@Majesty 

Muito obrigado amigo, funcionou, não tinha uma condição

switch ($action) {

adicionei e funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×