Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб webMCR 1.5 - ЛК | RCON-Консоль

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем NC22, 30 май 2012.

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

    NC22 Старожил Пользователь

    Баллы:
    153
    Имя в Minecraft:
    NC22
    @DuKKeR, вопросы и ответы - первое сообщение
     
    никио нравится это.
  2. Хостинг MineCraft
    <
  3. arionwt1997

    arionwt1997 Активный участник

    Баллы:
    78
    Скрипт написанный Вами на скорую руку не работает. Вы просто изменили координаты развертки, и нога стала отображать свой задний фон.

    [​IMG]
    Ноги ведь симметричны и правая нога - отражение левой. :) Мне кажется, что в этих строчке ничего менять не нужно - надо как-то зеркально это отобразить:
    Код:
    //Правая нога спереди
    imagecopy($preview, $skin, 8, 20, 4, 20, 4, 12);
    //Правая нога сзади
    imagecopy($preview, $skin, 8, 20, 12, 20, 4, 12);
    Нашел в просторах интернета такой код отражения изображения по вертикали:
    Код:
    $img1 = imagecreatefromjpeg( $filename );
    $w = imagesx($img1);
    $h = imagesy($img1);
    $img2 = imagecreatetruecolor( $w, $h );
     
    imagelayereffect( $img2, IMG_EFFECT_REPLACE);
    for( $i = 0; $i < $h; $i++ ) {
        imagecopy( $img2, $img1, 0, $i, 0, $h - $i - 1, $w, 1 );
    }
    Но в преобразовании и обработки изображения в PHP нефига не понимаю :confused:
     
  4. Автор темы
    NC22

    NC22 Старожил Пользователь

    Баллы:
    153
    Имя в Minecraft:
    NC22
    @arionwt1997, Да, эт я с просони, я ж говорю что не разбирался особо что сделал :) Ща поправлю, вспомнил по какой разметке раньше делал http://freeminecraftskins.com/wp-content/uploads/2010/10/Skinzones.png . И я просил выложить именно скин а не скРин того как выводится
     
    никио нравится это.
  5. arionwt1997

    arionwt1997 Активный участник

    Баллы:
    78
    Спасиб :)
     
  6. arionwt1997

    arionwt1997 Активный участник

    Баллы:
    78
  7. Twin4k

    Twin4k Активный участник

    Баллы:
    63
    Доброго времени суток. Возникла небольшая проблема. Сайт, клиент и сервер я настроил. Всё прекрасно работает. Но вот клиент у меня модифицированный (IC2 и BuildCraft), и лаунчер скачивая клиент с сайта, не качает моды соответственно. Пробовал залить фалы прямо в корень папки обновления, но эфекта это не дало. Так же по примеру одного из лаунчеров, сделал архив client.zip прописал его в список скачиваемых файлов. Архив он качает, но не распаковывает в рабочую папку. Есть идея прописать в скачиваемые файлы всё остальное, но сомневаюсь что это сработает. Помогите пожалуйста.
     
  8. Dj_Arseniy

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

    Баллы:
    88
    Skype:
    arsars79
    Имя в Minecraft:
    Dj_Arseniy
    У меня клиент.зип и качает и распаковывает, всё нормально... Лаунчер бухаровский.
     
  9. interno

    interno Участник

    Баллы:
    43
    Сделал все что мог, на данный момент с этой системой. :)
    http://emou.ru
    Оцените :rolleyes:
     
  10. Garnir4ik

    Garnir4ik Активный участник

    Баллы:
    63
    и что Unzip у меня например есть и все равно качает тока zip архив
     
  11. Twin4k

    Twin4k Активный участник

    Баллы:
    63
    А м
    А можно ссылочку на исходник этого лаунчера? Попробую заковырять. Заранее спасибо :)
     
    I-Am-Black-Overlord нравится это.
  12. Garnir4ik

    Garnir4ik Активный участник

    Баллы:
    63
    Хуже не куда, как можно было до то-кого додуматься?Шутка отлично все)
     
  13. QuadX

    QuadX Старожил Пользователь

    Баллы:
    103
    Skype:
    happyminers
    Как интегрировать версию 1.5b с DLE?
     
  14. qwertyYy

    qwertyYy Активный участник

    Баллы:
    68
    я о лаунчере, удаляю игру, качает лаунчер, запускается игра, буквы все большие :D
    а до удалении игры все норм, где изменить настройки размеров?
    и ещо, сперва в лаунчере звука нет, где то через минут 2 приходит, из за чего может быть?
     
  15. Prosto_virus

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

    Баллы:
    68
    Имя в Minecraft:
    Prosto_virus
    Как сделать что бы при регистрации можно было использовать ник больше 8 символов?
     
  16. arionwt1997

    arionwt1997 Активный участник

    Баллы:
    78
    Кстати я нашел скрипт 2D просмотрщика с нормальным отображением правых руки и ноги, если вставите туда еще и отображение плаща, то цены Вам не будет! :p
    function flip(&$img)
    {
    $size_x = imagesx($img);
    $size_y = imagesy($img);
    $temp = imagecreatetruecolor($size_x, $size_y);
    $x = imagecopyresampled($temp, $img, 0, 0, ($size_x-1), 0, $size_x, $size_y, 0-$size_x, $size_y);
    return $temp;
    }

    // File and new size
    $filename = 'http://www.minecraft.net/skin/' . $_GET['user'] . '.png';

    // Content type
    header('Content-Type: image/png');

    // Load
    $rendered = imagecreatetruecolor(240, 480);
    $source = imagecreatefrompng($filename);
    $b = 120;
    $s = 8;

    // Fill the new image with pink and set pink as the transparent colour
    $pink = imagecolorallocate($rendered, 255, 0, 255);
    imagefilledrectangle($rendered, 0, 0, 240, 480, $pink);
    imagecolortransparent($rendered, $pink);

    // Create a flipped version of the image
    $fsource = flip($source);

    // Annatomy of an imagecopyresampled function
    // $dst_image , $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h

    // Check if we want to render the back or front
    if (isset($_GET['back']))
    {
    // Render the back

    // Copy head
    imagecopyresampled($rendered, $source, $b / 2, 0, $s * 3, $s, $b, $b, $s, $s);

    // Copy the head accesory
    imagecopyresampled($rendered, $source, $b / 2, 0, $s * 7, $s, $b, $b, $s, $s);

    // Copy the body
    imagecopyresampled($rendered, $source, $b / 2, $b, $s * 4, $s * 2.5, $b, $b * 1.5, $s, $s * 1.5);

    // Copy the left arm
    imagecopyresampled($rendered, $source, $b * 1.5, $b, $s * 6.5, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);

    // Copy the right arm
    imagecopyresampled($rendered, $fsource, 0, $b, $s * 1, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);

    // Copy the left leg
    imagecopyresampled($rendered, $source, $b * 1, $b * 2.5, $s * 1.5, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);

    // Copy the right leg
    imagecopyresampled($rendered, $fsource, 60, $b * 2.5, $s * 6, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    }
    else
    {
    // Render the front

    // Copy head
    imagecopyresampled($rendered, $source, $b / 2, 0, $s, $s, $b, $b, $s, $s);

    // Copy the head accesory
    imagecopyresampled($rendered, $source, $b / 2, 0, $s * 5, $s, $b, $b, $s, $s);

    // Copy the body
    imagecopyresampled($rendered, $source, $b / 2, $b, $s * 2.5, $s * 2.5, $b, $b * 1.5, $s, $s * 1.5);

    // Copy the left arm
    imagecopyresampled($rendered, $source, $b * 1.5, $b, $s * 5.5, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);

    // Copy the right arm
    imagecopyresampled($rendered, $fsource, 0, $b, $s * 2, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);

    // Copy the left leg
    imagecopyresampled($rendered, $source, 60, $b * 2.5, $s / 2, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);

    // Copy the right leg
    imagecopyresampled($rendered, $fsource, $b * 1, $b * 2.5, $s * 7, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    }

    // Output to the browser
    imagepng($rendered);
     
  17. Автор темы
    NC22

    NC22 Старожил Пользователь

    Баллы:
    153
    Имя в Minecraft:
    NC22
    @arionwt1997, То что ты скинул тоже кривой скрипт. Попробуй ка ему скормить например такой скин http://drop.catface.ru/img/stop/2.png и увидишь бяку.

    Я просто исправил свои, теперь все работает как надо. На досуге еще проверю с кучей скинов, может что не углядел еще.

    @QuadX, чуть позже добавлю патчик. Пока есть отдельная версия для DLE, в хранилище , но она устарела

    @interno, Как я уже тебе и писал, очень даже красиво получилось. Кидал бы народ больше ссылок на проекты со своим дизайном, сделал бы список проектов сделаных на webMCR где нибудь отдельно.
     

    Вложения:

    • skin.zip
      Размер файла:
      969 байт
      Просмотров:
      7
    никио и arionwt1997 нравится это.
  18. Twin4k

    Twin4k Активный участник

    Баллы:
    63
    И снова здравствуйте. Собственно попытался решить проблему разархивирования client.zip путём вставки кода из другого лаунчера.
    /**
    * Разархивирует файл client.zip из папки bin в .minecraft
    * @author ddark008
    * @throws PrivilegedActionException
    */
    protected void UnZip() throws PrivilegedActionException
    {
    String szZipFilePath;
    String szExtractPath;
    String path = (String)AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
    public Object run() throws Exception {
    return Util.getWorkingDirectory() + File.separator;
    }
    });
    int i;

    szZipFilePath = path + "bin" + File.separator + "client.zip";

    File f = new File(szZipFilePath);
    if(!f.exists())
    {
    System.out.println(
    "\nNot found: " + szZipFilePath);
    //System.exit(0);
    }

    if(f.isDirectory())
    {
    System.out.println(
    "\nNot file: " + szZipFilePath);
    //System.exit(0);
    }

    System.out.println(
    "Enter path to extract files: ");
    szExtractPath = path;

    File f1 = new File(szExtractPath);
    if(!f1.exists())
    {
    System.out.println(
    "\nNot found: " + szExtractPath);
    //System.exit(0);
    }

    if(!f1.isDirectory())
    {
    System.out.println(
    "\nNot directory: " + szExtractPath);
    //System.exit(0);
    }

    ZipFile zf;
    Vector zipEntries = new Vector();

    try
    {
    zf = new ZipFile(szZipFilePath);
    Enumeration en = zf.entries();

    while(en.hasMoreElements())
    {
    zipEntries.addElement(
    (ZipEntry)en.nextElement());
    }

    for (i = 0; i < zipEntries.size(); i++)
    {
    ZipEntry ze =
    (ZipEntry)zipEntries.elementAt(i);

    extractFromZip(szZipFilePath, szExtractPath,
    ze.getName(), zf, ze);
    }

    zf.close();
    System.out.println("Done!");
    }
    catch(Exception ex)
    {
    System.out.println(ex.toString());
    }
    }

    // ============================================
    // extractFromZip
    // ============================================
    static void extractFromZip(
    String szZipFilePath, String szExtractPath,
    String szName,
    ZipFile zf, ZipEntry ze)
    {
    if(ze.isDirectory())
    return;

    String szDstName = slash2sep(szName);

    String szEntryDir;

    if(szDstName.lastIndexOf(File.separator) != -1)
    {
    szEntryDir =
    szDstName.substring(
    0, szDstName.lastIndexOf(File.separator));
    }
    else
    szEntryDir = "";

    System.out.print(szDstName);
    long nSize = ze.getSize();
    long nCompressedSize =
    ze.getCompressedSize();

    System.out.println(" " + nSize + " (" +
    nCompressedSize + ")");

    try
    {
    File newDir = new File(szExtractPath +
    File.separator + szEntryDir);

    newDir.mkdirs();

    FileOutputStream fos =
    new FileOutputStream(szExtractPath +
    File.separator + szDstName);

    InputStream is = zf.getInputStream(ze);
    byte[] buf = new byte[1024];

    int nLength;

    while(true)
    {
    try
    {
    nLength = is.read(buf);
    }
    catch (EOFException ex)
    {
    break;
    }

    if(nLength < 0)
    break;
    fos.write(buf, 0, nLength);
    }

    is.close();
    fos.close();
    }
    catch(Exception ex)
    {
    System.out.println(ex.toString());
    //System.exit(0);
    }
    }

    // ============================================
    // slash2sep
    // ============================================
    static String slash2sep(String src)
    {
    int i;
    char[] chDst = new char[src.length()];
    String dst;

    for(i = 0; i < src.length(); i++)
    {
    if(src.charAt(i) == '/')
    chDst = File.separatorChar;
    else
    chDst = src.charAt(i);
    }
    dst = new String(chDst);
    return dst;
    }


    Но чего то не рабит. Подскажите в чём косяк. (кусок прикрутил нормально, при компиляции не ругается)
     
  19. mayor123

    mayor123 Старожил Девелопер Пользователь

    Баллы:
    173
    В методе extractJars() вызови метод unZip()
     
  20. Twin4k

    Twin4k Активный участник

    Баллы:
    63
    Увы не помогло. Возможно как то не так вызвал метод?
    protected void extractJars(String path)
    throws Exception
    {
    state = 5;

    UnZip();

    float increment = 10.0F / urlList.length;

    for (int i = 0; i < urlList.length; i++) {
    percentage = (55 + (int)(increment * (i + 1)));
    String filename = getFileName(urlList);

    if (filename.endsWith(".pack.lzma")) {
    subtaskMessage = ("Extracting: " + filename + " to " + filename.replaceAll(".lzma", ""));
    extractLZMA(path + filename, path + filename.replaceAll(".lzma", ""));

    subtaskMessage = ("Extracting: " + filename.replaceAll(".lzma", "") + " to " + filename.replaceAll(".pack.lzma", ""));
    extractPack(path + filename.replaceAll(".lzma", ""), path + filename.replaceAll(".pack.lzma", ""));
    } else if (filename.endsWith(".pack")) {
    subtaskMessage = ("Extracting: " + filename + " to " + filename.replace(".pack", ""));
    extractPack(path + filename, path + filename.replace(".pack", ""));
    } else if (filename.endsWith(".lzma")) {
    subtaskMessage = ("Extracting: " + filename + " to " + filename.replace(".lzma", ""));
    extractLZMA(path + filename, path + filename.replace(".lzma", ""));
    }
    }
    }
     
  21. mayor123

    mayor123 Старожил Девелопер Пользователь

    Баллы:
    173
    В закачку добавил файл?
     

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