• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved whoisonline problem

Here You are.

Wklejka #368515 | Wklej.org

PHP:
<?PHP
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';
$players_online_data = $SQL->query('SELECT * FROM players WHERE world_id = '.(int) $world_id.' AND online = 1 ORDER BY '.$orderby);
$number_of_players_online = 0;
foreach($players_online_data as $player) {
	$number_of_players_online++;
	if(is_int($number_of_players_online / 2))
		$bgcolor = $config['site']['darkborder'];
	else
		$bgcolor = $config['site']['lightborder'];

	$kills = 6;
	$time = 3 * 60 * 60 * 1000;
	$hasRs = $kills * $time;
	$rs = "";
	if ($player['skulltime'] > 0 && $player['skull'] == 0)
		$rs = "<img style='border: 0;' src='./images/whiteskull.gif'/>";
	else if ($player['skulltime'] >= $hasRs or $player['skull'] == 1)
		$rs = "<img style='border: 0;' src='./images/redskull.gif'/>";

	$players_rows .= '<TR BGCOLOR='.$bgcolor.'><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>';
}
if($number_of_players_online == 0)
	//server status - server empty
	$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>Currently no one is playing on <b>'.$config['site']['worlds'][$world_id].'</b>.</TD></TR></TABLE></TD></TR></TABLE><BR>';
else
{
	
//server status - someone is online
	$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><B>Server Status</B></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1><TR><TD>Currently '.$number_of_players_online.' players are online on <b>'.$config['site']['worlds'][$world_id].'</b>.</TD></TR></TABLE></TD></TR></TABLE><BR>';
	
//Ile kto online

$connect = new mysqli ("".$config['server']['mysqlHost']."","".$config['server']['sqlUser']."","".$config['server']['sqlPass']."","".$config['server']['sqlDatabase']."");

$sor = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 1 AND `promotion` = 0 AND `online` = 1");
$sork = $sor->fetch_array();

$sor1 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 2 AND `promotion` = 0 AND `online` = 1");
$sork1 = $sor1->fetch_array();

$sor2 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 3 AND `promotion` = 0 AND `online` = 1");
$sork2 = $sor2->fetch_array();

$sor3 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 4 AND `promotion` = 0 AND `online` = 1");
$sork3 = $sor3->fetch_array();

$sor4 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 1 AND `promotion` = 1 AND `online` = 1");
$sork4 = $sor4->fetch_array();

$sor5 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 2 AND `promotion` = 1 AND `online` = 1");
$sork5 = $sor5->fetch_array();

$sor6 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 3 AND `promotion` = 1 AND `online` = 1");
$sork6 = $sor6->fetch_array();

$sor7 = $connect->query("SELECT COUNT(*) FROM `players` WHERE `vocation` = 4 AND `promotion` = 1 AND `online` = 1");
$sork7 = $sor7->fetch_array();


$sor->close();
$sor1->close();
$sor2->close();
$sor3->close();
$sor4->close();
$sor5->close();
$sor6->close();
$sor7->close();

$main_content.= '<TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=80%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD WIDTH=25% CLASS=white><B>Vocation</B></TD><TD WIDTH=75% CLASS=white><B>Online</B></TD>';
$main_content .= '</TR>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>Sorcerer</B></td><td>'.$sork[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>Druid</B></td><td>'.$sork1[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>Paladin</B></td><td>'.$sork2[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>Knight</B></td><td>'.$sork3[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>MS</B></td><td>'.$sork4[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>ED</B></td><td>'.$sork5[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>RP</B></td><td>'.$sork6[0].'</td></tr>';
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $number_of_rows1++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td><B>EK</B></td><td>'.$sork7[0].'</td></tr>';

$main_content .= '</table><br><br>';



//list of players
	$main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD><A HREF="?subtopic=whoisonline&order=name" CLASS=white>Name</A></TD><TD><A HREF="?subtopic=whoisonline&order=level" CLASS=white>Level</A></TD><TD><A HREF="?subtopic=whoisonline&order=vocation" CLASS=white>Vocation</TD></TR>'.$players_rows.'</TABLE>';
	//search bar
	$main_content .= '<BR><FORM ACTION="?subtopic=characters" METHOD=post>  <TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Search Character</B></TD></TR><TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><TABLE BORDER=0 CELLPADDING=1><TR><TD>Name:</TD><TD><INPUT NAME="name" VALUE=""SIZE=29 MAXLENGTH=29></TD><TD><INPUT TYPE=image NAME="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></TD></TR></TABLE></TD></TR></TABLE></FORM>';
}
?>
 
But its not only lastdeath its on all pages.

In code(layout.php in original thread) is "include('whoisonline.php'); " but when i delete this line show players online dont work.
 
I make this: http://otland.net/f451/how-not-count-x-logged-players-81370/#post835743

And next i want make this (better server status show afk player online and all players)
http://otland.net/f118/all-aac-patch-how-not-count-x-logged-players-84820/

When i add this code to layout.php status server look fine but on all my pages under normal pages (np lastdeath, guilds, houses, buypoints etc is player list like whoisonline.

After (old status server)

26389678.png


Now (on all pages is player list)

bbv.png


How i can remove this player list but dont remove status server (with afk online players)
 
When i delete line:

include('whoisonline.php');

i see on all pages:
65900302.png


Only on whoisonline page is good

27688300.png


Solved
i copy whoisonline.php and create stats.php next delete bad code (player list) and in layout.php change include('whoisonline.php'); on include('stats.php'); And all work fine.

VirrageS Thx for help
REP.
 
Last edited:
Back
Top