Перейти к содержанию
Авторизация  
Моветон

Пример Статистики С Эмблемами Клана И Али

Рекомендуемые сообщения

crest.php:

<?


if(!empty($_GET['clan_crest'])){
$name = 'Crest';
$crest = $_GET['clan_crest'];
}
else if(!empty($_GET['ally_crest'])){
$name = 'AllyCrest';
$crest = $_GET['ally_crest'];
}
else
die('No Crest!');


$file = fopen('ПУТЬ_ДО_ЗНАЧКОВ/crests/'.$name.'_'.$crest.'.bmp', 'r'); //fopen($filename,'rb');

$dds = fread($file,4);


if ($dds!=='DDS ') die("Error: no hay imagen DDS");


//DDS header

$hdrSize = readInt($file);

$hdrFlags = readInt($file);

$imgHeight = readInt($file)-4;

$imgWidth = readInt($file);

$imgPitch = readShort($file);



//DXT1 header

fseek($file, 84);

$dxt1 = fread($file,4);

if ($dxt1!=='DXT1') die("Error: no es formato DX1");


//here we go

fseek($file, 128);

header ("Content-type: image/png");

$img=imagecreatetruecolor($imgWidth,$imgHeight);


for ($y=-1; $y<$imgHeight/4; $y++)

{

 for ($x=0; $x<$imgWidth/4; $x++)

 {

$color0_16 = readShort($file);

$color1_16 = readShort($file);

$r0 = ($color0_16 >> 11) << 3;

$g0 = (($color0_16 >> 5) & 63) << 2;

$b0 = ($color0_16 & 31) << 3;

$r1 = ($color1_16 >> 11) << 3;

$g1 = (($color1_16 >> 5) & 63) << 2;

$b1 = ($color1_16 & 31) << 3;

$color0_32 = imagecolorallocate($img,$r0,$g0,$b0);

$color1_32 = imagecolorallocate($img,$r1,$g1,$b1);

$color01_32 = imagecolorallocate($img,$r0/2+$r1/2,$g0/2+$g1/2,$b0/2+$b1/2);

$black = imagecolorallocate($img,0,0,0);

$data = readInt($file);

for ($yy=0;$yy<4;$yy++)

{

  for ($xx=0;$xx<4;$xx++)

  {

	$bb = $data & 3;

	$data = $data >> 2;

	switch ($bb)

	{

	  case 0: $c = $color0_32; break;

	  case 1: $c = $color1_32; break;

	  case 2: $c = $color01_32; break;

	  default: $c = $black; break;

	}

	imagesetpixel($img,$x*4+$xx,$y*4+$yy,$c);

  }

}

 }

}



imagepng($img);



## Functions needed

function readInt($file)

{

 $b4 = ord(fgetc($file));

 $b3 = ord(fgetc($file));

 $b2 = ord(fgetc($file));

 $b1 = ord(fgetc($file));

 return ($b1<<24)|($b2<<16)|($b3<<8)|$b4;

}



function readShort($file)

{

 $b2 = ord(fgetc($file));

 $b1 = ord(fgetc($file));

 return ($b1<<8)|$b2;

}


?>

 

connection.php:

<?php
$db_user = "USER";
$db_pass = "PASS";
$db_name = "l2jdb";
$db_serv = "localhost";
$db_port = "3306";
$res = mysql_connect ( $db_serv, $db_user, $db_pass, $db_port ) or die ("Coudn't connect to [$db_serv]");
mysql_select_db ( $db_name );
?>

 

 

Pkkills.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
body,td,th {
color: #CCCCCC;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
body {
background-color: #000000;
}
-->
</style>
</head>
<body>
<table style="border: 1px solid; border-color: #444444; background-color:#222222;" align="center" width="100%">
 <tr>
<th class='Stil7' colspan="5">Top 100 PK</th>
 </tr>
 <tr>
<th width="5%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Rank </th>
<th width="35%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Name </th>
<th width="19%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Clan </th>
<th width="19%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Ally </th>
<th width="20%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> PK's </th>
 </tr>

 <?php 
require("Connection.php");
$activity = mysql_query("SELECT char_name,pkkills,clan_name as 'pname', ally_name as 'aname', clanid, clan_data.crest_id as 'pcrest', ally_crest_id as 'acrest' FROM characters LEFT JOIN clan_data ON clan_data.clan_Id = characters.clanId Where ((pkkills >=1) AND (accesslevel = 0)) ORDER BY pkkills DESC, char_name ASC limit 100");
$i = 1;

while($row = mysql_fetch_array($activity))

{
	if (!($i%2)) echo "<tr bgcolor='#000000' align='center'>";
	else
	echo "<tr bgcolor='#161616' align='center'>";
	echo "<td>"."<center>".$i."</center>"."</td>";
	echo "<td>"."<center>".$row['char_name']."</center>"."</td>";
	echo "<td align='left'>";
		if ($row['pcrest'] != 0) echo "<img src='crest.php?clan_crest=".$row['pcrest']."'/> ".$row['pname']."";
	echo "</td>";
	echo "<td align='left'>";
		if ($row['acrest'] != 0) echo "<img src='crest.php?ally_crest=".$row['acrest']."'/> ".$row['aname']."";
	echo "</td>";
	echo "<td>"."<center>".$row['pkkills']."</center>"."</td>";
	$i++;
}
?>
</table>
</body>
</html>

 

PvPKills.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<style type="text/css">
<!--
body,td,th {
color: #CCCCCC;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
body {
background-color: #000000;
}
-->
</style>
<body>
<table style="border: 1px solid; border-color: #444444; background-color:#222222;" align="center" width="100%">
 <tr>
<th class='Stil7' colspan="5">Top 100 PvP</th>
 </tr>
 <tr>
<th width="5%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Rank </th>
<th width="35%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Nombre </th>
<th width="19%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Clan</th>
<th width="19%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> Ally</th>
<th width="20%" style="border: 1px solid; border-color: #444444; background-color:#222222;"> PvP's </th>
 </tr>
 <?php 
require("Connection.php");
$activity = mysql_query("SELECT char_name,pvpkills,clan_name as 'pname', ally_name as 'aname', clan_data.crest_id as 'pcrest', ally_crest_id as 'acrest' FROM characters LEFT JOIN clan_data ON clan_data.clan_Id = characters.clanId Where ((pvpkills >=1) AND (accesslevel = 0)) ORDER BY pvpkills DESC, char_name ASC limit 100");
$i = 1;
while($row = mysql_fetch_array($activity))
{
		if (!($i%2)) echo "<tr bgcolor='#000000' align='center'>";
else
echo "<tr bgcolor='#161616' align='center'>";
	echo "<td>"."<center>".$i."</center>"."</td>";
	echo "<td>"."<center>".$row['char_name']."</center>"."</td>";
	echo "<td align='left'>";
		if ($row['pcrest'] != 0) echo "<img src='crest.php?clan_crest=".$row['pcrest']."'/> ".$row['pname']."";
	echo "</td>";
	echo "<td align='left'>";
		if ($row['acrest'] != 0) echo "<img src='crest.php?ally_crest=".$row['acrest']."'/> ".$row['aname']."";
	echo "</td>";
	echo "<td>"."<center>".$row['pvpkills']."</center>"."</td>";
	$i++;
}
?>
</table>
</body>
</html>

 

Теперь нужно придумать, как сливать эмблемы с сервера на веб-сайт.

Отписываем свои соображения)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...