XML Export für Charaktere

rinkep

NPC
Mitglied seit
02.09.2006
Beiträge
9
Reaktionspunkte
0
Kommentare
15
Hallo Leute,

ich gehöre zu den Leuten, die schon seit längerem auf der Suche nach einer Möglichkeit sind, sich die Items der Chars von Buffed zu holen.

In einer freien Minute habe ich mir ein kleines Script geschrieben, mit dem ich mir die Items und die Eigenschaften der selben von Buffed ziehen kann.

Hierzu nutze ich den Link zum Charakterplaner, der unter jedem Char steht. In diese Link werden die Items leicht verschlüsselt an Merciless übertragen.

Entschlüsselt ergibt sich eine Liste der Items, die der Char besitzt.

Die Eigenschaften der Items wiederum hole ich mir über den XML Export der Items selbst.

Ich werde nachher noch eben ne kleine Doku schreiben, da die Felder, in denen die Items stehen ewas unübersichtlich sind.

Viel Spass damit.

Hier das Script. Es ist nicht schön, aber selten.

Code:
<?php
//Buffed Seite holen
$url = 'http://www.blasc.de/?c=BLASC_ID';

$file = file_get_contents($url);

if(!$file) die("Fehler beim Öffnen von $url");

// Link zum Charplaner finden
preg_match('/eq=.*\" target/', $file, $query_temp);

// GET Vars extrahieren
$query_temp = preg_replace('/^eq=/', '', $query_temp[0]);
$query_temp = preg_replace('/"\ target$/', '', $query_temp);

$query_decoded = split('\&t=', $query_temp);

// Vars dekodieren
foreach($query_decoded AS $single_query) {
	$query[] = base64_decode($single_query);
}

// Erstes Array enthaellt Items und Grundlegende Charakterinfos
$char_array = split(';', $query[0]);

// Ab Feld 7 beginnen die Items

for($i = 7; $i <= 23; $i++) {
	
	// Array der Itemplaetze aufsplitten
	// 1. Feld Blasc Item ID
	// 2. Feld ?
	// 3. Feld Verstaerkungszauber
	$temp = split(':', $char_array[$i]);

	// Item XML von Buffed holen
	$item_url = 'http://www.buffed.de/xml/i' . $temp[0] . '.xml';

	$file = file_get_contents($item_url);

	if(!$file) die("Fehler beim Ãfnen von $item_url");
	$temp[xml_src] = $file;

	$temp[xml] = simplexml_load_string($file);

	$item_array[] = $temp;

	$temp = "";
}

print_r($item_array);
?>

Hier könnt ihr die Ausgabe testen:
http://forum.sniperland.de/test/char.php?id=eureBlascID

es wird nur ein Array ausgegeben. Was Ihr damit macht, ist eure Sache
 
Zuletzt bearbeitet von einem Moderator:
Habe mir das Script noch nicht näher angeschaut, aber die Ausgabe funktioniert leider nicht:

Warning: file_get_contents(http://www.buffed.de/xml/i0.xml) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/forum.sniperland.de/test/char.php on line 39
Fehler beim Ãfnen von http://www.buffed.de/xml/i0.xml
 
Hi Lehrwandler,

du musst erstmal deine Blasc ID mit angeben.

http://forum.sniperland.de/test/char.php?id=eureBlascID <<< ---- eureBlascID durch eure Blasc Id austauschen.

Zum anderen sind die buffed Server momentan dermassen überlastet, das mein Script kaum chancen hat, sich die benötigten Daten vom buffed Server zu ziehen. Und dann kommt eben diese Fehlermeldung.

Grüsse,
rinkep
 
Ich habe selbstverständlich eine gültige Char-ID angegeben.
Dann warte ich wohl mal gespannt auf das Ergebnis, wenn die Server nicht so überlastet sind.
 
Ist das der Original-Code?
unsure.gif

Damit kannst du nicht mal die Char-Seite auslesen....
sleep.gif
 
Zurück