Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Скин система

Тема в разделе "[Архив] Помощь", создана пользователем semen1999, 1 окт 2012.

  1. Автор темы
    semen1999

    semen1999 Активный участник Пользователь

    Баллы:
    78
    <?php
    require_once("system.php");

    //if (empty($user)) exit;

    function imageflip(&$result, &$img, $rx = 0, $ry = 0, $x = 0, $y = 0, $size_x = null, $size_y = null) {
    if ($size_x < 1) $size_x = imagesx($img);
    if ($size_y < 1) $size_y = imagesy($img);

    imagecopyresampled($result, $img, $rx, $ry, ($x + $size_x-1), $y, $size_x, $size_y, 0-$size_x, $size_y);
    }

    function mini($way_skin, $mp = 1, $size = 151) {

    if (!file_exists($way_skin) or !$mp) return false;

    $im = @imagecreatefrompng($way_skin);
    if (!$im) return false;

    $av = imagecreatetruecolor($size,$size);

    imagecopyresized($av,$im,0,0,8 *$mp,8 *$mp,$size,$size,8 *$mp,8 *$mp);
    imagecopyresized($av,$im,0,0,40*$mp,8 *$mp,$size,$size,8 *$mp,8 *$mp);

    imagedestroy($im);

    return $av;

    }

    function create_skin($way_skin,$way_cloak = false,$mp = 1, $mp_cloak = 1) {

    if (!file_exists($way_skin) or !$mp) return false;
    if (!$way_cloak or !file_exists($way_cloak) or !$mp_cloak) $way_cloak = false;
    else {
    $cloak = @imagecreatefrompng($way_cloak);
    if (!$cloak) $way_cloak = false;
    }

    $skin = @imagecreatefrompng($way_skin);
    if (!$skin) return false;

    $mp_x = 32 *$mp; $mp_y = 32 *$mp; $mp_x_h = $mp_x / 2;

    $preview = imagecreatetruecolor($mp_x, $mp_y);

    $transparent = imagecolorallocatealpha($preview, 255, 255, 255, 127);
    imagefill($preview, 0, 0, $transparent);

    if ($way_cloak)
    imagecopyresized($preview, $cloak, 3*$mp, 8 *$mp, 12 *$mp_cloak, 1 *$mp_cloak, 10 *$mp, 16 *$mp, 10 *$mp_cloak, 16 *$mp_cloak);

    imagecopy($preview, $skin, 4 *$mp, 0 *$mp, 8 *$mp, 8 *$mp, 8 *$mp, 8 *$mp);
    imagecopy($preview, $skin, 0 *$mp, 8 *$mp, 44 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imageflip($preview, $skin, 12*$mp, 8 *$mp, 44 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imagecopy($preview, $skin, 4 *$mp, 8 *$mp, 20 *$mp, 20 *$mp, 8 *$mp, 12 *$mp);
    imagecopy($preview, $skin, 4 *$mp, 20 *$mp, 4 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imageflip($preview, $skin, 8 *$mp, 20 *$mp, 4 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imagecopy($preview, $skin, 4 *$mp, 0 *$mp, 40 *$mp, 8 *$mp, 8 *$mp, 8 *$mp);

    imagecopy($preview, $skin, $mp_x_h + 4 *$mp, 8 *$mp, 32 *$mp, 20 *$mp, 8 *$mp, 12 *$mp);
    imagecopy($preview, $skin, $mp_x_h + 4 *$mp, 0 *$mp, 24 *$mp, 8 *$mp, 8 *$mp, 8 *$mp);
    imageflip($preview, $skin, $mp_x_h + 0 *$mp, 8 *$mp, 52 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imagecopy($preview, $skin, $mp_x_h + 12 *$mp, 8 *$mp, 52 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imageflip($preview, $skin, $mp_x_h + 4 *$mp, 20 *$mp, 12 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imagecopy($preview, $skin, $mp_x_h + 8 *$mp, 20 *$mp, 12 *$mp, 20 *$mp, 4 *$mp, 12 *$mp);
    imagecopy($preview, $skin, $mp_x_h + 4 *$mp, 0 *$mp, 56 *$mp, 8 *$mp, 8 *$mp, 8 *$mp);

    if ($way_cloak)
    imagecopyresized($preview, $cloak, $mp_x_h + 3*$mp, 8 *$mp, 1 *$mp_cloak, 1 *$mp_cloak, 10 *$mp, 16 *$mp, 10 *$mp_cloak, 16 *$mp_cloak);

    $fullsize = imagecreatetruecolor(224, 224);

    imagesavealpha($fullsize, true);
    $transparent = imagecolorallocatealpha($fullsize, 255, 255, 255, 127);
    imagefill($fullsize, 0, 0, $transparent);

    imagecopyresized($fullsize, $preview, 0, 0, 0, 0, imagesx($fullsize), imagesy($fullsize), imagesx($preview), imagesy($preview));

    imagedestroy($preview);
    imagedestroy($skin);
    if ($way_cloak) imagedestroy($cloak);

    return $fullsize;
    }

    $mode = 1;

    if ( isset($_GET["mini"]) ) { $tmp_id = (int)$_GET['mini']; $mode = 2; /*$size = (isset($_GET['size']))? (int)$_GET['size'] : 151;*/ }
    elseif ( isset($_GET["user_id"]) ) $tmp_id = (int)$_GET['user_id'];
    else $user_name = $user->name();

    if ( isset($_GET["user_id"]) or isset($_GET["mini"]) ) {

    $tmp_user = new User($tmp_id,$bd_aUserID);
    if (!$tmp_user->id()) exit;

    $user_name = $tmp_user->name();

    unset($tmp_user);

    }

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

    $image = false;

    $way_skin = $way_mcraft.$way_skins.$user_name.'.png';
    $way_cloak = $way_mcraft.$way_cloaks.$user_name.'.png';
    $way_buffer = $way_mcraft.'tmp/skin_buffer/'.$user_name.'.png';
    $way_buffer_mini = $way_mcraft.'tmp/skin_buffer/'.$user_name.'_Mini.png';

    if (!file_exists($way_cloak)) $way_cloak = false;

    if (!file_exists($way_skin)) {

    $way_skin = $way_style.'img/Char.png';

    if ( ! $way_cloak )
    $way_buffer = $way_mcraft.'tmp/skin_buffer/default/Char.png';
    $way_buffer_mini = $way_mcraft.'tmp/skin_buffer/default/Char_Mini.png';

    }

    if ( $mode == 1 ) {

    if (!file_exists($way_buffer)) {

    $skin = imagecreatefrompng($way_skin);

    $r_skin = ratio( $way_skin );
    if ( $way_cloak )
    $r_cloak = ratio($way_cloak, 22, 1.29);
    else
    $r_cloak = false;

    $image = create_skin($way_skin,$way_cloak,$r_skin,$r_cloak);

    } else readfile($way_buffer);

    } else {

    if (!file_exists($way_buffer_mini)) {

    $r_skin = ratio($way_skin);

    $image = mini($way_skin,$r_skin,151);

    } else readfile($way_buffer_mini);
    }

    if ($image) {
    imagepng($image);

    if ($enable_buffer) {
    if ($mode == 1) imagepng($image,$way_buffer);
    else imagepng($image,$way_buffer_mini);
    }

    imagedestroy($image);
    }
    ?>
    Мне надо, чтобы была поддержка hd скинов(1021х512), что тут нужно исправить? Я так понял тут где-то стоит стандартное 64х32, но не вижу где
     
  2. Хостинг MineCraft
    <
  3. Sgy-x2

    Sgy-x2 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Sgy_x2
    @semen1999, Нужен патч, который находится тут
     
  4. Автор темы
    semen1999

    semen1999 Активный участник Пользователь

    Баллы:
    78
    какой патч?0_О
     
  5. Sgy-x2

    Sgy-x2 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Sgy_x2
    Тот который по ссылке выше, кидаешь его в клиент и радуешься!
    Заркгайся и увидишь ссылку донлоад.
     
  6. Автор темы
    semen1999

    semen1999 Активный участник Пользователь

    Баллы:
    78
    это не на клиенте,а на с
    Мне нужно изменить файл с сайта(через фтп)
     

Поделиться этой страницей