Hm ich würde auch gerne wissen wie der php script dazu geht =).
Neue Signatur Statsanzeige
-
-
ich mache nur das bild, php macht jemand andere,s dies hier, ist nur ein bild,
zur optik, wie es ausehn würde ! -
he asmo, macht sowas auch fuer animosity

-
Oo woot nee nur für mich und tq so war der deal
-
Wie barto schon sagte wird das über ein php script gemacht. Zuerst braucht man ein script, dass die daten aus der GameSpy seite ausliest (das hab ich aber nicht selbst gemacht).
Um die stats dann in eine grafik zu packen hat man mehrere möglichkeiten. Barto hats zB. mit flash gemacht, ich mit php. Von flash habe ich keine ahnung, aber wenn mans mit php machen will sollte man sich die gd2 library für php mal anschauen.
Man braucht:
ImageCreateFromPNG(); zum laden des bildes,
ImageString(); um einen string zu zeichnen,
imagepng(); um das png auszugeben und
imagedestroy() um die ganze sache wieder zu beenden. -
Oo jo ich lass das dann doch lieber andere machen, bilder machen ist, eh schwer genug!

so silber is doch am geislten nicht wahr

-
jo silber sieht da am besten aus... bescheureter deal wen dus net fuer deinen clan machst -.-
mhmhmhm -
kannst du php ? ich net !
-
kann einer den ganzen code hier einfügen? bisschen dran basteln kann ich dann schon
aber so aus dem nichts... -
bidde:
PHP
Display More<?php /* Dawn Of War: Winter Assault StatsBanner by BadFish Date: 24.02.2006 */ header("Content-type: image/png"); $img=ImageCreateFromPNG("banner_badfish.png"); //Stats auslesen fuer [NutS]BadFish $file = fopen ("http://stats_auslese_script?p=[NutS]BadFish", "r"); $line = fgets ($file, 1024); parse_str($line); //ausgabe fuer [NutS]BadFish ImageString($img,3 , 216, 27 ,$spiele,$color); ImageString($img,3 , 216, 43 ,$wins,$color); ImageString($img,3 , 216, 61 ,$loss,$color); ImageString($img,3 , 204, 79 ,$prozent."%",$color); ImageString($img,3 , 212, 97 ,$v1p,$color); //Stats auslesen fuer badfishs $file = fopen ("http://stats_auslese_script?p=badfishs", "r"); $line = fgets ($file, 1024); parse_str($line); //ausgabe fuer badfishs ImageString($img,3 , 269, 27 ,$spiele,$color); ImageString($img,3 , 269, 43 ,$wins,$color); ImageString($img,3 , 269, 61 ,$loss,$color); ImageString($img,3 , 257, 79 ,$prozent."%",$color); ImageString($img,3 , 265, 97 ,$v1p,$color); imagepng($img); imagedestroy($imagedestroy($img)); ?>
-----------------------------------------------------------------------------------Aber wie gesagt, das auslese-script für die stats ist nicht von mir, also werde ich es auch nicht einfach mal so veröffentlichen.
-
hast du das nicht gerade getan?

-
nope, hab nur den teil gepostet den ich selbst programmiert hab

Das ist nur die ausgabe in das bild, deshalb werdet ihr damit auch nicht viel anfangen können. (ohne eingabe keine ausgabe^^) -
der Pole ftw
-
öhm, und wieso hast du den code dann? wenn du ihn geklaut hast? wäre doch nice wenn jeder sich selbst einer basteln, kann auch wenn er keien grosse php kenntnisse hat

-
Er hat nur den Code gepostet, den er selbst geschrieben hat.
Den Code, der die THQ-Seite ausliest, hat er nicht gepostet weil es nicht seiner war. -
ja aber er benützt ihn wie du ja auch in der sig, desswegen meien frage, wieso er diesen zwar verwendet aber nicht presigeben will. ich raff mal garnichts mehr....

