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>
Теперь нужно придумать, как сливать эмблемы с сервера на веб-сайт.
Отписываем свои соображения)