K
kdc
Hallo,
folgendes Problem:
Ich bin grad dabei ein "Programm" für Pennergame.de zu entwickeln.
Jetz wollte ich es so machen das durch ein Script aktuelle Daten vom jeweiligen Spieler wie zum Beispiel Geld, Narichten usw. geladen werden. Glücklicherweise bekam ich ein Script bereitgestellt.
Dies sah dann so aus:
Das Script ruft die aktuellen Spielerdaten per xml auf. Weil da jetzt:
stand wollte ich folgendes in die .html datei shreiben:
Aber leider funktionierte das nicht. Mir wurde nur "Dein Guthaben:" angezeigt. Man sollte da dann eigentlich sehen wie viel geld man momentan hat.
Was habe ich falsch gemacht
folgendes Problem:
Ich bin grad dabei ein "Programm" für Pennergame.de zu entwickeln.
Jetz wollte ich es so machen das durch ein Script aktuelle Daten vom jeweiligen Spieler wie zum Beispiel Geld, Narichten usw. geladen werden. Glücklicherweise bekam ich ein Script bereitgestellt.
Dies sah dann so aus:
Code:
//(c) Copyright 2008 Farbflut Entertainment GmbH. All Rights Reserved.
version = 301;
var http_request = false;
function checkStatus() {
document.getElementById("Pennerbar-msg").setAttribute("label","Lade..");
var req = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Components.interfaces.nsIXMLHttpRequest);
req.open("GET", "http://www.pennergame.de/pennerbar.xml", false);
req.overrideMimeType("text/xml");
req.onload = function() {
var status_pb = req.responseXML.getElementsByTagName("status").item(0).attributes.getNamedItem("value").nodeValue;
if (status_pb == 1) {
main_url = req.responseXML.getElementsByTagName("site_url").item(0).attributes.getNamedItem("value").nodeValue;
var check_update = req.responseXML.getElementsByTagName("barversion").item(0).attributes.getNamedItem("value").nodeValue;
if(check_update>version){
open = confirm("Es ist eine neue Version der PennerBar verfügbar! \nPennerBar jetzt updaten?");
if (open ==true) goPG('/downloads/pennerbar/')
}
var new_msg = req.responseXML.getElementsByTagName("nachrichten").item(0).attributes.getNamedItem("value").nodeValue;
var cash_display = req.responseXML.getElementsByTagName("cash").item(0).attributes.getNamedItem("value").nodeValue;
var haustier_name = req.responseXML.getElementsByTagName("haustiername").item(0).attributes.getNamedItem("value").nodeValue;
var promille_display = req.responseXML.getElementsByTagName("promille").item(0).attributes.getNamedItem("value").nodeValue;
timer_bildung = req.responseXML.getElementsByTagName("timer").item(0).attributes.getNamedItem("value").nodeValue;
timer_kampf = req.responseXML.getElementsByTagName("kampftimer").item(0).attributes.getNamedItem("value").nodeValue;
var highscore_platz = req.responseXML.getElementsByTagName("highscore").item(0).attributes.getNamedItem("value").nodeValue;
var uid = req.responseXML.getElementsByTagName("uid").item(0).attributes.getNamedItem("value").nodeValue;
var flaschenkurs = req.responseXML.getElementsByTagName("flaschenpreis").item(0).attributes.getNamedItem("value").nodeValue;
if(promille_display < 100) var img_promille = "bier_leer.png";
else if(promille_display < 250) var img_promille = "bier_halb.png";
else if(promille_display < 400) var img_promille = "bier.png";
else var img_promille = "krankenwagen.gif";
var end = "";
if (new_msg > 1) end = "en"; //Mehrzahl
if(new_msg>0){
document.getElementById("Pennerbar-msg").disabled = false;
new_msg_display = (new_msg+" neue Nachricht"+end);
if (Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch).getBoolPref('pennerbar.alert-pm') == true) {
open = confirm("Du hast "+ new_msg +" neue Nachricht"+end+"! \nWillst du die Nachricht sofort lesen?");
if (open ==true) goPG('/messages/')
}else{}
}else{
new_msg_display = "-leer-";
document.getElementById("Pennerbar-msg").disabled = true;
}
document.getElementById("Pennerbar-msg").setAttribute("label",new_msg_display);
document.getElementById("Pennerbar-msg").setAttribute("oncommand","goPG('/messages/')");
document.getElementById("Pennerbar-Haustier").setAttribute("label",haustier_name);
document.getElementById("Pennerbar-cash").setAttribute("label", "€"+(cash_display/100));
document.getElementById("Pennerbar-promille").setAttribute("label", (promille_display/100)+"‰");
document.getElementById("Pennerbar-promille").setAttribute("image", "chrome://pennerbar/skin/"+img_promille);
document.getElementById("Pennerbar-highscore").setAttribute("label", highscore_platz);
document.getElementById("Pennerbar-kurs").setAttribute("label", flaschenkurs+" Cent");
document.getElementById("profil_link").setAttribute("oncommand", "goPG('/profil/id:"+uid+"/')");
timesync(timer_bildung,"Pennerbar-timer");
timesync(timer_kampf,"Pennerbar-kampftimer");
}else{
document.getElementById("Pennerbar-msg").setAttribute("label","Bitte neu einloggen"); //nicht eingeloggt
}
} //end func
req.onerror = document.getElementById("Pennerbar-msg").setAttribute("label","Lade...");
req.send(null);
}
function goURL(url){
if(url=="vote_gn"){
window._content.document.location = "http://www.galaxy-news.de/charts/?op=vote&game_id=2133";
}else{
window._content.document.location = url;
}
window.content.focus();
}
function goPG(seite){
window._content.document.location = main_url + seite;
window.content.focus();
}
function time_anzeige(timestamp, anzeige){
var display = formate_time_rel(timestamp);
document.getElementById(anzeige).setAttribute("label", display);
if (anzeige == "Pennerbar-kampftimer") timer_kampf = timer_kampf - 1;
else timer_bildung = timer_bildung - 1 ;
if (timestamp==1 && (Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch).getBoolPref('pennerbar.alert') == true)) {
if (anzeige == "Pennerbar-kampftimer") {
alert("Ein Kampf ist zu Ende gegangen!");}
else alert("Eine Weiterbildung ist gerade zu Ende gegangen!");
}
}
function formate_time_rel(time){
if(time<0) return "-";
else{
var sekunde = Math.floor(time%60);
if(time < 60){
if(time < 10) return "00:0" + sekunde;
else return "00:" + sekunde;
}
else if(sekunde<10) sekunde="0"+sekunde;
var minute = (Math.floor(time/60)%60);
if(time < 3600) return minute + ":" + sekunde;
if(minute<10) minute="0"+minute;
var stunde = (Math.floor(time/3600)%24);
if(time < 86400)return (stunde + ":" + minute + ":" + sekunde);
if(stunde<10) stunde="0"+stunde;
var tage = Math.floor(time/(3600*24));
if(tage>1) return (tage + " Tage " + stunde + ":" + minute + ":" + sekunde);
else return (tage + " Tag " + stunde + ":" + minute + ":" + sekunde);
}
}
function akt_kurs() {
if (http_request.readyState == 4 && parseInt(http_request.responseText) && http_request.responseText > 0) {
var neuer_kurs = parseInt(http_request.responseText);
document.getElementById("Pennerbar-kurs").setAttribute("label", (neuer_kurs+"ct."));
}
}
function sync(){
if(Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch).getBoolPref('pennerbar.autoreload') == true){
checkStatus();
}else{
return null;}
}
function kurs(){
if(Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch).getBoolPref('pennerbar.kurs') == true){
//Wenn akt. Flaschenkurs anzeigen
http_request = false;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
if (!http_request) {
alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
return false;
}
http_request.onreadystatechange = akt_kurs;
http_request.open('get', 'http://pennergame.de/functions/pfandflaschenkurs.php');
http_request.send(null);
}
}else{
document.getElementById("Pennerbar-kurs").setAttribute("label", "");
return null;
}
}
setInterval("time_anzeige(timer_bildung,'Pennerbar-timer');time_anzeige(timer_kampf,'Pennerbar-kampftimer');",1000);
setInterval("sync()",60000); //5 min reload
//setInterval("kurs()",120000); //2 min aktueller kurs
Das Script ruft die aktuellen Spielerdaten per xml auf. Weil da jetzt:
Code:
var new_msg = req.responseXML.getElementsByTagName("nachrichten").item(0).attributes.getNamedItem("value").nodeValue;
var cash_display = req.responseXML.getElementsByTagName("cash").item(0).attributes.getNamedItem("value").nodeValue;
var haustier_name = req.responseXML.getElementsByTagName("haustiername").item(0).attributes.getNamedItem("value").nodeValue;......
Code:
<script type="text/javascript" src="pennerbar.js"></script>
Dein Guthaben:<div id="cash"></div>
........
Aber leider funktionierte das nicht. Mir wurde nur "Dein Guthaben:" angezeigt. Man sollte da dann eigentlich sehen wie viel geld man momentan hat.
Was habe ich falsch gemacht