There are 29 previous versions of this script.
Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)
// ==UserScript==
// @name DS - Mitglieder sortieren
// @namespace Die Stämme
// @description Version 1.1.1 | Ermöglicht im Browsergame "Die Stämme" das Sortieren der Mitgliederlisten
// @author Roman S. (Zombie74) - [Basherliste von terenceds.de]
// @include http://*.die-staemme.de/*
// @include http://*.staemme.ch/*
// @include http://*.tribalwars.nl/*
// @include http://bashrank.terenceds.de/*
// ==/UserScript==
// Aktuell installierte Version:
var vers_ist = "DS - Mitglieder sortieren 1.1.1";
// Aktueller Dateipfad:
var url = document.location.href;
// Aktuelles Datum:
var jetzt = new Date();
var tag = jetzt.getDate();
var monat = jetzt.getMonth()+1;
var jahr = jetzt.getFullYear();
var heute = tag + "." + monat + "." + jahr;
// Welt:
var teil = url.split(".");
var land = url.substr(7, 2);
var welt = teil[0].replace("http://" + land, "");
// Dorf-ID:
var dorf = url.split("village=");
var dorf_id = dorf[0].split("&")[0];
// Adressen:
var adresse = new Array();
adresse["de"] = ".die-staemme.";
adresse["ch"] = ".staemme.";
adresse["nl"] = ".tribalwars.";
// Einstellungen:
if(url.match(/screen=settings&mode=settings/)) {
var vers = vers_ist.split(" ");
var version = "";
for(v=0; v<vers.length; v++) {
if(v < vers.length-1) {
version += vers[v] + " ";
}
else {
version += "<span class='grey'>" + vers[v] + "</span>";
}
}
// Einstellungen (Titel):
if(url.match(/einstellung=mitglieder/)) {
// Anzeige an/aus als GM-Value speichern:
if(confirm("Titel:\n\nSollen die Titel der Mitglieder ausgeblendet und durch einen Stern ersetzt werden?\nBei Klick auf Abbrechen werden die Titel ganz normal neben dem Nickname angezeigt.")) {
GM_setValue("Titel-" + welt, "aus");
}
else {
GM_setValue("Titel-" + welt, "an");
}
}
var tr = new Array();
tr[0] = document.createElement("tr");
tr[1] = document.createElement("tr");
var th = new Array();
th[0] = document.createElement("th");
var td = new Array();
td[0] = document.createElement("td");
td[1] = document.createElement("td");
th[0].setAttribute("colspan", "2");
th[0].innerHTML = "<a href='http://forum.die-staemme.de/showthread.php?t=103840' target='Forum' title='Ins Forum zum Thema \"" + version.split(" <span")[0] + "\" wechseln'>" + version + "</a>";
td[0].setAttribute("style", "vertical-align:top;");
if((GM_getValue("Titel-" + welt) == undefined)) {
td[0].innerHTML = "<a href='http://" + land + welt + adresse[land] + land + "/game.php?village=" + dorf_id + "&screen=settings&mode=settings&einstellung=mitglieder''>Einstellungen speichern</a>";
td[1].innerHTML = "<span class='grey'>Bisher wurden noch keine Einstellungen gespeichert</span>";
}
else {
td[0].innerHTML = "<a href='http://" + land + welt + adresse[land] + land + "/game.php?village=" + dorf_id + "&screen=settings&mode=settings&einstellung=mitglieder''>Einstellungen ändern</a>";
var stammestitel = GM_getValue("Titel-" + welt);
td[1].innerHTML += "<b style='padding-right:69px;'>Titel:</b>" + stammestitel.replace("an", "<span style='color:#090'>an</span> <span class='grey'>(Die Titel der Mitglieder werden normal angezeigt)</span>").replace("aus", "<span style='color:#C00'>aus</span> <span class='grey'>(Die Titel der Mitglieder werden durch einen ★ ersetzt und bei mouseover angezeigt.)</span>") + "<br>";
}
tr[0].appendChild(th[0]);
tr[1].appendChild(td[0]);
tr[1].appendChild(td[1]);
document.getElementsByClassName("main")[0].getElementsByTagName("table")[2].appendChild(tr[0]);
document.getElementsByClassName("main")[0].getElementsByTagName("table")[2].appendChild(tr[1]);
}
else {
if((url.match(/screen=/)) &&
(GM_getValue("Titel-" + welt) == undefined)) {
if(confirm(vers_ist + " ist jetzt installiert\n\nKlicke auf OK um die Einstellungen für die Anzeige der Mitgliederliste vorzunehmen")) {
document.location.href = "http://" + land + welt + adresse[land] + land + "/game.php?village=" + dorf_id + "&screen=settings&mode=settings&einstellung=mitglieder";
}
else {
// Standardwerte als GM-Value speichern
GM_setValue("Titel-" + welt, "an");
}
}
}
// Basherliste von terenceds.de auslesen:
if(url.match(/bashrank/)) {
// Aktueller Dateipfad:
var url = document.location.href;
// Welt:
var teil = url.split("&");
var welt = teil[0].replace("http://bashrank.terenceds.de/show.php?server=de", "");
var stamm_id = teil[1].split("=")[1];
//var inhalt = document.getElementsByClassName("main")[0].getElementsByTagName("tbody")[0];
var inhalt = document.getElementsByClassName("container")[0].getElementsByTagName("table")[0];
var zeilen = inhalt.getElementsByTagName("tr").length;
var plus = new Array();
for(i=1; i<zeilen; i++) {
var name = inhalt.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].getElementsByTagName("a")[0].innerHTML.toLowerCase();
var allg = inhalt.getElementsByTagName("tr")[i].getElementsByTagName("th")[0].innerHTML;
var off = inhalt.getElementsByTagName("tr")[i].getElementsByTagName("td")[2].innerHTML;
var deff = inhalt.getElementsByTagName("tr")[i].getElementsByTagName("td")[3].innerHTML;
var kpro = inhalt.getElementsByTagName("tr")[i].getElementsByTagName("td")[4].innerHTML;
var kpkt = inhalt.getElementsByTagName("tr")[i].getElementsByTagName("td")[5].innerHTML;
plus[i] = "";
if(allg.indexOf("Mio") > -1) {
if(allg.replace(" Mio.", "").length > 1) {
plus[i] += allg.replace(" Mio.", " <span class='grey'>Mio.</span>");
}
else {
plus[i] += allg.replace(" Mio.", ".0 <span class='grey'>Mio.</span>");
}
}
else {
plus[i] += allg;
}
if(off.indexOf("Mio") > -1) {
if(off.replace(" Mio.", "").length > 1) {
plus[i] += ", " + off.replace(" Mio.", " <span class='grey'>Mio.</span>");;
}
else {
plus[i] += ", " + off.replace(" Mio.", ".0 <span class='grey'>Mio.</span>");
}
}
else {
plus[i] += ", " + off;
}
if(deff.indexOf("Mio") > -1) {
if(deff.replace(" Mio.", "").length > 1) {
plus[i] += ", " + deff.replace(" Mio.", " <span class='grey'>Mio.</span>");;
}
else {
plus[i] += ", " + deff.replace(" Mio.", ".0 <span class='grey'>Mio.</span>");
}
}
else {
plus[i] += ", " + deff;
}
plus[i] += ", " + ((kpro.replace(" %", "")*10)/10).toFixed(1) + " <span class='grey'>%</span>";
plus[i] += ", " + ((kpkt.replace(" %", "")*10)/10).toFixed(1) + " <span class='grey'>%</span>";
// Werte als GM-Value speichern:
GM_setValue(name + "-" + welt, plus[i]);
}
var datum = new Date();
var tag = datum.getDate();
var monat = datum.getMonth()+1;
var jahr = datum.getFullYear();
if(tag < 10) {
tag = "0" + tag;
}
if(monat < 10) {
monat = "0" + monat;
}
var heute = tag + "." + monat + "." + jahr;
// Datum als GM-Value speichern:
GM_setValue("Datum-" + welt + "-" + stamm_id, heute);
document.getElementsByTagName("body")[0].innerHTML += "<div style='display:block; padding-bottom:10px; text-align:center;'><a href='http://userscripts.org/scripts/show/41120' target='_blank'>" + vers_ist.replace("DS - Mitglieder sortieren", "DS - Mitglieder sortieren <sup>") + "</sup></a> | <small style='color:#C00;'>hat die aktuellen Werte gespeichert!</small></div>";
}
//
if(url.match(/screen=ally/)) {
// Welt:
var teil = url.split(".");
var land = url.substr(7, 2);
var welt = teil[0].replace("http://" + land, "");
// Dorf-ID:
var nummer = url.split("village=");
var numm = nummer[1].split("&");
var dorf_id = numm[0];
// Tabelle:
var table = document.getElementsByClassName("main")[0];
var stamm = table.getElementsByTagName("h2")[0].innerHTML;
// Stamm als GM-Value speichern:
GM_setValue("Stamm-" + welt, stamm);
if(url.match(/screen=ally&mode=profile/)) {
var stamm = table.getElementsByTagName("h2")[0].innerHTML;
var linkzahl = table.getElementsByClassName("vis")[1].getElementsByTagName("a").length-1;
var stamm_id = table.getElementsByClassName("vis")[1].getElementsByTagName("a")[linkzahl].href.split("id=");
if(stamm == GM_getValue("Stamm-" + welt)){
// Stamm als GM-Value speichern:
GM_setValue("Stamm-ID-" + welt, stamm_id[1]);
}
}
if((url.match(/screen=ally&mode=members/))) {
// Hinweis ausgeben daß Profil aufgerufen werden soll:
if(GM_getValue("Stamm-ID-" + welt) == undefined) {
table.getElementsByClassName("vis")[0].getElementsByTagName("a")[1].innerHTML = "<blink style='color:red;' title='damit das Script \"" + vers_ist + "\" funktionieren kann muß das Profil des eigenen Stammes mind. 1 x aufgerufen werden.'>" + table.getElementsByClassName("vis")[0].getElementsByTagName("a")[1].innerHTML + "</blink>";
}
// Eigener Spielername:
var ich = "";
if (document.getElementsByClassName("lit").length >= 1) {
var ich = document.getElementsByClassName("lit")[0].getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerHTML;
}
// Stamm:
var stamm_lang = GM_getValue("Stamm-" + welt);
var stamm_id = GM_getValue("Stamm-ID-" + welt);
var stamm_link = "http://" + land + welt + adresse[land] + land + "/game.php?village=" + dorf_id + "&screen=info_ally&id=" + stamm_id;
document.getElementsByTagName("h2")[0].innerHTML = "Mitglieder <a href='" + stamm_link + "'>" + stamm_lang + "</a>";
}
}
//
if((url.match(/screen=info_member/))) {
// Welt:
var teil = url.split(".");
var land = url.substr(7, 2);
var welt = teil[0].replace("http://" + land, "");
// Dorf-ID:
var nummer = url.split("village=");
var numm = nummer[1].split("&");
var dorf_id = numm[0];
// Eigener Spielername:
var ich = "";
if (document.getElementsByClassName("lit").length >= 1) {
var ich = document.getElementsByClassName("lit")[0].getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerHTML;
}
// Stamm:
var stamm_kurz = document.getElementsByTagName("h2")[0].innerHTML.replace("Mitglieder ", "");
var stamm_lang = document.getElementsByClassName("main")[0].getElementsByTagName("a")[0].innerHTML.replace("» ", "");
var stamm_gets = document.getElementsByClassName("main")[0].getElementsByTagName("a")[0].href.split("id=");
var stamm_id = stamm_gets[1];
var stamm_link = "http://" + land + welt + adresse[land] + land + "/game.php?village=" + dorf_id + "&screen=info_ally&id=" + stamm_id;
document.getElementsByTagName("h2")[0].innerHTML = "Mitglieder <a href='" + stamm_link + "'>" + stamm_kurz + " <small>" + stamm_lang + "</small></a>";
}
// Nur in der Stammesrangliste anwenden:
if((url.match(/screen=info_member/)) || (url.match(/screen=ally&mode=members/))) {
// Anzahl der Mitglieder:
var vis = document.getElementsByClassName("main")[0].getElementsByClassName("vis").length-1;
// Tabelle festlegen:
if(vis > 1) {
vis = 1;
}
// Tabelle:
var tabelle = document.getElementsByClassName("main")[0].getElementsByClassName("vis")[vis];
var spalten = tabelle.getElementsByTagName("tr")[0].getElementsByTagName("th").length;
var zeilen = tabelle.getElementsByTagName("tr").length;
// Wenn Rechte bearbeitet werden dürfen eine Zeile abziehen:
if((url.match(/screen=ally&mode=members/)) && spalten >= 5) {
zeilen--;
tabelle.getElementsByTagName("tr")[zeilen].getElementsByTagName("td")[0].setAttribute("colspan", "2");
tabelle.getElementsByTagName("tr")[zeilen].getElementsByTagName("td")[1].setAttribute("style", "text-align:left;");
var admin = tabelle.getElementsByTagName("tr")[zeilen].innerHTML;
}
else {
var admin = "";
}
var url_teil = url.split("&");
var sort_link = "";
var sort_typ = "R";
var bez = new Array();
var mitglied = new Array();
var cells = new Array();
var dots = tabelle.getElementsByTagName("img").length;
var ausgabe = "";
// Titelzeile:
ausgabe += "<thead>";
ausgabe += "<tr>";
if(dots >= 1) {
if(spalten == 13) {
ausgabe += "<th colspan='17' style='text-align:center; -moz-border-radius-topleft:10px; -moz-border-radius-topright:10px; cursor:default;'>Allgemeine Infos</th>";
}
else {
ausgabe += "<th colspan='9' style='text-align:center; -moz-border-radius-topleft:10px; -moz-border-radius-topright:10px; cursor:default;'>Allgemeine Infos</th>";
}
}
else {
ausgabe += "<th colspan='5' style='text-align:center; -moz-border-radius-topleft:10px; -moz-border-radius-topright:10px; cursor:default;'>Allgemeine Infos</th>";
}
// Trennzelle:
ausgabe += "<td rowspan='2' style='width:10px; background-image:url(\"http://" + land + welt + adresse[land] + land + "/graphic/background/content.jpg\"); cursor:default;'></td>";
// Bashing:
ausgabe += "<th colspan='5' style='text-align:center; -moz-border-radius-topleft:10px; -moz-border-radius-topright:10px;'>Basher-Infos <span class='grey'>von</span> <a href='http://bashrank.terenceds.de/show.php?server=de" + welt + "&ally=" + stamm_id + "&order=all' target='_blank' title='Zum Anzeigen der Basherpunkte muß diese Seite mind. 1 x aufgerufen werden'>terenceds.de</a> abrufen</th>";
ausgabe += "</tr>";
ausgabe += "<tr>";
ausgabe += "<th style='text-align:center;'>#</th>";
// Kopfzeile auslesen:
for(i=0; i<spalten; i++) {
bez[i] = tabelle.getElementsByTagName("tr")[0].getElementsByTagName("th")[i].innerHTML;
if(bez[i] != "Urlaubsvertretung") {
sort_link = url_teil[0] + "&" + url_teil[1] + "&" + url_teil[2] + "&sort=";
if(i < 4) {
ausgabe += "<th style='text-align:center;'><a href='" + sort_link + bez[i][0] + "' title='" + bez[i] + "'>" + bez[i].replace("Dörfer", "<img src='http://" + land + welt + adresse[land] + land + "/graphic/buildings/main.png'>") + "</a></th>";
}
else {
ausgabe += "<th style='text-align:center;'><a href='" + sort_link + "T' title='" + bez[i] + "'>" + bez[i] + "</a></th>";
}
}
// An das Ende der Zeile weitere Zellen anhängen:
if(i == spalten-1) {
if(dots >= 1) {
ausgabe += "<th colspan='4' style='text-align:center;'><a href='" + sort_link + "S' title='Status des Spielers: aktiv | inaktiv | UV'><img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/blue.png'> <img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/green.png'> UV <img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/yellow.png'> <img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/red.png'></a></th>";
}
ausgabe += "<th style='text-align:center;' title='Basherpunkte Allgemein'><a href='" + sort_link + "A'><img src='http://" + land + welt + adresse[land] + land + "/graphic/buildings/statue.png' style='height:12px;'><br />Allgem.</a></th>";
ausgabe += "<th style='text-align:center;' title='Basherpunkte Angriff'><a href='" + sort_link + "O'><img src='http://" + land + welt + adresse[land] + land + "/graphic/unit/att.png' style='height:12px;'><br />Off</a></th>";
ausgabe += "<th style='text-align:center;' title='Basherpunkte Verteidigung'><a href='" + sort_link + "V'><img src='http://" + land + welt + adresse[land] + land + "/graphic/unit/def.png' style='height:12px;'><br />Deff</a></th>";
ausgabe += "<th style='text-align:center;' title='Kills im Verhältnis zum Stamm'><a href='" + sort_link + "KS'><img src='http://" + land + welt + adresse[land] + land + "/graphic/unit/unit_priest.png' style='height:12px;'><br />Kill-S.</a></th>";
ausgabe += "<th style='text-align:center;' title='Kills im Verhältnis zu den eigenen Punkten'><a href='" + sort_link + "KP'><img src='http://" + land + welt + adresse[land] + land + "/graphic/unit/unit_priest.png' style='height:12px;'><br />Kill-Pkt.</a></th>";
}
}
ausgabe += "</tr>";
ausgabe += "</thead>";
ausgabe += "<tbody>";
// Soll sortiert werden?
if(url_teil.length >= 4) {
sort_typ = url_teil[3].replace("sort=", "");
}
var pkte_ges = 0;
var dorf_ges = 0;
var dorf_ges = 0;
var recht_ges = new Array(0, 0, 0, 0, 0, 0, 0, 0);
var gesamt_allg = 0;
var gesamt_off = 0;
var gesamt_deff = 0;
var gesamt_kpro = 0;
var gesamt_kpkt = 0;
var status_a = 0;
var status_u = 0;
var status_t = 0;
var status_w = 0;
// Einzelne Mitglieder zeilenweise auslesen:
for(i=1; i<zeilen; i++) {
// Zellen der Zeile ermitteln:
var zellen = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td").length;
// Infos auslesen:
var info = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].innerHTML;
var titel = "Titel: " + info.split("</a>")[1].replace("(", "").replace(")", "");
var memb = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerHTML;
var name = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerHTML.toLowerCase();
var rang = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].innerHTML;
var pkte = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[2].innerHTML;
var dorf = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[3].innerHTML;
//pkte_ges = parseInt(pkte_ges) + parseInt(pkte)*1000;
pkte_ges = parseInt(pkte_ges) + (pkte.replace("<span class=\"grey\">.</span>", "").replace("<span class=\"grey\">.</span>", "")*1);
dorf_ges = parseInt(dorf_ges) + parseInt(dorf);
// UV-Anzeige aktiv:
if(zellen >= 5) {
var uv = zellen-1;
var recht = new Array("0", "0", "0", "0", "0", "0", "0", "0");
if(zellen == 13) {
for(r=4; r<=11; r++) {
var punkt = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[r].getElementsByTagName("img")[0].src.split("/");
if(punkt[5] == "green.png?1") {
recht_ges[r-4] += 1;
}
}
// Prüfen ob UV vergeben wurde:
if(tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("img").length > 1) {
var stat = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[uv].innerHTML;
var vert = "0-" + tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[uv].getElementsByTagName("a")[0].innerHTML.toLowerCase() + name;
var farbe = "#efeee3";
status_u++;
}
else {
var dot = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("img")[0].src.split("/");
// Status anzeigen:
switch(dot[5]) {
case "red.png?1":
var stat = "<span class='grey'>seit 1 Woche inaktiv</span>";
var stat = "<span class='grey'>1 Woche</span>";
var vert = "3-" + name;
var farbe = "#FFDED3";
status_w++;
break;
case "yellow.png?1":
var stat = "<span class='grey'>seit 2 Tagen inaktiv</span>";
var stat = "<span class='grey'>2 Tage</span>";
var vert = "2-" + name;
var farbe = "#FFF6D3";
status_t++;
break;
default:
var stat = "<span class='grey'>aktiv</span>";
var vert = "1-" + name;
var farbe = "#F7F6D3";
status_a++;
}
}
var rechte = "";
// Rechte einlesen:
for(x=4; x<uv; x++) {
var r = x-4;
recht[r] = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[x].innerHTML;
if(recht[r].match(/green/)) {
rechte += "0-";
}
else {
rechte += "1-";
}
}
rechte += "-" + name;
}
else {
// UV anzeigen:
var stat = "<span class='grey'>UV durch</span> " + tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[uv].innerHTML;
var vert = "0-" + tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[uv].getElementsByTagName("a")[0].innerHTML.toLowerCase() + name;
var farbe = "#efeee3";
status_u++;
}
}
// Keine UV-Anzeige:
else{
if(dots >= 1) {
// Prüfen ob Benutzer über Rechte verfügt:
var dot = tabelle.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("img")[0].src.split("/");
// Status anzeigen:
switch(dot[5]) {
case "red.png?1":
var stat = "<span class='grey'>seit 1 Woche inaktiv</span>";
var vert = "3-" + name;
var farbe = "#FFDED3";
status_w++;
break;
case "yellow.png?1":
var stat = "<span class='grey'>seit 2 Tagen inaktiv</span>";
var vert = "2-" + name;
var farbe = "#FFF6D3";
status_t++;
break;
default:
var stat = "<span class='grey'>aktiv</span>";
var vert = "1-" + name;
var farbe = "#F7F6D3";
status_a++;
}
}
else {
var stat = "<span class='grey'>???</span>";
var vert = name;
var farbe = "#F7EED3";
}
}
// 1. Arrayelement für Sortierung festlegen:
var bashing = GM_getValue(name + "-" + welt);
if(bashing != undefined) {
var bash = bashing.split(",");
}
else {
var bash = new Array("0", "0", "0", "0", "0");
}
// Gesamtpunkte zusammenzählen:
if(bash[0].indexOf("Mio") > 0) {
gesamt_allg = (gesamt_allg*1) + (bash[0].replace(" <span class='grey'>Mio.</span>", "")*1000000);
}
else {
gesamt_allg = (gesamt_allg*1) + ((bash[0].replace(".", ""))*1);
}
if(bash[1].indexOf("Mio") > 0) {
gesamt_off = (gesamt_off*1) + (bash[1].replace(" <span class='grey'>Mio.</span>", "")*1000000);
}
else {
gesamt_off = (gesamt_off*1) + ((bash[1].replace(".", ""))*1);
}
if(bash[2].indexOf("Mio") > 0) {
gesamt_deff = (gesamt_deff*1) + (bash[2].replace(" <span class='grey'>Mio.</span>", "")*1000000);
}
else {
gesamt_deff = (gesamt_deff*1) + ((bash[2].replace(".", ""))*1);
}
gesamt_kpro = (gesamt_kpro*1) + (bash[3]*1);
gesamt_kpkt = (gesamt_kpkt*1) + (bash[4].replace(" <span class='grey'>%</span>", "")*1);
mitglied[i] = new Array();
if(sort_typ == "N") {
mitglied[i][0] = name;
}
else if(sort_typ == "R") {
mitglied[i][0] = rang;
}
else if(sort_typ == "P") {
mitglied[i][0] = pkte;
}
else if(sort_typ == "D") {
mitglied[i][0] = dorf;
}
else if(sort_typ == "T") {
mitglied[i][0] = rechte;
}
else if(sort_typ == "S") {
mitglied[i][0] = vert;
}
else if(sort_typ == "A") {
if(bash.length > 1) {
if(bash[0].indexOf("Mio") > 0) {
mitglied[i][0] = bash[0].replace(" <span class='grey'>Mio.</span>", "")*1000000;
}
else {
mitglied[i][0] = bash[0].replace(".", "");
}
}
else {
mitglied[i][0] = "0";
}
}
else if(sort_typ == "O") {
if(bash.length > 1) {
if(bash[1].indexOf("Mio") > 0) {
mitglied[i][0] = bash[1].replace(" <span class='grey'>Mio.</span>", "")*1000000;
}
else {
mitglied[i][0] = bash[1].replace(".", "");
}
}
else {
mitglied[i][0] = "0";
}
}
else if(sort_typ == "V") {
if(bash.length > 1) {
if(bash[2].indexOf("Mio") > 0) {
mitglied[i][0] = bash[2].replace(" <span class='grey'>Mio.</span>", "")*1000000;
}
else {
mitglied[i][0] = bash[2].replace(".", "");
}
}
else {
mitglied[i][0] = "0";
}
}
else if(sort_typ == "KS") {
if(bash.length > 1) {
mitglied[i][0] = bash[3].replace(".", "").replace(" <span class='grey'>%</span>", "");
}
else {
mitglied[i][0] = "0";
}
}
else if(sort_typ == "KP") {
if(bash.length > 1) {
mitglied[i][0] = bash[4].replace(".", "").replace(" <span class='grey'>%</span>", "");
}
else {
mitglied[i][0] = "0";
}
}
else {
mitglied[i][0] = rang;
}
if(name == ich.toLowerCase()) {
var farbe = "#F0D49A";
}
if(bashing != undefined) {
cells[i] = (zellen+8);
}
else {
cells[i] = (zellen+4);
}
// Zeilen zusammensetzen:
mitglied[i][1] = "<tr onmouseover='javascript:window.status=\"" + memb + "\"; for(c=0; c<this.childNodes.length; c++) {if(c != " + cells[i] + ") {this.childNodes[c].style.backgroundColor =\"#FFF\"; this.childNodes[c].style.cursor =\"default\";}}' onmouseout='javascript:for(c=0; c<this.childNodes.length; c++) {if(c != " + cells[i] + ") {this.childNodes[c].style.backgroundColor =\"" + farbe + "\";}}'>";
mitglied[i][1] += "<td style='text-align:right; background-color:" + farbe + ";'>X</td>";
if(titel.length > 8) {
if(GM_getValue("Titel-" + welt) == "aus") {
mitglied[i][1] += "<td style='text-align:left; padding-right:5px; background-color:" + farbe + ";' title='" + titel + "'>" + info.split("(")[0] + " <span class='grey' style='margin:0px; padding:0px; padding-left:5px; line-height:10px;'>(★)</span></td>";
}
else {
mitglied[i][1] += "<td style='text-align:left; padding-right:5px; background-color:" + farbe + ";' title='" + titel + "'>" + info + "</td>";
}
}
else {
mitglied[i][1] += "<td style='text-align:left; padding-right:5px; background-color:" + farbe + ";' title='" + memb + " trägt keinen Titel'>" + info.split("(")[0] + "</td>";
}
mitglied[i][1] += "<td style='text-align:right; padding-left:5px; background-color:" + farbe + ";' title='Platzierung im Stamm'>" + rang + "</td>";
mitglied[i][1] += "<td style='text-align:right; padding-left:5px; background-color:" + farbe + ";' title='Gesamtpunkte von " + memb + "'>" + pkte + "</td>";
mitglied[i][1] += "<td style='text-align:right; padding-left:5px; background-color:" + farbe + ";' title='Anzahl der Dörfer von " + memb + "'>" + dorf + "</td>";
if(zellen > 5) {
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Stammesgründer'>" + recht[0] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Stammesführer'>" + recht[1] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Einladen'>" + recht[2] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Diplomatie'>" + recht[3] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Rundschreiben'>" + recht[4] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Moderator im internen Forum'>" + recht[5] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Versteckte Foren'>" + recht[6] + "</td>";
mitglied[i][1] += "<td style='text-align:center; background-color:" + farbe + ";' title='Foren für vertrauenswürdige Mitglieder'>" + recht[7] + "</td>";
}
if(dots >= 1) {
mitglied[i][1] += "<td colspan='4' style='text-align:left; padding-left:5px; background-color:" + farbe + ";' title='Aktueller Status von " + memb + "'>" + stat + "</td>";
}
if(name == ich.toLowerCase()) {
mitglied[i][1] += "<td style='width:10px; background-color:" + farbe + "; cursor:default;'></td>";
}
else {
mitglied[i][1] += "<td style='width:10px; background-color:" + farbe + "; background-image:url(\"http://" + land + welt + adresse[land] + land + "/graphic/background/content.jpg\"); background-position:0px " + i*(-14) + "px; cursor:default;'></td>";
}
// Bashing-Punkte anhängen:
if(bashing != undefined) {
var bash = bashing.split(", ");
for(x=0; x<bash.length; x++) {
mitglied[i][1] += "<td style='text-align:right; padding-left:5px; background-color:" + farbe + ";'>" + bash[x].replace(" <span", " <span") + "</td>";
}
}
else {
mitglied[i][1] += "<td colspan='5' style='text-align:center; background-color:" + farbe + ";'><span class='grey'>Bisher keine Infos vorhanden</span></td>";
}
// Zeile schliessen:
mitglied[i][1] += "</tr>";
}
// Mitglieder sortieren:
function sort_auf(a, b) {
return b[0] - a[0];
}
function sort_ab(a, b) {
return a[0] - b[0];
}
if(sort_typ == "N") {
mitglied.sort();
}
else if(sort_typ == "R") {
mitglied.sort(sort_ab);
}
else if(sort_typ == "P") {
mitglied.sort(sort_ab);
}
else if(sort_typ == "D") {
mitglied.sort(sort_auf);
}
else if(sort_typ == "T") {
mitglied.sort();
}
else if(sort_typ == "S") {
mitglied.sort();
}
else if(sort_typ == "A") {
mitglied.sort(sort_auf);
}
else if(sort_typ == "O") {
mitglied.sort(sort_auf);
}
else if(sort_typ == "V") {
mitglied.sort(sort_auf);
}
else if(sort_typ == "KS") {
mitglied.sort(sort_auf);
}
else if(sort_typ == "KP") {
mitglied.sort(sort_auf);
}
// Tabelle neu zusammensetzen:
for(i=0; i<zeilen-1; i++) {
var x = i+1;
ausgabe += mitglied[i][1].replace("X</td>", "<span class='grey'>" + x + "</span></td>");
}
// Zusammenfassung:
if(pkte_ges >= 1000000) {
var pkte_gesamt = (pkte_ges/1000000).toFixed(1) + " <span class='grey'>Mio.</span>";
if((pkte_ges/(zeilen-1)) >= 1000000) {
var pkte_mittel = ((pkte_ges/1000000)/(zeilen-1)).toFixed(1) + " <span class='grey'>Mio.</span>";
}
else {
var pkte_mittel = ((pkte_ges/1000)/(zeilen-1)).toFixed(3);
}
}
else {
var pkte_gesamt = (pkte_ges/1000).toFixed(3);
var pkte_mittel = ((pkte_ges/1000)/(zeilen-1)).toFixed(3);
}
if(dorf_ges >= 1000000) {
var dorf_gesamt = (dorf_ges/1000).toFixed(1) + " <span class='grey'>Mio.</span>";
var dorf_mittel = ((dorf_ges/1000)/(zeilen-1)).toFixed(1) + " <span class='grey'>Mio.</span>";
}
else {
var dorf_gesamt = dorf_ges;
var dorf_mittel = ((dorf_ges/(zeilen-1))).toFixed(0);
}
ausgabe += "</tbody>";
ausgabe += "<tfoot>";
ausgabe += "<tr>";
// Trennzeile bei Status-Anzeige (UV) Zelle erweitern::
if(dots >= 1) {
if(spalten == 13) {
ausgabe += "<th colspan='17'></th>";
}
else {
ausgabe += "<th colspan='9'></th>";
}
}
else {
ausgabe += "<th colspan='5'></th>";
}
ausgabe += "<td rowspan='4' style='width:10px; background-image:url(\"http://" + land + welt + adresse[land] + land + "/graphic/background/content.jpg\"); cursor:default;'></td>";
ausgabe += "<th colspan='5'></th>";
ausgabe += "</tr>";
ausgabe += "<tr>";
ausgabe += "<td style='text-align:right; cursor:default;' colspan='2'><span class='grey'>Gesamt:</span></td>";
ausgabe += "<td style='text-align:right; cursor:default;' title='Mitgliederzahl des Stammes'>" + (zeilen-1) + "</td>";
ausgabe += "<td style='text-align:right; cursor:default;' title='Gesamtpunkte aller Mitglieder'>" + pkte_gesamt + "</td>";
ausgabe += "<td style='text-align:right; cursor:default;' title='Gesamtzahl aller Dörfer'>" + dorf_gesamt + "</td>";
// Bei Status-Anzeige Status-Gesamt:
if(zellen > 5) {
for(r=4; r<=11; r++) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + recht_ges[r-4] + "</td>";
}
}
if(dots >= 1) {
ausgabe += "<td style='text-align:right;'>" + status_u + "</td>";
ausgabe += "<td style='text-align:right;'>" + status_a + "</td>";
ausgabe += "<td style='text-align:right;'>" + status_t + "</td>";
ausgabe += "<td style='text-align:right;'>" + status_w + "</td>";
}
// Gesamt (Bashing):
var ges_bashing = GM_getValue("Gesamt-" + welt);
if(ges_bashing != undefined) {
var ges_bash = ges_bashing.split(", ");
}
else {
var ges_bash = new Array("0", "0", "0", "0", "0");
}
if(gesamt_allg.toFixed(0) >= 1000000) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_allg/1000000).toFixed(1) + " <span class='grey'>Mio.</span></td>";
}
else {
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_allg/1000).toFixed(3) + "</td>";
}
if(gesamt_off.toFixed(0) >= 1000000) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_off/1000000).toFixed(1) + " <span class='grey'>Mio.</span></td>";
}
else {
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_off/1000).toFixed(3) + "</td>";
}
if(gesamt_deff.toFixed(0) >= 1000000) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_deff/1000000).toFixed(1) + " <span class='grey'>Mio.</span></td>";
}
else {
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_deff/1000).toFixed(3) + "</td>";
}
ausgabe += "<td style='text-align:right; cursor:default;'>100.0 <span class='grey'>%</span></td>";
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_kpkt*1).toFixed(1) + " <span class='grey'>%</span></td>";
// Fusszeile (Basherliste):
ausgabe += "</tr>";
// Durchschnitt:
ausgabe += "<tr>";
ausgabe += "<td style='text-align:right; cursor:default;' colspan='2'><span class='grey'>Ø Durchschnitt:</span></td>";
ausgabe += "<td style='text-align:right; cursor:default;'></td>";
ausgabe += "<td style='text-align:right; cursor:default;' title='Punktedurchschnitt aller Mitglieder'>" + pkte_mittel + "</td>";
ausgabe += "<td style='text-align:right; cursor:default;' title='Durchschnittliche Anzahl der Dörfer'>" + dorf_mittel + "</td>";
// Durchschnitt (Status):
if(zellen > 5) {
ausgabe += "<td title='Stammesgründer'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/found.png'></td>";
ausgabe += "<td title='Stammesführung'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/lead.png'></td>";
ausgabe += "<td title='Einladen'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/invite.png'></td>";
ausgabe += "<td title='Diplomatie'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/diplomacy.png'></td>";
ausgabe += "<td title='Rundschreiben'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/mass_mail.png'></td>";
ausgabe += "<td title='Moderator im internen Forum'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/forum_mod.png'></td>";
ausgabe += "<td title='Versteckte Foren'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/internal_forum.png'></td>";
ausgabe += "<td title='Foren für vertrauenswürdige Mitglieder'><img src='http://" + land + welt + adresse[land] + land + "/graphic/ally_rights/trusted_member.png'></td>";
}
if(dots >= 1) {
ausgabe += "<td style='text-align:right; width:25px;' title='UV'><img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/blue.png'></td>";
ausgabe += "<td style='text-align:right; width:25px;' title='aktiv'><img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/green.png'></td>";
ausgabe += "<td style='text-align:right; width:25px;' title='seit 2 Tagen inaktiv'><img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/yellow.png'></td>";
ausgabe += "<td style='text-align:right; width:25px;' title='seit 1 Woche inaktiv'><img src='http://" + land + welt + adresse[land] + land + "/graphic/dots/red.png'></td>";
}
// Durchschnitt (Bashing):
if(gesamt_allg.toFixed(0) >= (1000000*(zeilen-1))) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + ((gesamt_allg/1000000)/(zeilen-1)).toFixed(1) + " <span class='grey'>Mio.</span></td>";
}
else {
ausgabe += "<td style='text-align:right; cursor:default;'>" + ((gesamt_allg/1000)/(zeilen-1)).toFixed(3) + "</td>";
}
if(gesamt_off.toFixed(0) >= (1000000*(zeilen-1))) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + ((gesamt_off/1000000)/(zeilen-1)).toFixed(1) + " <span class='grey'>Mio.</span></td>";
}
else {
ausgabe += "<td style='text-align:right; cursor:default;'>" + ((gesamt_off/1000)/(zeilen-1)).toFixed(3) + "</td>";
}
if(gesamt_deff.toFixed(0) >= (1000000*(zeilen-1))) {
ausgabe += "<td style='text-align:right; cursor:default;'>" + ((gesamt_deff/1000000)/(zeilen-1)).toFixed(1) + " <span class='grey'>Mio.</span></td>";
}
else {
ausgabe += "<td style='text-align:right; cursor:default;'>" + ((gesamt_deff/1000)/(zeilen-1)).toFixed(3) + "</td>";
}
ausgabe += "<td style='text-align:right; cursor:default;'>" + (100/(zeilen-1)).toFixed(1) + " <span class='grey'>%</span></td>";
ausgabe += "<td style='text-align:right; cursor:default;'>" + (gesamt_kpkt/(zeilen-1)).toFixed(1) + " <span class='grey'>%</span></td>";
ausgabe += "</tr>";
// Ausgabe abschliessen:
ausgabe += "<tr>";
// Fusszeile (Allgemein):
if(dots >= 1) {
if(spalten == 13) {
ausgabe += "<th colspan='17' style='text-align:center; -moz-border-radius-bottomleft:10px; -moz-border-radius-bottomright:10px; cursor:default;'>Allgemeine Infos</th>";
}
else {
ausgabe += "<th colspan='9' style='text-align:center; -moz-border-radius-bottomleft:10px; -moz-border-radius-bottomright:10px; cursor:default;'>Allgemeine Infos</th>";
}
}
else {
ausgabe += "<th colspan='5' style='text-align:center; -moz-border-radius-bottomleft:10px; -moz-border-radius-bottomright:10px; cursor:default;'>Allgemeine Infos</th>";
}
if(GM_getValue("Datum-" + welt + "-" + stamm_id) != undefined) {
ausgabe += "<th colspan='5' style='text-align:center; -moz-border-radius-bottomleft:10px; -moz-border-radius-bottomright:10px; cursor:default;'>letzte Aktualisierung: <span class='grey'>" + GM_getValue("Datum-" + welt + "-" + stamm_id) + "</span></th>";
}
else {
ausgabe += "<th colspan='5' style='text-align:center; -moz-border-radius-bottomleft:10px; -moz-border-radius-bottomright:10px; cursor:default;'>Basher-Infos <span class='grey'>von</span> <a href='http://bashrank.terenceds.de/show.php?server=de" + welt + "&ally=" + stamm_id + "&order=all' target='_blank' title='Zum Anzeigen der Basherpunkte muß diese Seite mind. 1 x aufgerufen werden'>terenceds.de</a> abrufen</th>";
}
ausgabe += "</tr>";
// Wenn vorhanden Admin-Zeile anhängen:
ausgabe += "<tr>" + admin + "</tr>";
ausgabe += "</tfoot>";
// Sortierte Tabelle ausgeben:
tabelle.innerHTML = ausgabe;
// Info für "DS Duke & Forum Assistant" von "C1B1SE"
// Dieses Div wird benötigt um eine Kompabilität beider Scripts zu gewährleisten:
var div = document.createElement('div');
div.setAttribute('id','dsmitgliedersortierenaktiv');
document.getElementsByTagName('body')[0].appendChild(div);
}
