Ir para conteúdo

[Urgente] Criei Um Website Mais Meu Otserv Tá On Mais No Site Diz Off!


jeandoido

Posts Recomendados

  • 5 weeks later...

Ola eu estou com um problema parecido com o do Jeandoido , o meu gesior indentifica perfeitamente quando o servidor esta offlime ou online mas quando esta online e nenhum player entro no meu servidor ele mostra 1001 player online ai quando eu entro no servidor ele mostra 1002 alguem pode me explicar como eu zero isso? pra ficar correto?

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

1º Para arrumar esse bug do ''Server Offline'', basta ir no arquivo em \xampp\htdocs\layouts\tibiacom\layout.php

nele, encontre

 

if($config['status']['serverStatus_online'] == 1)

 

2º substituia por

if($config['status']['serverStatus_online'] >= 0)

 

Pronto! Problema do Server Offline Resolvido!

 

mas o bug da quantidade de player nao , ele se arruma assim

 

3º Agora, adicione ainda no layout.php, antes da tag <head> o seguinte script:

 

<?PHP
$update_interval = 10;
if(count($config['site']['worlds']) > 1)
{
		    $worlds .= '<i>Select world:</i> ';
		    foreach($config['site']['worlds'] as $id => $world_n)
		    {
						    $worlds .= ' <a href="?subtopic=whoisonline&world='.$id.'">'.$world_n.'</a> , ';
						    if($id == (int) $_GET['world'])
						    {
										    $world_id = $id;
										    $world_name = $world_n;
						    }
		    }
		    $main_content .= substr($worlds, 0, strlen($worlds)-3);
}
if(!isset($world_id))
{
		    $world_id = 0;
		    $world_name = $config['server']['serverName'];
}
$order = $_REQUEST['order'];
if($order == 'level')
		    $orderby = 'level';
elseif($order == 'vocation')
		    $orderby = 'vocation';
if(empty($orderby))
		    $orderby = 'name';
$tmp_file_name = 'cache/whoisonline-'.$orderby.'-'.$world_id.'.tmp';
if(file_exists($tmp_file_name) && filemtime($tmp_file_name) > (time() - $update_interval))
{
		    $tmp_file_content = explode(",", file_get_contents($tmp_file_name));
		    $number_of_players_online = $tmp_file_content[0];
		    $players_rows = $tmp_file_content[1];
}
else
{
		    $players_online_data = $SQL->query('SELECT * FROM players WHERE world_id = '.(int) $world_id.' AND online > 0 ORDER BY '.$orderby);
		    $number_of_players_online = 0;
		    foreach($players_online_data as $player)
		    {
						    $number_of_players_online++;
						    $acc = $SQL->query('SELECT * FROM '.$SQL->tableName('accounts').' WHERE '.$SQL->fieldName('id').' = '.$player['account_id'].'')->fetch();
						    if(is_int($number_of_players_online / 2))
										    $bgcolor = $config['site']['darkborder'];
						    else
										    $bgcolor = $config['site']['lightborder'];
											 $rs = "";
if ($player['skulltime'] > 0 && $player['skull'] == 3)
						    $rs = "<img style='border: 0;' src='./images/whiteskull.gif'/>";
		    elseif ($player['skulltime'] =  $player['skull'] == 4)
						    $rs = "<img style='border: 0;' src='./images/redskull.gif'/>";
		    elseif ($player['skulltime'] =  $player['skull'] == 5)
						    $rs = "<img style='border: 0;' src='./images/blackskull.gif'/>";

						    $players_rows .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH=10%><image src="images/flags/'.$acc['flag'].'.png"/></TD><TD WIDTH=70%><A HREF="?subtopic=characters&name='.urlencode($player['name']).'">'.$player['name'].$rs.'</A></TD><TD WIDTH=10%>'.$player['level'].'</TD><TD WIDTH=20%>'.$vocation_name[$world_id][$player['promotion']][$player['vocation']].'</TD></TR>';
		    }

}

 

4º E onde estiver (em baixo do if que você alterou no passo 1)

 

echo $config['status']['serverStatus_players'].'<br/>Players Online';

 

Substitua por

echo ''.$number_of_players_online.'<br/>Players Online';

 

TESTADO NO GESIOR 0.3.8

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...