TH

[Gesior Acc] Server Offline E 0 Players Online

Por thefog, 05 de out. de 2011 em Tutoriais de Websites

tibia
script
otserv
16
13.9k
thefogT
05 de outubro de 2011 às 02:24

Olá, muitos usuários do Gesior acc maker ja perceberam que no canto superior direito aparece Server Offline, alguns conseguiram arrumar, mais apartir de então começou a aparecer 0 Players Online ...

vamos lá com meu 1º Tutorial !

 

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

5º REP+ !

1po.png16po.png

 

Pronto ! Foi usado o Gesior 0.3.8

Para quem ta desconfiando que eu copiei, o script que é para colocar antes da tag <head> foi tirado do whoisonline.php !

mais tem gente que nunca nem imaginou em fazer isso!

TUTORIAL 100% FEITO POR MIM, SE FOR POSTAR EM OUTRO FORUM, COLOQUE CRÉDITOS !

Editado Outubro 21 por AnyurCT

SkyDangerousS
05 de outubro de 2011 às 07:36

Bom , nunca aconteceu comigo esse erro.

Mas se acontecer , pelo menos já vou saber como arrumar.

 

Parabéns !

3 semanas depois...
guixapG
21 de outubro de 2011 às 02:53

Vlws Muito bom REP+ Sem dúvidas.

Gabriel CoutoG
21 de outubro de 2011 às 16:04

Aprovado, Parabéns, Continue Assim!

 

Movido para a Seção Correta!

 

[OBS] Arrumei o Tópico, coloquei com

code

1 mês depois...
easyot1995E
17 de novembro de 2011 às 09:36

Praticamente Perfeito ! Parabéens Maan !

Continue Assim , Trazendo Soluções para o Xtibia !

1 mês depois...
LordstoonL
03 de dezembro de 2011 às 23:55

+REP

 

ajudou bastante aki no meu server... vlw aew mano!

3 semanas depois...
WiseupW
19 de dezembro de 2011 às 12:25

Cara só não entendi uma coisa, onde fica esse "tag <head> " ? onde devo por a 2 instrução?

1 mês depois...
warcraftzzW
06 de janeiro de 2012 às 15:59

se o server estiver OFFLINE vai aparecer: 0 Players Online em vez de SERVER OFFLINE

2 meses depois...
BoneFoxB
03 de março de 2012 às 00:43

P#ta que pariu!!

 

Me salvou d+!!!!!!!!!!!

 

obrigado mano

serei grato eternamente!

 

e dps por flodar

tive que agradecer

 

xtibia é f#oda!

 

S2 s2

7 meses depois...
jonasneto12J
21 de outubro de 2012 às 09:54

Muinto obrigado vlw mesmo, meu site parecia muinto raramente quantos players on maioria da vez ficava sem nada so players online agora ta 100%

VictorWEBMasterV
21 de outubro de 2012 às 11:05

REP+!

Ótimo tutorial. Resolveu a duvida de muitas pessoas.

Piabeta KunP
21 de outubro de 2012 às 12:05

Muinto obrigado vlw mesmo, meu site parecia muinto raramente quantos players on maioria da vez ficava sem nada so players online agora ta 100%

 

Reviver topico inativo a mais de 1 mês sem complementar ou tarzer uma duvida é contra as regras!

-Rep espero que não aconteça novamente, leia as regras!

3 meses depois...
fironfoxF
30 de janeiro de 2013 às 22:33

E como eu faço para trocar a imagem ali, por outro monstro ??

1 ano depois...
RodriGoTR
25 de fevereiro de 2014 às 09:22

Descupa esta revivendo o topico, porque estou com um problema, o meu não tem isso.

 

 

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

Em baixo do que ta peddindo so tem isso.

 

if($config['status']['serverStatus_online'] == 1)
echo $config['status']['serverStatus_players'].'/'.$config['status']['serverStatus_playersMax'].'<br />Uptime: '.$config['status']['serverStatus_uptime'].'<br />';
else
echo '<font color="red"><b>Server<br />OFFLINE</b></font>';
?></div>

Alguem pode me ajudar?, Obrigado.

Editado Fevereiro 25 por RodriGoT

1 mês depois...
tchuca02T
11 de março de 2014 às 16:41

meu site nao tem a pasta layout