Hallo allemaal, heb mij eventjes geregistreerd omdat ik met photoshop signatures wil maken die dynamisch zijn. Voor het internetspel Runescape
Mijn vraag is hoe verander ik het script zodat het steeds de skills uit de highscores ophaald?

Hier de code tot nu toe:

<?php

//PHP's GD class functions can create a variety of output image
//types, this example creates a jpeg
header("Content-Type: image/jpeg");

//open up the image you want to put text over
$im = ImageCreateFromGif("template.gif");

//The numbers are the RGB values of the color you want to use
$black = ImageColorAllocate($im, 255, 255, 255);

//The canvas's (0,0) position is the upper left corner
//So this is how far down and to the right the text should start
$start_x = 10;
$start_y = 20;

//This writes your text on the image in 12 point using verdana.ttf
//For the type of effects you quoted, you'll want to use a truetype font
//And not one of GD's built in fonts. Just upload the ttf file from your
//c: windows fonts directory to your web server to use it.
Imagettftext($im, 12, 0, $start_x, $start_y, $black, 'verdana.ttf', "text to write");

//Creates the jpeg image and sends it to the browser
//100 is the jpeg quality percentage
Imagejpeg($im, '', 100);

ImageDestroy($im);

?>


Oplossing voor zijn probleempje

"RuneScape Highscore Class"

Zoals je kan zien in de code heb je dit
<? echo $class->getskill('X',3); ?>

nodig om het level van de account te selecteren..

dus als je alleen ranged wilt gebruiken in je afbeelding doe je maar iets zoals dit hé

