Das offizielle Klomanager-Forum
Registrieren || Einloggen || Hilfe/FAQ || Disclaimer || Suche || Mitglieder || Statistik || Kalender || Team || Chat
Willkommen Gast!
[ www.anvil-soft.de ] [ www.klomanager.de ] [ Klomanager auf Facebook ] [ Klomanager bestellen ] [ Klomanager Online ] [ Topfree.de ]

Das offizielle Klomanager-Forum » Theorie und Praxis » Meine Klomanager-Online-Verbesserungen [Skript] [Add-On] » Threadansicht

Autor
Thread - Seiten: Druckversion
000
21.11.2011, 14:06 Uhr
bennokue
Giuseppe der Schöngeist
BĂĽrstenkaiser

Avatar von bennokue

Beiträge: 4049
Dabei seit:
02.04.2005, 14:57 Uhr
Sodala, nachdem ich mein Greasemonkey-Skript fĂĽr den Klomanager nun erweitert habe, stelle ich euch hier die aktuelle Version zur VerfĂĽgung.

Nachdem es jetzt auch im Firefox die j*a*v*a*s*c*r*i*p*t-Funktion getElementsByClassName gibt, muss ich auch nicht mehr auf den Code-Schnipsel zurĂĽckgreifen, den ich in diesem Thread benutzt habe.

Das ganze ist eine Weiterentwicklung meines alten Skripts, ich mache aber trotzdem einen Thread mit passenderem Titel auf, denn das Skript tut inzwischen mehr als nur einfärben.

