1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Récupérer le skin d'un joueur

Discussion dans 'Autres' créé par SimonBHB, 29 Déc 2014.

  1. SimonBHB

    SimonBHB Bûcheron

    Inscrit:
    29 Mai 2011
    Messages:
    106
    Points:
    90
    Sexe:
    Homme
    Bonjours,
    je sais pas si ça va être utile, mais j'ai trouver comment récupérer son skin sur les serveur de Minecraft, car tout ce que j'avais essayer avant ne fonctionnait pas ou alors c'était de vieux code.

    Voila une url d'un skin:
    Donc voila le code pour récupérer l'url de notre skin:
    PHP:

    $pseudo = trim(@$_GET['pseudo']);

    $date_Timestamp = new DateTime(date('Y-m-d H:i:s'));
    $date_Timestamp->format('Y-m-d H:i:s');
    $date_Timestamp = $date_Timestamp->getTimestamp();

    $c = file_get_contents('https://api.mojang.com/users/profiles/minecraft/'.$pseudo.'?at='.$date_Timestamp);
    // var_dump( $c );
     
    $c = json_decode($c);
    // var_dump( $c );

    $id = $c->id;
    // var_dump( $c );

    $c = file_get_contents('https://sessionserver.mojang.com/session/minecraft/profile/'.$id);
    // var_dump( $c );

    $c = json_decode($c);
    // var_dump( $c );

    $donnees = $c->properties[0]->value;
    $donnees_decode = base64_decode($donnees);
    // var_dump( $donnees_decode );

    $c = json_decode($donnees_decode);
    $url = $c->textures->SKIN->url;
    var_dump( $url );
     
    Bref une fois qu'on à récup l'url on peut donc l'utiliser dans ce code qu'on voit partout sur le net:
    PHP:
    <?php
    /*
    Affichage de Skin
    By Cabotdroid
    Site: www.bestgaming.fr */

    function is404($filename){
      $handle = curl_init($filename);
      curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
      $response = curl_exec($handle);
      $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
      curl_close($handle);
      if ($httpCode >= 200 && $httpCode < 300){
         return false;
      }
       else{
         return true;
      }
    }
    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;
    }

    $pseudo = trim(@$_GET['pseudo']);

    $date_Timestamp = new DateTime(date('Y-m-d H:i:s'));
    $date_Timestamp->format('Y-m-d H:i:s');
    $date_Timestamp = $date_Timestamp->getTimestamp();

    $c = file_get_contents('https://api.mojang.com/users/profiles/minecraft/'.$pseudo.'?at='.$date_Timestamp);
    // var_dump( $c );
     
    $c = json_decode($c);
    // var_dump( $c );

    $id = $c->id;
    // var_dump( $c );

    $c = file_get_contents('https://sessionserver.mojang.com/session/minecraft/profile/'.$id);
    // var_dump( $c );

    $c = json_decode($c);
    // var_dump( $c );

    $donnees = $c->properties[0]->value;
    $donnees_decode = base64_decode($donnees);
    // var_dump( $donnees_decode );

    $c = json_decode($donnees_decode);


    $filename = $c->textures->SKIN->url; /* Le liens peut être remplacer par celui de votre serveur de skin :D */
    if(is404($filename) || empty($pseudo)){
       $filename = "img/char.png";
    }
    header('Content-Type: image/png');
    $rendered = imagecreatetruecolor(240, 480);
    $source = imagecreatefrompng($filename);
    $b = 120;
    $s = 8;
    $pink = imagecolorallocate($rendered, 255, 0, 255);
    imagefilledrectangle($rendered, 0, 0, 240, 480, $pink);
    imagecolortransparent($rendered, $pink);
    $fsource = flip($source);
    imagecopyresampled($rendered, $source, $b / 2, 0, $s, $s, $b, $b, $s, $s);
    imagecopyresampled($rendered, $source, $b / 2, 0, $s * 5, $s, $b, $b, $s, $s);
    imagecopyresampled($rendered, $source, $b / 2, $b, $s * 2.5, $s * 2.5, $b, $b * 1.5, $s, $s * 1.5);
    imagecopyresampled($rendered, $source, $b * 1.5, $b, $s * 5.5, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    imagecopyresampled($rendered, $fsource, 0, $b, $s * 2, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    imagecopyresampled($rendered, $source, 60, $b * 2.5, $s / 2, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    imagecopyresampled($rendered, $fsource, $b * 1, $b * 2.5, $s * 7, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    imagepng($rendered);
    ?>
    Et voila:
    skin.php.png

    Source: http://wiki.vg/Mojang_API
     
    #1 SimonBHB, 29 Déc 2014
    Dernière édition: 29 Déc 2014
  2. thecoco67

    thecoco67 Bûcheron

    Inscrit:
    5 Déc 2014
    Messages:
    144
    Points:
    89
    Sexe:
    Homme
    Au pire tu va sur Nova skin
     
    • Troll Troll x 1
  3. SimonBHB

    SimonBHB Bûcheron

    Inscrit:
    29 Mai 2011
    Messages:
    106
    Points:
    90
    Sexe:
    Homme
    Sur tout les sites que j'ai trouvé ou les code PHP que j'ai testé ça na jamais marché, mais la oui. Donc je partage au cas ou^^

    Ca marche aussi pour la tête
     
    #3 SimonBHB, 29 Déc 2014
    Dernière édition: 29 Déc 2014
  4. SimonBHB

    SimonBHB Bûcheron

    Inscrit:
    29 Mai 2011
    Messages:
    106
    Points:
    90
    Sexe:
    Homme

Partager cette page