# Skript für Greasemonkey



## Stretch30 (9. Mai 2009)

Hallo liebe Java-Profis,

ich bin absoluter Neuling und hätte da eine Frage bzw. ein Problem. Folgendes Skript verwenden wir für das Onlinespiel Pennergame:


```
// ==UserScript==
// @name           Tageseinnahmen
// @author         Greensky
// @namespace      noname
// @description    Zeigt in der Bandenkasse unter "alle Anzeigen" weitere Statistiken (pro User/Pro Tag)
// @include        [url=http://berlin.pennergame.de/gang/credit/?showall=1]Pennergame - Berlin[/url]
// ==/UserScript==

	GM_xmlhttpRequest({
  method:"GET",
  url:"http://www.berlin.pennergame.de/gang/memberlist/",
  onload: function(responseDetails) {

var Spendendatum='00.00.'
var Spendensumme=0
var Spender='nobody'
var Vorzeichen ='='
var Spende =new Array();
var Person =new Array();
var Tag = new Array();
var vorhanden
var Personnr
var heute = new Date();
var gestern = new Date(heute.getTime()-24*60*60*1000);
var vorgestern = new Date(heute.getTime()-2*24*60*60*1000);


dheute = new Object();
dgestern = new Object();
dvorgestern = new Object();

    dheute["Spende"] = 1-1
    dheute["Auszahlung"]=1-1
    dgestern["Spende"] = 1-1
    dgestern["Auszahlung"]=1-1
    dvorgestern["Spende"] = 1-1
    dvorgestern["Auszahlung"]=1-1







    
    
    for (var i=1;i<responseDetails.responseText.split('tieritemA')[2].split(/\/profil\/id:/).length;i++) {  
      Person[i] = new Object();
      Person[i]["Spende"] = 1-1;
      Person[i]["Auszahlung"]=1-1;
      Person[i]["Name"]=responseDetails.responseText.split('tieritemA')[2].split(/\/profil\/id:/)[i].split('>')[1].split('<')[0]

    }
		


 
     
      

for (var i=0;i<=document.getElementsByClassName('fade').length-1;i++) {  
    Spende[i]= new Object();
    Spende[i]["Spender"] = document.getElementsByClassName('fade')[i].textContent.split(' ')[0].slice(1)
    Spende[i]["Datum"] = document.getElementsByClassName('fade')[i].textContent.split(' am ')[1].slice(0,2)
    Spende[i]["Uhrzeit"] = document.getElementsByClassName('fade')[i].textContent.split(' am ')[1].slice(7,12)
    Spende[i]["Vorzeichen"] = document.getElementsByClassName('fade')[i].parentNode.parentNode.innerHTML.split('"float: right;">')[1].slice(1,2)    
    Spende[i]["Summe"] = document.getElementsByClassName('fade')[i].parentNode.parentNode.childNodes[2].textContent.split(' ')[1].slice(1)
    for(var p=1;p<responseDetails.responseText.split('tieritemA')[2].split(/\/profil\/id:/).length;p++){
      if (Person[p]["Name"]==Spende[i]["Spender"]){
        if (Spende[i]["Vorzeichen"]=='+') { Person[p]["Spende"]=Person[p]["Spende"]*1+Spende[i]["Summe"]*1 }
          else { Person[p]["Auszahlung"]=Person[p]["Auszahlung"]*1+Spende[i]["Summe"]*1 }
        }
    }    
    if(Spende[i]["Datum"]==heute.getDate()){
          if (Spende[i]["Vorzeichen"]=='+') { dheute["Spende"]=dheute["Spende"]*1+Spende[i]["Summe"]*1 }
            else { dheute["Auszahlung"]=dheute["Auszahlung"]*1+Spende[i]["Summe"]*1 }
       }      
    if(Spende[i]["Datum"]==gestern.getDate()){
          if (Spende[i]["Vorzeichen"]=='+') { dgestern["Spende"]=dgestern["Spende"]*1+Spende[i]["Summe"]*1 }
            else { dgestern["Auszahlung"]=dgestern["Auszahlung"]*1+Spende[i]["Summe"]*1 }
       }
    if(Spende[i]["Datum"]==vorgestern.getDate()){
          if (Spende[i]["Vorzeichen"]=='+') { dvorgestern["Spende"]=dvorgestern["Spende"]*1+Spende[i]["Summe"]*1 }
            else { dvorgestern["Auszahlung"]=dvorgestern["Auszahlung"]*1+Spende[i]["Summe"]*1 }
           }       
    }

document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].appendChild(document.createElement('div'))
var Zeile = document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].lastChild
Zeile.innerHTML='<br><hr size="1"><br><table width="80%"  border="0" cellspacing="0" cellpadding="0" style="background-color:#373737; margin:1px;"><colgroup><col width="160"><col width="80"><col width="80*"></colgroup><tr><td><span style="float:left">Tag</td><td><span style="float:right">Spenden</span></td><td><span  style="float:right">Auszahlungen</span></td></tr></table>'

 document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].appendChild(document.createElement('div'))
 var Zeile = document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].lastChild
 Zeile.innerHTML='<table width="80%"  border="0" cellspacing="0" cellpadding="0" style="background-color:#373737; margin:1px;"><colgroup><col width="160"><col width="80"><col width="80*"></colgroup><tr><td><span class="fade" style="float:left"><b>Heute: </b></td><td><span class="positive" style="float:right">+'+dheute["Spende"]+' &euro;</span></td><td><span class="negative" style="float:right">-'+dheute["Auszahlung"]+' &euro;</span></td></tr></table> '

 document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].appendChild(document.createElement('div'))
 var Zeile = document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].lastChild
 Zeile.innerHTML='<table width="80%"  border="0" cellspacing="0" cellpadding="0" style="background-color:#373737; margin:1px;"><colgroup><col width="160"><col width="80"><col width="80*"></colgroup><tr><td><span class="fade" style="float:left"><b>Gestern: </b></td><td><span class="positive" style="float:right">+'+dgestern["Spende"]+' &euro;</span></td><td><span class="negative" style="float:right">-'+dgestern["Auszahlung"]+' &euro;</span></td></tr></table> '

 document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].appendChild(document.createElement('div'))
 var Zeile = document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].lastChild
 Zeile.innerHTML='<table width="80%"  border="0" cellspacing="0" cellpadding="0" style="background-color:#373737; margin:1px;"><colgroup><col width="160"><col width="80"><col width="80*"></colgroup><tr><td><span class="fade" style="float:left"><b>Vorgestern: </b></td><td><span class="positive" style="float:right">+'+dvorgestern["Spende"]+' &euro;</span></td><td><span class="negative" style="float:right">-'+dvorgestern["Auszahlung"]+' &euro;</span></td></tr></table> '

document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].appendChild(document.createElement('div'))
var Zeile = document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].lastChild
Zeile.innerHTML='<br><hr size="1"><br><table width="80%"  border="0" cellspacing="0" cellpadding="0" style="background-color:#373737; margin:1px;"><colgroup><col width="160"><col width="80"><col width="80*"></colgroup><tr><td><span style="float:left">Name</td><td><span style="float:right">Spenden</span></td><td><span  style="float:right">Auszahlungen</span></td></tr></table>'

for(var p=1;p<responseDetails.responseText.split('tieritemA')[2].split(/\/profil\/id:/).length;p++){
 document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].appendChild(document.createElement('div'))
 var Zeile = document.getElementsByClassName('tieritemA')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')[5].getElementsByTagName('td')[0].lastChild
 Zeile.innerHTML='<table width="80%"  border="0" cellspacing="0" cellpadding="0" style="background-color:#373737; margin:1px;"><colgroup><col width="160"><col width="80"><col width="80*"></colgroup><tr><td><span class="fade" style="float:left">'+Person[p]["Name"]+'</td><td><span class="positive" style="float:right">+'+Person[p]["Spende"]+' &euro;</span></td><td><span class="negative" style="float:right">-'+Person[p]["Auszahlung"]+' &euro;</span></td></tr></table>'
 }

}
	});
```

