Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/2e122e79acd50b37ade88d3145330755.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==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 https://update.greasyfork.icu/scripts/9827/Pennergame%20Highscore.user.js
// @updateURL https://update.greasyfork.icu/scripts/9827/Pennergame%20Highscore.meta.js
// ==/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 += 'Punktedifferenz aus dem letzten HS-Stand:' + ' Punkte: ' + punkte + ' Aktuelle Punkte: ' + punktenow + ' Differenz: ' + differenz + '' + ' | ';
}
}
});
} else if (url.toString().search("highscore") != -1) {
var ausgabebereich = document.getElementsByTagName('thead')[0].getElementsByTagName('tr')[0];
ausgabebereich.innerHTML += 'Differenz | ';
function add(i) {
var punkte = document.getElementsByTagName('body')[0].innerHTML.split('class="col5')[i + 1].split('">')[1].split('')[0];
punktefaktor = errechnePunktefaktor(punkte);
punkte = MillionenWegMachen(punkte, punktefaktor);
var name = document.getElementsByTagName('body')[0].innerHTML.split('class="username')[i].split('">')[1].split('')[0].split('<')[0];
GM_xmlhttpRequest({
method: 'GET',
url: link + '/dev/api/user.getname.xml?name=' + name,
onload: function (responseDetails) {
var content = responseDetails.responseText;
if (content.search("") != -1) {
//var bereich = content.split('Punkte')[1].split('" style="')[0];
//var punktenow = parseInt(bereich.split('323">')[1].split('')[0]);
//13909094
var punktenow = parseInt(content.split('')[1].split('')[0]);
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';
}
document.getElementsByTagName('table')[0].getElementsByTagName('tr')[i].innerHTML += '' + differenz + ' | ';
}
//alert(document.getElementsByTagName('table')[i].getElementsByTagName('tr')[i].getElementsByTagName('td')[0].innerHTML);
var next = i + 1;
if (next <= 25)
add(next);
}
});
}
add(1);
}
// Copyright (c) by Javan_xD
// Dieses Werk ist durch eine Creative Commons by-nc-sa Lizenz geschuetzt.
// Bearbeiten oder Vervielfaeltigen ist nur nach Absrache mit dem Autor gestattet.
// Bei Nichtbeachtung werden rechtliche Schritte eingeleitet.