Ir para conteúdo
  • 0
Thornes

Infraestrutura GesiorAAC - Cliente 12 - Vocations

Pergunta

Thornes    0
Thornes

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.).

Base:

OTServBR-Global, Versão: 10.00 / 12.00. Site: GesiorAAC.

Qual é a sua pergunta?

Bom nao sou muito bom nessas coisas mais se voces me ensina onde fica pra eu poder resolver eu irei tenta e simples pra voces veja bem, no cliente 12 quando vc loga na account vc da de cara com a outfith e algumas informações como Vocation World sexo e tal, porem o Vocation n o meu cliente 12 ele esta aparecendo em Numeros exmplo: Sorcerer = aparece 1, druid = 2 e assim vai porem queria que aparecesse o nome da vocation ao inves de aparecer os id delas, como podem me ajuda?

segue meu login.php (spoiler).

segue uma img abaixo de como fica a vocation (spoiler).

Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo:

Spoiler

<?php

require 'config/config.php';

// comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);

// true = show sent queries and SQL queries status/status code/error message
define('DEBUG_DATABASE', false);
define('INITIALIZED', true);

if (!defined('ONLY_PAGE'))
    define('ONLY_PAGE', true);

// check if site is disabled/requires installation
include_once('./system/load.loadCheck.php');

// fix user data, load config, enable class auto loader
include_once('./system/load.init.php');

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

// DATABASE END

$input = json_decode(file_get_contents("php://input"));
switch ($input->type ? $input->type : '') {

    case "cacheinfo":
		$playersonline = $SQL->query("SELECT * FROM `players_online`")->fetchAll();
        $statistics = [
						'playersonline' => (count($playersonline[0])),
						'twitchstreams' => 0,
						'twitchviewer' => 0,
						'gamingyoutubestreams' => 0,
						'gamingyoutubeviewer' => 0
					];
        echo json_encode($statistics);
    break;

    case "eventschedule":

	
		$campaign = [
        [
		'startdate' => time(),
		'enddate' => time() + 36600 * 20,
		'colorlight' => '#64162b',
		'colordark' => '#7a1b34',
		'name' => 'OpenTibia',
		'description' => 'OpenTibia',
		'isseasonal' => false
		], [
		'startdate' => time(),
		'enddate' => time() + 36600 * 20,
		'colorlight' => '#617a49',
		'colordark' => '#4f633c',
		'name' => 'OpenTibia',
		'description' => 'OpenTibia',
		'isseasonal' => false
		], [
		'startdate' => time(),
		'enddate' => time() + 36600 * 20,
		'colorlight' => '#527b53',
		'colordark' => '#436343',
		'name' => 'OpenTibia',
		'description' => 'OpenTibia',
		'isseasonal' => false
		], [
		'startdate' => time() - 36000,
		'enddate' => time() + 36600 * 30,
		'colorlight' => '#64162b',
		'colordark' => '#7a1b34',
		'name' => 'OpenTibia',
		'description' => 'OpenTibia',
		'isseasonal' => false
		], [
		'startdate' => time() - 36000,
		'enddate' => time() + 36600 * 30,
		'colorlight' => '#24657b',
		'colordark' => '#1d5263',
		'name' => 'OpenTibia',
		'description' => 'OpenTibia',
		'isseasonal' => false
		], [
		'startdate' => time() - 36000,
		'enddate' => time() + 36600 * 30,
		'colorlight' => '#8B6D05',
		'colordark' => '#735D10',
		'name' => 'OpenTibia',
		'description' => 'OpenTibia',
		'isseasonal' => false
		]	];
		$schedule['lastupdatetimestamp'] = time();
 		$schedule['eventlist'] = $campaign;
        echo json_encode($schedule);
        break;

    case "boostedcreature":
		// still name to figure out creature raceid's and work with server to boost the creature
		$boostedcreature["boostedcreature"] = true;
		$boostedcreature["raceid"] = 1038;
        echo json_encode($boostedcreature);
        break;
		
	case "login":


# Declare variables with array structure
$characters = array();
$playerData = array();
$data = array();
$isCasting = false;

# error function
function sendError($msg){
    $ret = array();
    $ret["errorCode"] = 3;
    $ret["errorMessage"] = $msg;
    
    die(json_encode($ret));
}

# getting infos
	$request = file_get_contents('php://input');
	$result = json_decode($request, true);

# account infos
	$accountName = $result["accountname"];
	$password = $result["password"];
# game port
	$port = 7172;

# check if player wanna see cast list
if (strtolower($accountName) == "cast")
	$isCasting = true;
if ($isCasting) {
	$casts = $SQL->query("SELECT `player_id` FROM `live_casts`")->fetchAll();
	if (count($casts[0]) == 0)
		sendError("There is no live casts right now!");
	foreach($casts as $cast) {
		$character = new Player();
		$character->load($cast['player_id']);
		
		if ($character->isLoaded()) {
		$level = $character->getLevel();
		$outfitid = $character->getLookType();
		$headcolor = $character->getLookHead();
		$torsocolor = $character->getLookBody();
		$legscolor = $character->getLookLegs();
		$detailcolor = $character->getLookFeet();
		$addonflags = $character->getLookAddons();
		settype($level, "int");
		settype($outfitid, "int");
		settype($headcolor, "int"); 
		settype($torsocolor, "int"); 
		settype($legscolor, "int"); 
		settype($detailcolor, "int"); 
		settype($addonflags, "int"); 
		$char = array("worldid" => 0, 
						"name" => $character->getName(), 
						"ismale" => (($character->getSex() == 1) ? true : false), 
						"tutorial" => false, 
						"outfitid" => $outfitid, 
						"level" => $level,
						"headcolor" => $headcolor,
						"torsocolor" => $torsocolor,
						"legscolor" => $legscolor,
						"detailcolor" => $detailcolor,
						"addonflags" => $addonflags,
						"vocation" => $character->getVocationName(),
						"ishidden" => (($character->isHidden() == 1) ? true : false));
			$characters[] = $char;
		}			
	}
	$port = 7173;
	$lastLogin = 0;
	$premiumAccount = true;
	$timePremium = 0;
} else {
	$account = new Account();
	$account->find($accountName);
	
	if (!$account->isLoaded())
		sendError("Falha ao obter conta. Tente novamente!");
	if ($account->getPassword() != Website::encryptPassword($password))
		sendError("A senha dessa conta está errada. Tente novamente!");
	
	foreach($account->getPlayersList() as $character) {
		$level = $character->getLevel();
		$outfitid = $character->getLookType();
		$headcolor = $character->getLookHead();
		$torsocolor = $character->getLookBody();
		$legscolor = $character->getLookLegs();
		$detailcolor = $character->getLookFeet();
		$addonflags = $character->getLookAddons();
		settype($level, "int");
		settype($outfitid, "int");
		settype($headcolor, "int"); 
		settype($torsocolor, "int"); 
		settype($legscolor, "int"); 
		settype($detailcolor, "int"); 
		settype($addonflags, "int"); 
		$char = array("worldid" => 0, 
						"name" => $character->getName(), 
						"ismale" => (($character->getSex() == 1) ? true : false), 
						"tutorial" => false, 
						"outfitid" => $outfitid, 
						"level" => $level,
						"headcolor" => $headcolor,
						"torsocolor" => $torsocolor,
						"legscolor" => $legscolor,
						"detailcolor" => $detailcolor,
						"addonflags" => $addonflags,
						"vocation" => $character->getVocation(),
						"ishidden" => (($character->isHidden() == 1) ? true : false));
		$characters[] = $char;
	}
	
	$lastLogin = $account->getLastLogin();
	$premiumAccount = ($account->isPremium()) ? true : false;
	$timePremium = time() + ($account->getPremDays() * 86400);
}
$session = array(
	"fpstracking" => false,
	"optiontracking" => false,
	"isreturner" => true,
	"returnernotification" => false,
	"showrewardnews" => false,
	"sessionkey" => $accountName . "\n" . $password,
	"lastlogintime" => $lastLogin,
    "ispremium" => $premiumAccount,
    "premiumuntil" => $timePremium,
    "status" => "active",	
	"stayloggedin" => true
);

	if ($config['server']['worldType'] == "pvp") {
		$pvptype = 0;
	}
		else if ($config['server']['worldType'] == "no-pvp") {
			$pvptype = 1;
		}
		else if ($config['server']['worldType'] == "pvp-enforced") {
			$pvptype = 2;
		}
		else {
			$pvptype = 0; //default value
		}

$world = array(
	"id" => 0,
	"name" => $config['server']['serverName'],
	"externaladdress" => $config['server']['ip'],
	"externalport" => $port,
	"previewstate" => 0,
    "location" => "BRA",
	"externaladdressunprotected" => $config['server']['ip'],
	"externaladdressprotected" => $config['server']['ip'],
	"externalportunprotected" => $port,
	"externalportprotected" => $port,
	"pvptype" => $pvptype,
	"anticheatprotection" => false
);

$survey = array(
    "id" => rand(0, 999999),
    "invitationtext" => "Querido tibiano, obrigado por escolher o nosso servidor, a base mais atualizada do Tibia Global 12.20, Voce esta jogando Falcon Global.",
    "invitationtoken" => "1751f1beddf001e1d36dee78ace974",
    "endtimestamp" => 1
);

$worlds = array($world);
$data["session"] = $session;
$playerData["worlds"] = $worlds;
$playerData["characters"] = $characters;
$data["playdata"] = $playerData;
$data["survey"] = $survey;

echo json_encode($data);
}

 

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