Was tut es?
– Es färbt in der Rangliste alle inaktiven Spieler (die mit dem "(i)") rot ein.
– Es wandelt in der Rangliste alle Spielernamen zu klickbaren Links, die zur Spielersuche führen, wo man dann sehen kann, welches Spiel sie grad spielen
– Auf der Seite "Mein Spiel" oder jeder anderen Spiel-Übersichts-Seite wandelt es die Links um: Die Links auf den Spielernamen, die bis jetzt die Nachrichtenfunktion aufriefen, rufen nun auch die Spielersuche auf (z.B. zum Punktestand nachschauen, oder ob der Spieler (i) ist – letzteres wird in der Spielansicht nämlich nicht angezeigt! Für die, die doch eine Nachricht schicken wollen, wird ein Briefchensymbol eingefügt.

Wer es haben möchte: Ihr benötigt den Firefox und das Add-On Greasemonkey. Und wenn ihr zudem noch Hilfe braucht, stellt eure Fragen einfach hier.

Das Skript:

Quellcode:
// ==UserScript==
// @name          KMO
// @namespace     bennokue
// @description  
// @include       http://www.isengard.at/km/
//
==/UserScript==

function skriptHinweis() {
    // Hinweistext ganz unten einfĂĽgen
    centertexte = document.getElementsByTagName("center");
    for (bb=0;bb<centertexte.length;bb++) {
        if(centertexte[bb].innerHTML.search("und des Inhaltes liegen bei Anvil-Soft.")!=-1) {
            centertexte[bb].innerHTML = centertexte[bb].innerHTML.replace("und des Inhaltes liegen bei Anvil-Soft.", "und des Inhaltes liegen bei Anvil-Soft.<br /><br /><strong>Achtung:</strong> Der Inhalt dieser Seite wurde vom bennokue-Greasemonkey-Skript verändert.<br />Weitere Informationen im <a href=\"http://forum.klomanager.de/showtopic.php?threadid=1219\" target=\"_blank\" title=\"Ruft den Thread zum Skript im Klomanager-Forum auf\">zugeh&ouml;rigen Thread im offiziellen Klomanager-Forum</a>.");
            centertexte[bb].style.paddingTop = "10px";
            centertexte[bb].style.paddingBottom = "20px";
            break;
        }
    }
}

// Anpassungen fuer Rangliste
if (window.location.href.search("mainframe=rangliste")!=-1) {
    var tablebs = document.getElementsByClassName("tableb");
    var zeilen = tablebs[1].getElementsByTagName("tr");

    for(ii=1;ii<zeilen.length;ii++) {
        // Spielernamen in Links wandeln -- erstmal von den (i)s befreien
        var spielername = zeilen[ii].getElementsByTagName("td")[1].innerHTML;
        var spielernameNetto = spielername.replace(" (i)", "");
        
        // Spielernamen in Links wandeln -- Die lightgreen-Tags bringen alles durcheinander, aber nur einmal
        if(spielername.search("<font color=\"lightgreen\">")!=-1) {
            spielernameNetto = spielernameNetto.replace("<font color=\"lightgreen\">", "").replace("</font>", "");
        }
        // Spielernamen in Links wandeln -- HTML ersetzen
        zeilen[ii].getElementsByTagName("td")[1].innerHTML = "<a href=\"index.php?mainframe=spielersuche&search=" + spielernameNetto + "\" title=\"Nach " + spielernameNetto + " suchen\" target=\"_blank\">" + spielername + "</a>";
        
        // Setzt bei inaktiven Spielern die inaktiv-Klasse
        if(zeilen[ii].innerHTML.search(/\(i\)/)!=-1) {
            var zellen = zeilen[ii].getElementsByTagName("td");
            for(j=0; j<zellen.length; j++) {
                zellen[j].className += " inaktiverSpieler";
            }
        }
    }
    
    // Malt (nun link-graue) Spielernamen wieder weiĂź an
    GM_addStyle(".tdb a { color: #FFFFFF}");
    
    // Malt inaktive Spieler (auch die nun verlinkten) rot an
    GM_addStyle(".inaktiverSpieler { color: red}");
    GM_addStyle(".inaktiverSpieler a { color: red}");
    
    skriptHinweis();
}

// Anpassungen fuer Spielansicht
if (window.location.href.search("mainframe=raumauswahl&action=show")!=-1) {
    var zellen = document.getElementsByClassName("tdb");
    
    var zaehler = 0;
    
    // Colspan der Uerberschrift "Aktive Spieler" auf 3 Spalten dehnen
    while(zaehler<zellen.length) {
        if(zellen[zaehler].innerHTML.search("Aktive Spieler")!=-1) {
            zellen[zaehler].attributes.colspan.value = "3";
            zaehler++;
            break;
        }
        zaehler++;
    }
    
    // Spielerlinks zu Such-Links umbauen, Nachrichtenbutton als neue Zelle einfuegen
    while(zaehler<zellen.length) {
        if(zellen[zaehler].innerHTML.search("Spieler ")!=-1) {
            var aktuelleZeile = zellen[zaehler].parentNode;
            
            // Bin ich es, oder bin ich es nicht?
            if(aktuelleZeile.innerHTML.search("<font color=\"lightgreen\">")!=-1) {
                // Ich bin es! --> Nur neue (leere) Zelle einfuegen
                aktuelleZeile.innerHTML = aktuelleZeile.innerHTML + "<td class=\"tdb\">&nbsp;</td>";
            }
            else {
                // Ich bin es nicht! --> Link umbauen + neue Zelle mit Briefchensymbol anfuegen
                var spielername = zellen[zaehler+1].getElementsByTagName("a")[0].innerHTML;
                zellen[zaehler+1].innerHTML = zellen[zaehler+1].innerHTML.replace("href=\"index.php?mainframe=nachrichten&amp;empf=", "target=\"_blank\" title=\"Suche nach " + spielername + "!\" href=\"index.php?mainframe=spielersuche&search=");
                aktuelleZeile.innerHTML = aktuelleZeile.innerHTML + "<td class=\"tdb\"><a title=\"Schicke xyz eine Klomanager-Nachricht!\" href=\"index.php?mainframe=nachrichten&empf=" + spielername + "\"><img src=\"images/mail.gif\" width=\"14\" height=\"10\" title=\"Schicke " + spielername + " eine Klomanager-Nachricht!\" alt=\"Schicke " + spielername + " eine Klomanager-Nachricht!\" /></a></td>";
            }
        }
        zaehler++;
    }
    skriptHinweis();
}


--
Wer einen Beitrag von mir liest möge ihn nicht persönlich nehmen!
Zwischen "rechthaben" und "Recht haben" liegen Welten...
(bennokue - Vielredner "Es hat mich gefreut, mit Ihnen zu reden!")
KloMO: bennokue | Ranglistenbeobachtung

Dieser Post wurde am 21.11.2011 um 14:08 Uhr von bennokue editiert.
nach oben
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
21.11.2011, 14:23 Uhr
bennokue
Giuseppe der Schöngeist
BĂĽrstenkaiser

Avatar von bennokue
Themenstarter
Beiträge: 4049
Dabei seit:
02.04.2005, 14:57 Uhr
Screenshots dazu:
Vorher – nachher mit der Rangliste: Mit dem Skript sind alle inaktiven Spieler rot eingefärbt, und ihre Namen mit Links zur Spielersuche versehen (sieht man hier nicht, OK ).
Ganz unten steht, dass die Seite von meinem Skript verändert wurde.


Vorher – nachher mit der Mein-Spiel-Ansicht (es ginge aber diese Ansicht von jedem anderen Spiel): Der Link auf dem Spielernamen führt jetzt nicht mehr zur Nachrichtenfunktion, sondern zur Spielersuche, der Link zur Nachrichtenfunktion ist mit dem Briefchen noch immer zu erreichen.
Ganz unten steht auch hier, dass die Seite von meinem Skript verändert wurde.



...
--
Wer einen Beitrag von mir liest möge ihn nicht persönlich nehmen!
Zwischen "rechthaben" und "Recht haben" liegen Welten...
(bennokue - Vielredner "Es hat mich gefreut, mit Ihnen zu reden!")
KloMO: bennokue | Ranglistenbeobachtung

Dieser Post wurde am 21.11.2011 um 14:34 Uhr von bennokue editiert.
nach oben
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
21.11.2011, 21:02 Uhr
Ronald Wendt
Administrator
Toilettenmagnat

Avatar von Ronald Wendt

Beiträge: 1959
Dabei seit:
15.04.2003, 19:28 Uhr
Bravo Benno.


--
Strategiefans besuchen www.phobetor.de

Retrofreaks gehen auf www.atari-ste.org

nach oben
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
24.11.2011, 09:14 Uhr
bennokue
Giuseppe der Schöngeist
BĂĽrstenkaiser

Avatar von bennokue
Themenstarter
Beiträge: 4049
Dabei seit:
02.04.2005, 14:57 Uhr
Danke.
--
Wer einen Beitrag von mir liest möge ihn nicht persönlich nehmen!
Zwischen "rechthaben" und "Recht haben" liegen Welten...
(bennokue - Vielredner "Es hat mich gefreut, mit Ihnen zu reden!")
KloMO: bennokue | Ranglistenbeobachtung
nach oben
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ Theorie und Praxis ]  

Klomanager-Forum

powered by ThWboard
© by Paul Baecher & Felix Gonschorek