1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Mira_Belle

Beiträge von Mira_Belle

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • Mira_Belle
    • 11. Mai 2025 um 23:52

    GermanFreme82 Sehr schön.
    und danke für die Rückmeldung. :thumbup:

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 11. Mai 2025 um 23:41
    Zitat von Horstmann

    Edit: bei mir im Testprofil färbt .style.color = 'red' sowohl das Icon als auch den hover Hintergrund. ;)
    .style.fill = 'red' funktioniert wie erwartet nur für das Icon.

    Ja, so ist es! Deshalb habe ich es in den Skripten geändert, wo das mit dem Fallback vorkommt.


    Zitat von 2002Andreas
    Zitat von Mira_Belle

    Aber ich habe noch eine Farbanpassung

    Hallo Mira.

    Sollte ich dich/das falsch verstanden haben, dann sorry.

    Aber hier hat das Icon keine andere Farbe, nur der Hintergrund bei hover verändert sich:

    Ja, das habe ich heute im Laufe des Tages auch gemerkt.
    Fehler habe ich aber gefixt!


    So, da es hier ja hauptsächlich um Fehlerbereinigung eines bestimmten Skriptes geht.
    Bzw. dieses als Testobjekt ausgesucht wurde, hier meine derzeitige Version!

    JavaScript
    // Button_for_Chromefolder.us.js
    // Öffnen des "chrome"-Ordners im "Profil"
    
    /* ----------------------------------------------------------------------------------- */
    /*     Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen     */
    /*            %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons             */
    /* ----------------------------------------------------------------------------------- */
    
    (function() {
    
        if (location != "chrome://browser/content/browser.xhtml") return;
        try {
            CustomizableUI.createWidget({
                id: 'Open-Chrome-Folder-ToolBarButton',
                type: 'custom',
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let props = {
                        id: 'Open-Chrome-Folder-ToolBarButton',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Chrome-Ordner',
                        tooltiptext: 'Chrome-Ordner öffnen',
                    };
                    for (var p in props)  {
                        toolbaritem.setAttribute(p, props[p]);
                    }
                    return toolbaritem; 
                }
            });
    
        } catch(e){}
    
        document.getElementById('Open-Chrome-Folder-ToolBarButton').addEventListener('click', () => {
                Services.dirsvc.get("ProfD", Ci.nsIFile).launch();           
        });
    
        // Pfad zum Profilordner
        let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        // Pfad in den entsprechenden Unterordner
        let IconPath = '/chrome/icons/';
        // Name & Dateiendung des anzuzeigenden Symbols!
        let ButtonIcon = "folder.svg";
        // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
        let img = new Image();
        img.src = "file:" + ProfilePath + IconPath + ButtonIcon;
    
        img.onload = function() {
            // Wenn die Grafik geladen werden kann, setze das listStyleImage
            document.getElementById('Open-Chrome-Folder-ToolBarButton').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
            document.getElementById('Open-Chrome-Folder-ToolBarButton').style.webkitAnimationFillMode = '#619dbf';    // Hier wird die Iconfarbe direkt gesetzt
        };
    
        img.onerror = function() {
            // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
            document.getElementById('Open-Chrome-Folder-ToolBarButton').style.listStyleImage = 'url("chrome://global/skin/icons/warning.svg")';
            document.getElementById('Open-Chrome-Folder-ToolBarButton').style.fill = 'red';    // Hier wird die Iconfarbe direkt gesetzt
        };      
    })(); 
    Alles anzeigen
  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 11. Mai 2025 um 18:27

    Oh Herr, lass Hirn regnen:!:

    Ich habe vergessen das "Umzubauen".
    Habe bei mir einfach nur den Code vom Fallback nach unten kopiert!
    Kann ja nicht funktionieren.

    Aus toolbaritem.style.listStyleImage = ... muss ja
    document.getElementById('profilefolder-ToolBarButton').style.listStyleImage = ... werden:!::!:

    Oh Mann.

    Aber ich habe noch eine Farbanpassung für all jene, die unterschiedliche Farben für beide Symbole haben wollen!

    Hier mal der ganze Code:

    Code
    // Button_for_Profilfolder.us.js
    // Öffnen des "Profilordners"
    
    (function() {
    
        if (location != "chrome://browser/content/browser.xhtml") return;
        try {
            CustomizableUI.createWidget({
                id: 'profilefolder-ToolBarButton',
                type: 'custom',
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let props = {
                        id: 'profilefolder-ToolBarButton',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Profil-Ordner',
                        tooltiptext: 'Profil-Ordner öffnen',
                    };
                    for (var p in props)  {
                        toolbaritem.setAttribute(p, props[p]);
                    }
                    return toolbaritem;
                }
            });
    
        } catch(e){}
    
        document.getElementById('profilefolder-ToolBarButton').addEventListener('click', event => {
            if (event.button === 0) {
                Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
                }
            });
    
            // Pfad zum Profilordner
            let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
            // Pfad in den entsprechenden Unterordner
            let IconPath = '/chrome/icons/';
            // Name & Dateiendung des anzuzeigenden Symbols!
            let ButtonIcon = "user.svg";
            // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
            let img = new Image();
            img.src = "file:" + ProfilePath + IconPath + ButtonIcon;
    
            img.onload = function() {
                // Wenn die Grafik geladen werden kann, setze das listStyleImage
                document.getElementById('profilefolder-ToolBarButton').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
                document.getElementById('profilefolder-ToolBarButton').style.color = '#ff5a79';    // Hier wird die Iconfarbe direkt gesetzt
            };
    
            img.onerror = function() {
                // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
                document.getElementById('profilefolder-ToolBarButton').style.listStyleImage = 'url("chrome://browser/skin/fxa/avatar-empty.svg")';
                document.getElementById('profilefolder-ToolBarButton').style.color = 'red';    // Hier wird die Iconfarbe direkt gesetzt
            };
    
    })();
    Alles anzeigen
  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 11. Mai 2025 um 15:44

    Ja, es geht um das Skript #7 und Test #18.
    Geht bei mir Fehlerfrei.


    Zitat von Horstmann

    Davon abgesehen, was spricht dagegen den Fallback Code nach unten zu setzen? :/

    Wenn der Code für den Fallback aus der Funktion onBuild: function(aDocument) { genommen wird,
    funktioniert das Skript gar nicht mehr und dem Button, den es ja dennoch gibt, fehlt die Grafik!

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 11. Mai 2025 um 14:21

    Danke:!:
    Wohl möglich, ein Mac-spezifisches Problem?

    Dann kümmere ich mich jetzt erst einmal um die anderen Skripte.

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 11. Mai 2025 um 10:41
    Zitat von Horstmann

    Also: Erstes Fenster ist Fenster A, dann neues Fenster B öffnen.

    Dann Fenster A schliessen, dann zusätzlich zu Fenster B noch ein Fenster C öffnen --> Fenster C hat Buttonfunktion, weil die Funktion nach unten bewegt wurde; Icons hat Fenster C keine, weil diese beiden Funktionen (Icon und Fallback) nicht bewegt wurden.

    Ist evtl. Problem #3 wegen dem extra nötigen Schritt in Windows, aber das gleiche Prinzip.

    Gesagt, getan!
    Funktioniert.
    Habe auf Funktion und auf das "erscheinen" der Grafik geachtet!
    Mit Fallback und ohne Fallback. Mh. :/

    Jetzt bräuchten wir mal jemanden mit Windows, der das auch noch mal durchspielt.
    2002Andreas wenn Du etwas Zeit hättest, könntest Du bitte mal das Szenario durchspielen
    mit all seinen Facetten? Oder BrokenHeart Du?

    FuchsFan Cooles Skript!

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 10. Mai 2025 um 20:19

    @Horstmann Habe so eben noch einmal den Elchtest mit ButtonProfilordner.uc.js gemacht!
    Habe die Ausfallroutine aktiviert, neues Fenster geöffnet, und auch da ist das Symbol (die Grafik) sichtbar!
    Auch ist die Funktion gegeben. :/

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 10. Mai 2025 um 09:59
    Zitat von FuchsFan

    Besser sie sind fertig nutzbar. ;) :)

    Habe mal nur einfach Links gesetzt!
    Wenn ich nicht weiter komme, kann ich ja das betreffende Skript
    mit einer Anfrage in einem neuen Thread posten.

    # ----------------------------------------------------------------------------------------------------------- #

    // Addons-UpDate-Check.uc.js

    // Restart_Firefox.uc.js
    Ist im Prinzip dieses.

    // restart_item_in_menu.uc.js

    Dann noch Skripte die auf diesem aufbauen!
    Unteranderem auch das für about:about

    // Quicklink

    Und noch zwei andere, eines zum Aufrufen für ein eigenes Downloadfenster
    und eines zum Aufrufen des Forums. "Quicklink" ein bisschen anders als die verlinken Beispiele.

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 10. Mai 2025 um 09:40
    Zitat von FuchsFan

    Ich danke dir, aber wie müsste der Ablauf z.B. für about:about, oder auch Konsole aussehen, bekomme es nicht gebacken.

    Da mache ich mich auch noch drann, meines besteht den Elchtest auch nicht!

    Apropos Elchtest.
    Ich habe insgesamt 7, die den Test nicht bestanden haben.
    Sobald ich die gefixt habe, stelle ich sie rein, oder soll ich sie schon ungefixt hier "vorstellen"?

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Mira_Belle
    • 10. Mai 2025 um 08:28

    moko2000
    ありがとうございました。

    この翻訳が正しいことを願っています。
    DeepLで作成しました。

  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 10. Mai 2025 um 01:22

    FuchsFan

    Für das Skript hier ein Ersatz.
    Es ist eine überarbeitete Version, die sowohl den Fix von @Horstmann enthält als auch den Fallbackfix!

    Anzumerken ist, dass die Grafiken natürlich im richtigen Pfad sein müssen:!:
    %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons

    Ich meine, dass darüber im Forum schon "gesprochen" wurde.

    JavaScript
    // ButtonProfilordner.uc.js
    // Öffnen des "Profilordners"
    
    (function() {
    
        if (location != "chrome://browser/content/browser.xhtml") return;
        try {
            CustomizableUI.createWidget({
                id: 'profilefolder-ToolBarButton',
                type: 'custom',
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let props = {
                        id: 'profilefolder-ToolBarButton',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Profil-Ordner',
                        tooltiptext: 'Profil-Ordner öffnen',
            //            onclick: 'if (event.button == 0) { \
            //                    Services.dirsvc.get("ProfD", Ci.nsIFile).launch(); \
            //                }; '
                    };
                    for (var p in props)  {
                        toolbaritem.setAttribute(p, props[p]);
                    }
    
                    // Pfad zum Profilordner
                    let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
                    // Pfad in den entsprechenden Unterordner
                    let IconPath = '/chrome/icons/';
                    // Name & Dateiendung des anzuzeigenden Symbols!
                    let ButtonIcon = "prof.png";
                    // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
                    let img = new Image();
                    img.src = "file:" + ProfilePath + IconPath + ButtonIcon;
    
                    img.onload = function() {
                        // Wenn die Grafik geladen werden kann, setze das listStyleImage
                        toolbaritem.style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
                    };
    
                    img.onerror = function() {
                        // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
                        toolbaritem.style.listStyleImage = 'url("chrome://browser/skin/fxa/avatar-empty.svg")';
                    };
                    return toolbaritem; 
                }
            });
    
        } catch(e){}
    
        document.getElementById('profilefolder-ToolBarButton').addEventListener('click', event => {
            if (event.button === 0) {
                Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
                }
            });
    })();    
    Alles anzeigen
  • Buttons funktionieren nur im / für das erste Fenster

    • Mira_Belle
    • 10. Mai 2025 um 00:34

    Für die Dateipfade zu den Icons besser so etwas nutzen!
    Es ist da auch schon ein Fallback "eingebaut" falls irgendetwas klemmt.

    JavaScript
    // ------------------------------------------------------------------------------------------------
    	// Pfad zum Profilordner
    	let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
    	// Pfad in den entsprechenden Unterordner
    	let IconPath = '/chrome/icons/';
    	// Name & Dateiendung des anzuzeigenden Symbols!
    	let ButtonIcon = "DeepL_2.png";
    	// Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
    	let img = new Image();
    	img.src = "file:" + ProfilePath + IconPath + ButtonIcon;
    
    	img.onload = function() {
    		// Wenn die Grafik geladen werden kann, setze das listStyleImage
    		menuitem.style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
    	};
    
    	img.onerror = function() {
    		// Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
    		menuitem.style.listStyleImage = 'url("chrome://browser/skin/translations.svg")';
    	};
    // ------------------------------------------------------------------------------------------------
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Mira_Belle
    • 9. Mai 2025 um 17:53
    Zitat von moko2000

    Ich spreche kein Deutsch, deshalb verwende ich Google Translate.

    Hi, welche Sprache ist denn die Ihre, wenn ich fragen darf?
    Und DeepL übersetzt viele Sprachen viel besser als Google!

    DeepL Übersetzer | Der präziseste Übersetzer der Welt
    Übersetzen Sie Texte und ganze Dateien im Handumdrehen. Präzise Übersetzungen für Einzelnutzer und Teams. Jeden Tag nutzen Millionen von Menschen DeepL.
    www.deepl.com
  • Diskussion über neues Unterforum nur für Skripte

    • Mira_Belle
    • 9. Mai 2025 um 11:58
    Zitat von 2002Andreas

    Und der nächste möchte dann ein eigenes Unterunterforum nur für CSS-Codes, die ja noch viel mehr als Skripte genutzt werden :/

    Glaube ich nicht! CSS ist doch nicht wirklich so komplex wie JavaScript!
    Eventuell habe ich mich da jetzt wieder etwas missverständlich ausgedrückt, aber es gibt bei CSS,
    so meine ich, nicht so viel "Redebedarf".

    Zitat von 2002Andreas

    Wenn bei der Erstellung von einem Skript keiner eingetragen wurde, dann gibt es auch keinen.

    Oder werden wie so oft einfach gelöscht, oder nicht mit "reinkopiert", wo sie dann spätesten verloren gehen.

    Zitat von 2002Andreas

    Die meisten User möchten ein funktionierendes Skript. Und wer sich mit Skripten nicht wirklich auskennt, den interessieren manche Dinge dann auch einfach nicht.

    Und da sind wir wieder beim Thema! Es geht nicht um die meisten User!
    Es geht um interne Absprachen, usw.
    Aber egal, es wird so ein Unterforum nicht geben und wichtige Infos kann ich für mich nur "retten",
    wenn ich rechtzeitig Links (Lesezeichen) auf solche Infos setze.

    Ansonsten gilt, wie ich schon oben geschrieben habe, das Thema wird nicht unterstützt und alles bleibt beim Alten.
    Ich wurschtle weiter für mich alleine hin und mache gewisse Dinge dann halt alleine mit mir aus.
    Z.Z. überlege ich, ob ich CSS, welches ich in diversen JS verwende, nicht verbannen soll und ob es Wege gibt,
    diese CSS durch "reinen" JS-Code zu ersetzen.
    Acu werde ich die Fallbackmethode in all meinen JS zur anwendung bringen.

    Ich glaube, ich denke, das Thema hat sich dann wohl erübrigt.


    Zitat von milupo

    Das ist nun wiederum aus meiner Sicht Quatsch. Du weißt genau, wie die Personaldecke bei den Helfern aussieht. Hier müssen sich Helfer mit Halbwissen zusammenraufen. Ich weiß nicht, wie du dich verstehst, aber der wirklich einzige Entwickler hier im Forum ist Sören. Hier wollen und müssen sich Helfer zusammentun, um hilfesuchenden Nutzern die beste Hilfe bieten zu können.

    Genau so sehe ich das auch, aber der Widerstand ist mir dann doch einfach zu groß und ich mag nicht streiten und
    schon gar nicht als Querulantin abgestempelt zu werden.
    (Das hat bisher auch niemand, aber ich will es auch nicht so weit kommen lassen.)

  • Diskussion über neues Unterforum nur für Skripte

    • Mira_Belle
    • 9. Mai 2025 um 09:56

    Ok, die Skepsis, ja sogar Ablehnung überwiegt.
    Wie @Horstmann sehr schön so einige Vorteile beschrieb, wird alles beim Alten bleiben.

    Und das gilt leider dann auch für mich:

    Zitat von Horstmann

    Fakt ist, dass für mich ein Grossteil der wichtigsten Infos und Entwicklungen hier im Forum mühsam zusammengesucht werden müssen, indem man jedes einzelne Topic nach möglichen Perlen durchkämmt.

    Threads mit spezifischen Fragen werden weiter von anderen Themen, Diskussionen und Anfragen geschreddert.
    Und die Idee von BrokenHeart mit dem externen Modul, so gut ich das finde, wird wohl nie umgsetzt.
    Es werden weiterhin Skripte ohne Header hier herumspuken, die Lösung mit dem "EventListener" wird mal so oder so
    angewandt und sich dann gewundert, dass es in neuen Fenster eben doch nicht so funktioniert wie gewünscht.
    Die Geschichte mit dem Fallback wird in der Versenkung verschwinden und so viel andere wichtige Dinge
    werden zwar hier oder da mal angesprochen, aber gehen dann doch irgendwann verloren.

    Ok, ich finde es irgendwie schade, aber es ist wie es ist und ich muss mich weiter irgendwie duchwurschteln,
    alles mit mir selbst ausmachen und anwenden.
    Hier und da Verbesserungen für Code vorschlagen, der dann wie so vieles ..... (selbe Leier)
    Schade, sehr schade. Muss mich damit abfinden.

  • Probleme mit Version 138.0.1 bei Web.de

    • Mira_Belle
    • 9. Mai 2025 um 09:36

    Bei meinen Tests eben funktioniert alles einwandfrei!

    Häkchen können zur Auswahl gesetzt werden.

    Und in neuen E-Mails können die Hintergrundfarben als auch die Textfarben angewendet werden.

  • Diskussion über neues Unterforum nur für Skripte

    • Mira_Belle
    • 8. Mai 2025 um 20:10

    milupo Genau darum geht es mir! Du hast den Nagel auf den Kopf getroffen.
    Und entschuldige, wenn ich manchmal es nicht so passend beschreibe, was ich eigentlich will.

  • Diskussion über neues Unterforum nur für Skripte

    • Mira_Belle
    • 8. Mai 2025 um 18:07

    Wenn ich hier den Gegenwind so verspüre, fange ich halt an, im Unterforum "Individuelle Anpassungen" 20 neue Threads zu eröffnen.
    Alle mehr oder weniger mit ähnlichen Fragen! Jedoch sind diese 20 Skripte alle sehr verschieden.

    Nein im Ernst, so soll es doch nicht sein, oder?


    Zitat von milupo
    Zitat von Mira_Belle

    Äh, wen interessiert es? Der User hat zwei, drei oder vier verschiedene Skripte die nicht mehr funktionieren und stellt seine Frage dann selbst verständlich in einen Eigenen Thread!

    Was soll dieser Ton. Ich meine genau unseren Diskussions-Thread und keine Hilfethreads. Darum geht es doch eigentlich hier, oder nicht. Also.

    Hätte ich anders Formulieren sollen.
    Aber es folgte ja auch eine Erklärung!
    Aber das wichtigste, kommt im Zitat nicht vor.
    Dass es bei meinem Anliegen gar nicht um die Hilfe von anderen Usern geht, sondern um den Austausch untereinander!
    Um gewisse Absprachen zu treffen, usw.
    Steht hat in diesem Beitrag.^^

  • Diskussion über neues Unterforum nur für Skripte

    • Mira_Belle
    • 8. Mai 2025 um 18:02
    Zitat von milupo

    Und wenn man diesen speziellen Thread unter Anpassungen anpinnt? Könnte es sein, dass er dann normalen Nutzern, die um Hilfe suchen, eher entgeht?

    Äh, wen interessiert es? Der User hat zwei, drei oder vier verschiedene Skripte die nicht mehr funktionieren und stellt seine Frage dann selbst verständlich in einen Eigenen Thread!

    Aber um dieses Zenario geht es mir gar nicht!!
    Es geht mir um einen Bereich, wo "Entwickler" oder "Hacker" unter sich sind und verschiedenste Dinge unter einander Besprechen und klären können!
    Z.B. die Sache mit dem "Header"! Oder wie am besten das mit dem EventListener zu lösen ist!
    Oder, wie man zum größten Teil auf CSS verzichten kann?
    Ach, und das mit dem Fallback! Das sind so einige Dinge, die man,
    Wenn man dann einige der von uns verwendeten Skripte durchgeht, hier (da) dann zur Debatte stellen könnte.

    Oder, oder, oder ... .

  • Diskussion über neues Unterforum nur für Skripte

    • Mira_Belle
    • 8. Mai 2025 um 17:49

    :/
    Ein nicht öffentlicher Unterbereich?
    Er soll ja nur zum Korrigieren und besprechen verschiedener Skripte sein
    und als Nachschlagewerk für einzelne User des Forums.

    Z.Z. ist es doch so, dass andauernd das Rad neu erfunden wird!


    Zitat von Boersenfeger

    Viele sind aber ganz persönlich angepasst, wenn auch nur in Nuancen.
    Das Ziel wird ja sicher auch nicht sein, dass ein Script für alle User haarklein genau gleich aussieht...

    Auch darum geht es! Skripte für alle, wer ein angepasstes Skript braucht, soll sich mit der Materie auseinandersetzen.

Unterstütze uns!

Jährlich (2026)

69,4 %

69,4% (538,17 von 775 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon