Скрипт на вывод эмблемы клана. - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Движки сайтов (CMS)

Движки сайтов (CMS)
Обсуждения, решения проблем веб обвязок для ява сервера.

Ответ
Опции темы
Непрочитано 03.10.2012, 18:00   #11
Пользователь

Автор темы (Топик Стартер) Re: Скрипт на вывод эмблемы клана.

Цитата:
Сообщение от n0nam3 Посмотреть сообщение
Выдерните логику отсюда.
Не проходит эту проверку, что странно...
if ($dds!=='DDS ') die("Error: изображение DDS не найдено");

С ДДС мой косяк был. Это исправил, но выдает вот это:
����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C    $.' ",#(7),01444'9=82<.342��C  2!!222222222222222222222222222222222222222222222 22222�� "�� ���}!1AQa"q2���#B��R��$3 br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz �������������������������������������������������� �������������������������  ���w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvw xyz����������������������������������������������� ��������������������������� ?�1K�]�=ƣE��8�"&$�)bT���@0�R�N�N�D����8U6�9s��X�� ��� h����F���@D'#�T6��m��O��Ԯ�ц�iw4� m#��E�'�<_-�t��i���~�t��Om4oM�����

Последний раз редактировалось MIF; 03.10.2012 в 18:36.
MIF вне форума Ответить с цитированием
Непрочитано 03.10.2012, 19:44   #12
Аватар для Rovskoi
Пользователь

По умолчанию Re: Скрипт на вывод эмблемы клана.

Цитата:
Сообщение от MIF Посмотреть сообщение
gd-jpeg v1.0
Попробуй GD второй ветки поставить, может быть поможет.
Rovskoi вне форума Отправить сообщение для Rovskoi с помощью Skype™ Ответить с цитированием
Непрочитано 26.01.2015, 17:26   #13
Аватар для ntking
Пользователь

По умолчанию Re: Скрипт на вывод эмблемы клана.

Спасибо большое за код (логику), я его немного доработал и вот что получилось, сборка L2Open:
crest.php
PHP код:
<?php
/*
 * Функции
 */

function empty_image()
{
    @
header("Content-type: image/gif");
    @
header("Cache-Control: max-age=3600");
    
$img=imagecreatetruecolor(1,1);
    
imagecolortransparent($img0);
    
imagegif($img);
    
imagedestroy($img);
    exit();
}

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

/*
 * Переменные
 */

$id = isset($_GET["id"]) ? $_GET["id"] : 0;
$aid = isset($_GET["aid"]) ? $_GET["aid"] : 0;

if ((
$id == "0") AND ($aid == "0")) empty_image();

include(
"cfg/bd.php"); // Данные для подключения к БД
$msconn mysql_connect($dbhost$dbuser$dbpass) or die ("Ошибка соединения");
MYSQL_SELECT_DB($dbname) or die ("БД не найдена");

if (
$aid == "0") {
$query mysql_query(" SELECT crest FROM clan_data WHERE clan_id=".$id." ");

if (@
mysql_num_rows($query) > 0)
{
  
$result = @mysql_fetch_assoc($query);
  
$clan_crest $result['crest'];
if (
$clan_crest == NULLempty_image();
}
else
{
  
empty_image();
}
                        } else {
$query mysql_query(" SELECT crest FROM ally_data WHERE ally_id=".$aid." ");

if (@
mysql_num_rows($query) > 0)
{
  
$result = @mysql_fetch_assoc($query);
  
$clan_crest $result['crest'];
if (
$clan_crest == NULLempty_image();
}
else
{
  
empty_image();
}
                        }
mysql_close();
$file tmpfile();
fwrite($file$clan_crest);
fseek($file0);
$dds fread($file,4);

if (
$dds!=='DDS ') die("Error: изображение DDS не найдено");

//DDS header
$hdrSize readInt($file);
$hdrFlags readInt($file);
$imgHeight readInt($file)-4;
$imgWidth readInt($file);
$imgPitch readShort($file);

//DXT1 header
fseek($file84);

$dxt1 fread($file,4);

if (
$dxt1!=='DXT1') die("Error: не найден формат DX1");

//here we go
fseek($file128);

@
header ("Content-type: image/png");
@
header("Cache-Control: max-age=3600");
$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);
fclose($file);
exit;
?>
Запрос на картинку клана:
<img src="crest.php?id=CLANID" />
на картинку альянса:
<img src="crest.php?aid=ALLYID" />

Кому помог - с Вас спасибка!
ntking вне форума Отправить сообщение для ntking с помощью ICQ Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17
Вывод ошибок flashboom777 PHP 3 15.04.2011 14:41
Вывод иконки клана на сайте. Ametist PHP 5 29.11.2009 21:59
Lineage 2 Cronicle 5 PROGRAMMATOR Lineage II 11 19.07.2008 13:14


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:16. Часовой пояс GMT +3.

Вверх