<?php
imagettftext($img, 12, 0, 10, 10, $color, $font, "Ranged: " . $class->getskill('ranged',3);
?>



Code:
<?php

class highscores {

    function setplayer($player) {

        $this->player = $player;

        $this->content = file_get_contents("http://hiscore.runescape.com/index_lite.ws?player=".$player);

    }

    function getskill($skill,$mode) {

        $skills = array("Overall","Attack","Defence","Strength","Hitpoints","Ranged","Prayer","Magic","Cooking","Woodcutting","Fletching","Fishing","Firemaking","Crafting","Smithing","Mining","Herblore","Agility","Thieving","Slayer","Farming","Runecraft","Hunter","Construction","Summoning");

        $contents = nl2br($this->content);

        $contents = str_replace('<br />',',',$contents);

        $contents = str_replace('-1','--',$contents);

        $stats = explode(',',$contents);

        $nrskill = array_search($skill,$skills);

        if($nrskill !== FALSE) {

            switch ($mode) {

                case 0;

                    if($stats[($nrskill*3)+1] != 1) {

                        return $stats[($nrskill*3)+1];

                    } else {

                        return "-";

                    }

                    break;

                case 1;

                    return $stats[($nrskill*3)+2];

                    break;

                case 2;

                    return $stats[$nrskill*3];

                    break;

                default;

                    return $stats[($nrskill*3)+1];

                    break;

            }

        } else {

            return "Unknown skill";

        }

    }

    function expleft($currentexp,$goal) {

        $a=0;

        for($x=1; $x<$goal; $x++) {

            $a += floor($x+300*pow(2, ($x/7)));

        }

        $expneeded = floor($a/4);

        $expleft = $expneeded-$currentexp;

        return $expleft;

    }

    function procent($currentexp, $goal) {

        $a=0;

        for($x=1; $x<$goal; $x++) {

            $a += floor($x+300*pow(2, ($x/7)));

        }

        $expneeded = floor($a/4);

        $procent = ($currentexp/$expneeded)*100;

        return $procent;

    }

}



$class = new highscores;

$class->setplayer($_GET['user']);

?>

<style type="text/css">

body {

background-color:#000000;

}

td {

        font:11px verdana, tahoma, arial, helvetica, sans-serif;

        color:#003366;

        padding: 0px;

        text-align:left;

}

.forumheader{

        background-color: #ADB1B4;

        font: 12px verdana, tahoma, arial, helvetica, sans-serif;

        color:#000;

        padding: 4px;

        text-align:center;

        border: #5e5d63 1px solid;

}

.td1{

        background-color: #ADB1B4;

        text-align:right;

        border: #5e5d63 1px solid;

}

.td2{

        background-color:#FFFFFF;

        text-align:left;

        border: #5e5d63 1px solid;

}

</style>

<table width="310" border="0" align="center">

  <tr>

    <td class="forumheader"><b>Skill</b></td>

    <td class="forumheader"><b>Rank</b></td>

    <td class="forumheader"><b>Level</b></td>

    <td class="forumheader"><b>Experience</b></td>

  </tr>

  <tr>

    <td width="100" class="td1">Overall &raquo;&nbsp;</td>

    <td width="60"  class="td2"><? echo $class->getskill('Overall',2); ?></td>

    <td width="50" class="td2"><? echo $class->getskill('Overall',3); ?></td>

    <td width="100" class="td2"><? echo $class->getskill('Overall',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Attack &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Attack',2); ?></td>

    <td class="td2"><? echo $class->getskill('Attack',3); ?></td>

    <td class="td2"><? echo $class->getskill('Attack',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Defense &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Defence',2); ?></td>

    <td class="td2"><? echo $class->getskill('Defence',3); ?></td>

    <td class="td2"><? echo $class->getskill('Defence',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Strength &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Strength',2); ?></td>

    <td class="td2"><? echo $class->getskill('Strength',3); ?></td>

    <td class="td2"><? echo $class->getskill('Strength',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Hitpoints &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Hitpoints',2); ?></td>

    <td class="td2"><? echo $class->getskill('Hitpoints',3); ?></td>

    <td class="td2"><? echo $class->getskill('Hitpoints',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Ranged &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Ranged',2); ?></td>

    <td class="td2"><? echo $class->getskill('Ranged',3); ?></td>

    <td class="td2"><? echo $class->getskill('Ranged',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Prayer &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Prayer',2); ?></td>

    <td class="td2"><? echo $class->getskill('Prayer',3); ?></td>

    <td class="td2"><? echo $class->getskill('Prayer',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Magic &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Magic',2); ?></td>

    <td class="td2"><? echo $class->getskill('Magic',3); ?></td>

    <td class="td2"><? echo $class->getskill('Magic',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Cooking &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Cooking',2); ?></td>

    <td class="td2"><? echo $class->getskill('Cooking',3); ?></td>

    <td class="td2"><? echo $class->getskill('Cooking',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Woodcutting &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Woodcutting',2); ?></td>

    <td class="td2"><? echo $class->getskill('Woodcutting',3); ?></td>

    <td class="td2"><? echo $class->getskill('Woodcutting',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Fletching &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Fletching',2); ?></td>

    <td class="td2"><? echo $class->getskill('Fletching',3); ?></td>

    <td class="td2"><? echo $class->getskill('Fletching',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Fishing &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Fishing',2); ?></td>

    <td class="td2"><? echo $class->getskill('Fishing',3); ?></td>

    <td class="td2"><? echo $class->getskill('Fishing',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Firemaking &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Firemaking',2); ?></td>

    <td class="td2"><? echo $class->getskill('Firemaking',3); ?></td>

    <td class="td2"><? echo $class->getskill('Firemaking',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Crafting &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Crafting',2); ?></td>

    <td class="td2"><? echo $class->getskill('Crafting',3); ?></td>

    <td class="td2"><? echo $class->getskill('Crafting',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Smithing &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Smithing',2); ?></td>

    <td class="td2"><? echo $class->getskill('Smithing',3); ?></td>

    <td class="td2"><? echo $class->getskill('Smithing',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Mining &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Mining',2); ?></td>

    <td class="td2"><? echo $class->getskill('Mining',3); ?></td>

    <td class="td2"><? echo $class->getskill('Mining',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Herblore &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Herblore',2); ?></td>

    <td class="td2"><? echo $class->getskill('Herblore',3); ?></td>

    <td class="td2"><? echo $class->getskill('Herblore',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Agility &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Agility',2); ?></td>

    <td class="td2"><? echo $class->getskill('Agility',3); ?></td>

    <td class="td2"><? echo $class->getskill('Agility',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Thieving &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Thieving',2); ?></td>

    <td class="td2"><? echo $class->getskill('Thieving',3); ?></td>

    <td class="td2"><? echo $class->getskill('Thieving',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Slayer &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Slayer',2); ?></td>

    <td class="td2"><? echo $class->getskill('Slayer',3); ?></td>

    <td class="td2"><? echo $class->getskill('Slayer',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Farming &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Farming',2); ?></td>

    <td class="td2"><? echo $class->getskill('Farming',3); ?></td>

    <td class="td2"><? echo $class->getskill('Farming',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Runecraft &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Runecraft',2); ?></td>

    <td class="td2"><? echo $class->getskill('Runecraft',3); ?></td>

    <td class="td2"><? echo $class->getskill('Runecraft',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Hunter &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Hunter',2); ?></td>

    <td class="td2"><? echo $class->getskill('Hunter',3); ?></td>

    <td class="td2"><? echo $class->getskill('Hunter',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Construction &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Construction',2); ?></td>

    <td class="td2"><? echo $class->getskill('Construction',3); ?></td>

    <td class="td2"><? echo $class->getskill('Construction',1); ?></td>

  </tr>

  <tr>

    <td class="td1">Summoning &raquo;&nbsp;</td>

    <td class="td2"><? echo $class->getskill('Summoning',2); ?></td>

    <td class="td2"><? echo $class->getskill('Summoning',3); ?></td>

    <td class="td2"><? echo $class->getskill('Summoning',1); ?></td>

  </tr>

</table>


ps voor moest je het nog niet gezien hebben het werkt met $_GET['x'] variabelen dus achter het script moet je ?user=VOORBEELDUSER zetten eh..

ik gebruik dit ook voor http://rs.paradox-productions.net/

edit: heb de tabel met gegevens er bij laten staan omdat je dan duidelijker ziet wat je nodig hebt en hoe je wat selecteert xp/lvl/etc..
Je script kan zeker de helft korter als je niet zoveel witregels gebruikt.
Evert schreef op 05.10.2008 17:23
Je script kan zeker de helft korter als je niet zoveel witregels gebruikt.

Het is niet mijn script het komt van google http://www.google.be/search?q=runescape+highscore+class zie 3de link



PS @ Ton.:

er staat "$black", zou er niet beter "$white" staan want 255,255,255 is wit en 0,0,0 is zwart xP

zie
//The numbers are the RGB values of the color you want to use
$black = ImageColorAllocate($im, 255, 255, 255);
Bedankt allemaal, en als het script korter kan, graag.

@Paradox: Waarom dat table gedoe? Het hoeft niet voor op een site, puur voor achter een sig die je op een forum gebruikt

****
**** schreef op 06.10.2008 17:25
Bedankt allemaal, en als het script korter kan, graag.

Toe dan, maak dan. 'T is geen aanvraag...
**** schreef op 06.10.2008 17:25
@Paradox: Waarom dat table gedoe


Om je een duidelijk voorbeeld te geven van hoe je het gebruikt want ik ben niet van plan om het voor jouw te maken hoor, ik heb het al gezegd ik heb het niet zelf geschreven het komt van google.. zoek is op 'runescape highscore class' en dan de 3de link..

Reageren