Spoiler

erro.thumb.png.f3c53c7bfe4c5decde81fa1c0938df08.png

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

4 respostass a esta questão

Recommended Posts

  • 0
Majesty    1755
Majesty

Está ai o login.php corrigido:

Spoiler

<?php

require 'config/config.php';

// comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE);

// true = show sent queries and SQL queries status/status code/error message
define('DEBUG_DATABASE', false);
define('INITIALIZED', true);

if (!defined('ONLY_PAGE'))
    define('ONLY_PAGE', true);

// check if site is disabled/requires installation
include_once('./system/load.loadCheck.php');

// fix user data, load config, enable class auto loader
include_once('./system/load.init.php');

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

// DATABASE END

$input = json_decode(file_get_contents("php://input"));
switch ($input->type ? $input->type : '') {

    case "cacheinfo":
		$playersonline = $SQL->query("SELECT COUNT(*) FROM `players_online`")->fetchAll();
        $statistics = [
						'playersonline' => (intval($playersonline[0][0])),
						'twitchstreams' => 0,
						'twitchviewer' => 0,
						'gamingyoutubestreams' => 0,
						'gamingyoutubeviewer' => 0
					];
        echo json_encode($statistics);
    break;  

	case "eventschedule":	
		$campaign = [
        [
		'startdate' => time(),
		'enddate' => time() + 36600 * 20,
		'colorlight' => '#64162b',
		'colordark' => '#7a1b34',
		'name' => 'OTServBR-Global',
		'description' => 'OTServBR-Global',
		'isseasonal' => false
		], [
		'startdate' => time(),
		'enddate' => time() + 36600 * 20,
		'colorlight' => '#617a49',
		'colordark' => '#4f633c',
		'name' => 'OTServBR-Global',
		'description' => 'OTServBR-Global',
		'isseasonal' => false
		], [
		'startdate' => time(),
		'enddate' => time() + 36600 * 20,
		'colorlight' => '#527b53',
		'colordark' => '#436343',
		'name' => 'OTServBR-Global',
		'description' => 'OTServBR-Global',
		'isseasonal' => false
		], [
		'startdate' => time() - 36000,
		'enddate' => time() + 36600 * 30,
		'colorlight' => '#64162b',
		'colordark' => '#7a1b34',
		'name' => 'OTServBR-Global',
		'description' => 'OTServBR-Global',
		'isseasonal' => false
		], [
		'startdate' => time() - 36000,
		'enddate' => time() + 36600 * 30,
		'colorlight' => '#24657b',
		'colordark' => '#1d5263',
		'name' => 'OTServBR-Global',
		'description' => 'OTServBR-Global',
		'isseasonal' => false
		], [
		'startdate' => time() - 36000,
		'enddate' => time() + 36600 * 30,
		'colorlight' => '#8B6D05',
		'colordark' => '#735D10',
		'name' => 'OTServBR-Global',
		'description' => 'OTServBR-Global',
		'isseasonal' => false
		]	];
		$schedule['lastupdatetimestamp'] = time();
 		$schedule['eventlist'] = $campaign;
        echo json_encode($schedule);
    break;	

    case "boostedcreature":
		// still name to figure out creature raceid's and work with server to boost the creature
		$boostedcreature["boostedcreature"] = true;
		$boostedcreature["raceid"] = 39;
        echo json_encode($boostedcreature);
        break;
		
	case "login":


# Declare variables with array structure
$characters = array();
$playerData = array();
$data = array();
$isCasting = false;

# error function
function sendError($msg){
    $ret = array();
    $ret["errorCode"] = 3;
    $ret["errorMessage"] = $msg;
    
    die(json_encode($ret));
}

# getting infos
	$request = file_get_contents('php://input');
	$result = json_decode($request, true);

# account infos
	$accountName = $result["accountname"];
	$password = $result["password"];
# game port
	$port = 7172;

# check if player wanna see cast list
if (strtolower($accountName) == "cast")
	$isCasting = false;
if ($isCasting) {
	$casts = $SQL->query("SELECT `player_id` FROM `live_casts`")->fetchAll();
	if (count($casts[0]) == 0)
		sendError("There is no live casts right now!");
	foreach($casts as $cast) {
		$character = new Player();
		$character->load($cast['player_id']);
		
		if ($character->isLoaded()) {
		$level = $character->getLevel();
		$outfitid = $character->getLookType();
		$headcolor = $character->getLookHead();
		$torsocolor = $character->getLookBody();
		$legscolor = $character->getLookLegs();
		$detailcolor = $character->getLookFeet();
		$addonflags = $character->getLookAddons();
		settype($level, "int");
		settype($outfitid, "int");
		settype($headcolor, "int"); 
		settype($torsocolor, "int"); 
		settype($legscolor, "int"); 
		settype($detailcolor, "int"); 
		settype($addonflags, "int"); 
		$char = array("worldid" => 0, 
						"name" => $character->getName(), 
						"ismale" => (($character->getSex() == 1) ? true : false), 
						"tutorial" => false, 
						"outfitid" => $outfitid, 
						"level" => $level,
						"headcolor" => $headcolor,
						"torsocolor" => $torsocolor,
						"legscolor" => $legscolor,
						"detailcolor" => $detailcolor,
						"addonflags" => $addonflags,
						"vocation" => Website::getVocationName($character->getVocation()),
						"ishidden" => (($character->isHidden() == 1) ? true : false));
			$characters[] = $char;
		}			
	}
	$port = 7173;
	$lastLogin = 0;
	$premiumAccount = true;
	$timePremium = 0;
} else {
	$account = new Account();
	$account->find($accountName);
	
	if (!$account->isLoaded())
		sendError("Failed to get account. Try again!");
	if ($account->getPassword() != Website::encryptPassword($password))
		sendError("The password for this account is wrong. Try again!");
	
	foreach($account->getPlayersList() as $character) {
		$level = $character->getLevel();
		$outfitid = $character->getLookType();
		$headcolor = $character->getLookHead();
		$torsocolor = $character->getLookBody();
		$legscolor = $character->getLookLegs();
		$detailcolor = $character->getLookFeet();
		$addonflags = $character->getLookAddons();
		settype($level, "int");
		settype($outfitid, "int");
		settype($headcolor, "int"); 
		settype($torsocolor, "int"); 
		settype($legscolor, "int"); 
		settype($detailcolor, "int"); 
		settype($addonflags, "int"); 
		$char = array("worldid" => 0, 
						"name" => $character->getName(), 
						"ismale" => (($character->getSex() == 1) ? true : false), 
						"tutorial" => false, 
						"outfitid" => $outfitid, 
						"level" => $level,
						"headcolor" => $headcolor,
						"torsocolor" => $torsocolor,
						"legscolor" => $legscolor,
						"detailcolor" => $detailcolor,
						"addonflags" => $addonflags,
						"vocation" => Website::getVocationName($character->getVocation()),
						"ishidden" => (($character->isHidden() == 1) ? true : false));
		$characters[] = $char;
	}
	
	$lastLogin = $account->getLastLogin();
	$premiumAccount = ($account->isPremium()) ? true : true;
	$timePremium = time() + (($account->getPremDays()+654) * 86400);
}
$session = array(
	"fpstracking" => false,
	"optiontracking" => false,
	"isreturner" => true,
	"returnernotification" => false,
	"showrewardnews" => false,
	"sessionkey" => $accountName . "\n" . $password,
	"lastlogintime" => $lastLogin,
    "ispremium" => $premiumAccount,
    "premiumuntil" => $timePremium,
    "status" => "active",	
	"stayloggedin" => true
);

	if ($config['server']['worldType'] == "pvp") {
		$pvptype = 0;
	}
		else if ($config['server']['worldType'] == "no-pvp") {
			$pvptype = 1;
		}
		else if ($config['server']['worldType'] == "pvp-enforced") {
			$pvptype = 2;
		}
		else {
			$pvptype = 0; //default value
		}

$world = array(
	"id" => 0,
	"name" => $config['server']['serverName'],
	"externaladdress" => $config['server']['ip'],
	"externalport" => $port,
	"previewstate" => 0,
    "location" => "BRA",
	"externaladdressunprotected" => $config['server']['ip'],
	"externaladdressprotected" => $config['server']['ip'],
	"externalportunprotected" => $port,
	"externalportprotected" => $port,
	"pvptype" => $pvptype,
	"anticheatprotection" => false
);



$worlds = array($world);
$data["session"] = $session;
$playerData["worlds"] = $worlds;
$playerData["characters"] = $characters;
$data["playdata"] = $playerData;
$data["survey"] = $survey;

echo json_encode($data);
}

 

 

Compartilhar este post


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

agora funcionou mano muito obrigado fico te devendo uma, esculta me fala uma coisa tem como o cara fazer um instalador desse cliente 12? 

Compartilhar este post


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

obrigado mano irei tenta aqui muito satisfeito, você e de mais..

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.

×