Das Greasemonkey Skript arbeitet hervorragend. Es zeigt jedoch alle Überweisungen eines Spielers miteinander addiert an, ohne diese zu differenzieren. Wir würden gerne eine Übersicht aller Überweisungen eines Spielers pro Tag haben. Z.B. Überweisungen der Spieler heute, gestern, vorgestern, um bei dem Muster zu bleiben, mit dem das Skript aufgebaut ist. Was müsste ich dafür ändern? So könnte es dann aussehen:

Heute, Datum:

Spieler 1 - 1000 Euro
Spieler 2 - 150 Euro
...
Spieler 30 - 534 Euro

Gestern, Datum:

Spieler 1 - 1000 Euro
Spieler 2 - 150 Euro
...
Spieler 30 - 534 Euro

Vorgestern, Datum:

Spieler 1 - 1000 Euro
Spieler 2 - 150 Euro
...
Spieler 30 - 534 Euro

Danke bereits im Voraus für die Hilfe!!!


----------



## sparrow (9. Mai 2009)

Das sieht nicht aus wie Java sondern wie JavaScript.
Falsches Forum


----------



## Stretch30 (9. Mai 2009)

Danke Sparrow, hast Du eine Empfehlung?


----------



## Gelöschtes Mitglied 5909 (10. Mai 2009)

javascript forum - Google-Suche


----------

