Xeron Gast |
Erstellt am: 17.07. 2005 20:20
also kennst du irgendeine Möglichkeit die Starcraft BNET stats per php abzurufen. kannst mir ja mal ne mailschreiben.
wäre dir sehr dankbar |
LoS]GeneralM Clan-Leader Stormtrooper |
Erstellt am: 18.07. 2005 00:10
Jo kenn ich =) Aber da haben schon ganz andere nach gefragt. Soweit ich weiß gabs sogar mal nen Thread dazu, wo ich die Vorgehensweise erläutert habe. Eine Suchfunktion hat das Forum auch, mußt nur alles hinter index.php weglöschen.
|
Xeron Gast |
Erstellt am: 19.07. 2005 11:30
habe nicht die rechte zum durchsuchen des forum bitte schreibe es mir per email. also die vorgehensweise würde ja auch reichen wenn es nur aus dem forum rauskopiert wäre oder kopier den text hier rein.
danke schonmal |
LoS]GeneralM Clan-Leader Stormtrooper |
Erstellt am: 19.07. 2005 15:09
Ach cool hab ich die Besucherrechte so beschränkt =)
http://los.clancity.de/forum/index.php?action=threadview&id=774 |
Xeron Gast |
Erstellt am: 19.07. 2005 15:49
tu mir mal den gefallen und erspar mir das ;) und gib mal nen script plz
|
xeron Gast |
Erstellt am: 19.07. 2005 16:46
if($sock = fsockopen("europe.battle.net", "6112")){
fputs( $sock, "c"); fputs( $sock, "anonymousn"); sleep(1); fputs($sock, "/stats grrrrstfu8[ starn"); sleep(1); fputs($sock, "/stats grrrrstfu8[ sexpn"); sleep(1); echo fread($sock, 1024); } würde dann gehen müssste man dann nur noch fread machen problem dabei wäre dann die 3 secs warte zeit.. |
xeron Gast |
Erstellt am: 19.07. 2005 16:53
if($sock = fsockopen("europe.battle.net", "6112")){
fputs( $sock, "c"); fputs( $sock, "anonymousn"); usleep(150000); fputs($sock, "/stats grrrrstfu8[ starn"); usleep(150000); fputs($sock, "/stats grrrrstfu8[ sexpn"); usleep(150000); echo fread($sock, 1024); } das wären dann net mal ne halbe sekun´de wartezeit also ginge ;) nun müsst ihr dann nur noch den fread string auszulesen der rest ist kindergarten^^ |
xeron Gast |
Erstellt am: 19.07. 2005 17:53
class getStats{
public $name; public $sc; public $scl; public $bw; public $bwl; function __construct($data){ $this->name = $data; } function stats(){ if($sock = fsockopen("europe.battle.net", "6112")){ fputs( $sock, "c"); fputs( $sock, "anonymousn"); usleep(150000); fputs($sock, "/stats ".$this->name." starn"); usleep(150000); fputs($sock, "/stats ".$this->name." sexpn"); usleep(150000); $str = substr(fread($sock, 1024), 178); $str = explode("n", $str); array_pop($str); $exp_sc_stats = explode("-", substr($str[2], 25)); $exp_bw_stats = explode("-", substr($str[6], 25)); $play_sc_stats = array("wins"=>$exp_sc_stats[0], "loss"=>$exp_sc_stats[1], "disc"=>str_replace(""","",$exp_sc_stats[2])); $play_bw_stats = array("wins"=>$exp_bw_stats[0], "loss"=>$exp_bw_stats[1], "disc"=>str_replace(""","",$exp_bw_stats[2])); if (strlen($str[3]) > 32) { $value_exp = explode(" ", substr($str[3], 25)); $stats_scl_exp = explode("-", $value_exp[0]); $pkt_sc_rep = str_replace(array(")","""),"", $value_exp[2]); $play_bwl_stats = array("wins"=>$stats_scl_exp[0], "loss"=>$stats_scl_exp[1], "disc"=>$stats_scl_exp[2], "points"=>$pkt_sc_rep); } else { $play_scl_stats = array("wins"=>0, "loss"=>0, "disc"=>0, "points"=>1000); } if (strlen($str[7]) > 32) { $value_exp = explode(" ", substr($str[7], 25)); $stats_bwl_exp = explode("-", $value_exp[0]); $pkt_bw_rep = str_replace(array(")","""),"", $value_exp[2]); $play_bwl_stats = array("wins"=>$stats_bwl_exp[0], "loss"=>$stats_bwl_exp[1], "disc"=>$stats_bwl_exp[2], "points"=>$pkt_bw_rep); } else { $play_bwl_stats = array("wins"=>0, "loss"=>0, "disc"=>0, "points"=>1000); } $this->bw = $play_bw_stats; $this->sc = $play_sc_stats; $this->bwl = $play_bwl_stats; $this->scl = $play_scl_stats; return array("sc"=>$this->sc,"scl"=>$this->scl,"bw"=>$this->bw,"bwl"=>$this->bwl); } else { return false; } } } $stats = new getStats("grrrrstfu8["); $mowl = $stats->stats(); in mowl ist nun ein array like Array ( [sc] => Array ( [wins] => 7 [loss] => 1423 [disc] => 0 ) [scl] => Array ( [wins] => 0 [loss] => 0 [disc] => 0 [points] => 1000 ) [bw] => Array ( [wins] => 32 [loss] => 2157 [disc] => 12 ) [bwl] => Array ( [wins] => 0 [loss] => 1 [disc] => 0 [points] => 978 ) ) und schon habter eure stats zum weiterverarbeiten ;) |
LoS]GeneralM Clan-Leader Stormtrooper |
Erstellt am: 19.07. 2005 21:25
Wieso wir? Ich weiß wies geht =)
|
xeron Gast |
Erstellt am: 19.07. 2005 21:28
gm ich habe da mal ne frage. bis eben ging das script nun habsch par mal refreshed nun geht nix mehr. was geht da?
und gib mal nen tip wie ich den bnet ban verhindere. denn ioch denke den hab ich nun für paar stunden |
LoS]GeneralM Clan-Leader Stormtrooper |
Erstellt am: 19.07. 2005 21:50
Nun ich habe den Eindruck, daß manchmal stundenlang das BNet für diese Verbindungen gesperrt wird. Dann geht es von keinem Rechner aus.
Manchmal werden auch falsche Informationen übermittelt, dann sind Leute online, die es gar nicht waren. Hängt wohl mit einer Überlastung zusammen. Aber gekickt wirste eigentlich (non-permanent) wenn Du mehr als 3 Befehle in 5 Sekunden abschickst oder so. Weiß nimmer genau. |
xeron Gast |
Erstellt am: 20.07. 2005 08:59
das komplette script geht net mehr....
wenn ich den socket ausgeben lass kommt exact nix zurück |
xeron Gast |
Erstellt am: 20.07. 2005 11:14
was ich immer mal wissen wollte was sollen ide hp und mp? vorallem wie werden berechnet und was macht man damit^^
|
LoS]GeneralM Clan-Leader Stormtrooper |
Erstellt am: 20.07. 2005 17:15
Die werden auf mystische Weise berechnet und dienen geheimen, finsteren Ritualen. Was auch sonst.
|
xeron Gast |
Erstellt am: 20.07. 2005 18:03
ne komm mal im ernst vertell D:
|
xeron Gast |
Erstellt am: 20.07. 2005 18:05
wollter net mal wieder nen bw squad aufmachjen? ;) stell mich auch zur verfügung D:
|
LoS]Atlan Vize-Leader Blitzkrieger |
Erstellt am: 20.07. 2005 18:31
xeron du spammst,innerhalb von 2 minuten 2 posts,als wenn man die nicht in einem schreiben könnte
|
xeron Gast |
Erstellt am: 20.07. 2005 23:14
ya sorry kann ja net editen hatte die idee ne minute später tut mir ja leid...
|