dieser wurm muss doch einfach mal aus der nase gezogen werden...
-
Weil er ihn nicht geschrieben hat aber verwenden darf. Das er ihn nicht ohne zu fragen weitergibt ist auch völlig ok so.
Den Code habe ich entwickelt (gut, es ist wirklich keine Atom-Physik) und wollte den zusammen mit Listoric noch für den dow.de Statsbannerservice verwenden. Wenn Listoric ein paar Bannerdesigns fertig hat kanns losgehen.
-
Quote
Original von prime|brave
öhm, und wieso hast du den code dann? wenn du ihn geklaut hast? wäre doch nice wenn jeder sich selbst einer basteln, kann auch wenn er keien grosse php kenntnisse hat
Na nen paar PHP Kentnisse brauchst schon , regexp (reguläre Ausdrücke) , fopen bzw fsockopen. Naja das wars dann auch schon eigentlich. Grundkentnisse eben noch While schleifen und nen bissel schnick schnack. Kann ich ja mal zusammen friemeln.
Aber im Prinzip ist es leicht
http://gamestats.gamespy.com/whammer40kwa/w…?nick=kampfname
Das ist die URL , Kampfname eben der Name des Spielers , den Quellcode auslesen am besten mit htmlspecialchars() zusammen damit der regexp auch alles findet.
Und hier ein kleiner Anfang für den Code
PHP
Display More<?php $url = "http://gamestats.gamespy.com/whammer40kwa/web/player.asp?nick=FipsTheThief"; $file_content = ""; if($file = fopen($url, "r") ){ while(!feof($file)){ $file_content .= fgets($file,255); } }else{ echo "Konnte nicht gelesen werden"; } $pattern = "/(<!--)(\s*[1-3A-Z\s*]+\s*)(TABLE\s*-->)/"; if(preg_match_all($pattern,htmlspecialchars($file_content),$matches)){ print_r($matches); }else{ echo "nix gefunden"; } ?>
Ausgabe kommt so herraus:Code
Display MoreArray ( [0] => Array ( [0] => <!-- PLAYER STATS TABLE --> [1] => <!-- RACES STATS TABLE --> [2] => <!-- 1 VS 1 TABLE --> [3] => <!-- 2 VS 2 TABLE --> [4] => <!-- 3 VS 3 TABLE --> ) ... }
Da sind noch 3 weitere Arrasy Elemente aber die interessieren uns eh nicht , es reicht wenn sowas gefunden wird hier.
Die weiteren Array Elemente sind nur die UntergruppenCode
Display MoreArray [1] => Array ( [0] => <!-- [1] => <!-- [2] => <!-- [3] => <!-- [4] => <!-- ) [2] => Array ( [0] => PLAYER STATS [1] => RACES STATS [2] => 1 VS 1 [3] => 2 VS 2 [4] => 3 VS 3 ) [3] => Array ( [0] => TABLE --> [1] => TABLE --> [2] => TABLE --> [3] => TABLE --> [4] => TABLE --> ) )
Und wenn man sich den Quellcode ansieht wird man immer folgendes finden.
Noch eine kleine Erklärung zum pattern des regexps"/(<!--) => <!--
"(\s*[1-3A-Z\s*]+\s*)" => entspricht belieg vielen freizeichen gefolgt von einer Suchgruppe. Akzeptieren tun wir nur Zahlen von 1 - 3 und Grossbuchstaben und freizeichen und das + besagt beliebig viele davon
"(TABLE\s*-->)/";" => der Abschluss , da im Quellcode immer sowas stand TABLE --> hab ich halt genau danach gesucht da mich die anderen Kommentare nicht interessieren.
Nun gilt es eigentlich nur noch das <table> zu suchen und dann schicken wir den ganzen Schmuss in eine While schleife der so lange alles durchwühlt bis wir </table> finden und dann haben wir schon alle unsere Daten die wir brauchen.
Also grob gesehen brauch man maximal 3 Pattern
$pattern = "/(<table>)|(<\/table>)/"; für table (muss man probieren ob der nun so stimmt

und für die Werte $pattern = "/[0-9]+/";
Ich setz mich mal ran , denk aber auch das ich nicht länger als einen Tag brauch dafür , naja die Grafiken müsste dann wer anders machen *G*
-
crap falscher knopf sry
wollte editieren -
reguläre ausdrücke sind schon was tolles, .... sollte ich mir mal genauer anschauen^^
Ich hätte das ganze sicher wesentlich "schmutziger" auseinander genommen um an die stats zu kommen. Man lernt nie aus

-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!