Ir para conteúdo

Featured Replies

Postado

Galera, to com um problema no site :S

Ele não mostra quantos tem online, o pior é que as vezes, muito as vezes ele aparece quantos tem...

Alguem tem um palpite?

semttulogw.jpgsemttulolobp.jpg

(quando não aparece os online e quando aparece)

Editado por luuuck (veja o histórico de edições)

Postado

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! mais pera aí ! de que adianta se agora ta aparecendo 0 players online? 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';

Créditos:

TheFog

horizontallogowhite1.png

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo