// ==UserScript== // @name Pennergame Highscore // @namespace http://javan.de // @description Erzeugt eine neue Spalte in der Highscore mit der aktuellen Punktedifferenz zur letzten Highscore Aktualisierung // @author Javan_xD // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM_openInTab // @include http://*.pennergame.de/profil/*/ // @include http://*.pennergame.de/highscore/user/* // @include http://*.pennergame.de/highscore/joindate/* // @icon http://javan.de/tools/live/favicon.png // @version 1.2 // @downloadURL none // ==/UserScript== var link = 'http://' + window.location.host; var url = window.location; var stadt = window.location.host + '.'; function ungenaueMillionenWegMachen(differenz, punktefaktor) { if (punktefaktor != '') differenz = differenz.toString().substring(0, differenz.toString().length - punktefaktor.length) + punktefaktor; if (differenz.toString() == '' || differenz.toString() == punktefaktor) differenz = 0; return differenz; } function errechnePunktefaktor(punkte) { if (punkte.toString().search("Millionen") != -1) punktefaktor = '000'; else if (punkte.toString().search("Milliarden") != -1) punktefaktor = '000000'; else if (punkte.toString().search("Mrd") != -1) punktefaktor = '000000'; else if (punkte.toString().search("Billionen") != -1) punktefaktor = '000000000'; else if (punkte.toString().search("Billiarden") != -1) punktefaktor = '000000000000'; else punktefaktor = ''; return punktefaktor; } function MillionenWegMachen(punkte, punktefaktor) { punkte = punkte.replace(/[,€$.]/g, ''); punkte = punkte.replace(/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/g, ''); punkte = punkte.replace(/[ ]/g, ''); punkte = punkte + punktefaktor; punkte = parseInt(punkte); return punkte; } if (url.toString().search("profil") != -1) { var name = document.getElementsByTagName('body')[0].innerHTML.split('id="f_name" value="')[1].split('"')[0]; var punktenow = document.getElementsByTagName('body')[0].innerHTML.split('Punkte')[1].split('" style="')[0]; var punktenow = parseInt(punktenow.split('323">')[1].split('')[0]); var neuerdiv = document.createElement("tr"); var ausgabebereich = document.getElementsByTagName('table')[3]; ausgabebereich.appendChild(neuerdiv); GM_xmlhttpRequest({ method: 'GET', url: link + '/highscore/user/?name=' + name, onload: function (responseDetails) { var content = responseDetails.responseText; if (content.search(name) != -1) { var punkte = content.split('col5" title="None">')[1].split('')[0]; punktefaktor = errechnePunktefaktor(punkte); punkte = MillionenWegMachen(punkte, punktefaktor); var differenz = punktenow - punkte; differenz = ungenaueMillionenWegMachen(differenz, punktefaktor); if (differenz > 0) { var color = '00ff00'; } else if (differenz == 0) { var color = 'ffc000'; } else { var color = 'ff0000'; } neuerdiv.innerHTML += '