Перейти к содержимому


Фотография

Quality of life works only on classic server


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 OPTtheTI

OPTtheTI

    Опытный игрок

  • Пользователь
  • 53 сообщений

Отправлено Вчера, 23:08

Ich habe am 18.5.2025

dem Admin odiabile per Telegramm ein Shortcut Script für Expos vorgestellt, so wie ein Mond Namen Fix in der Übersicht.

Heute habe ich nachgefragt, wie das ganze nun aussieht und bekam die Antwort, dass sie gerade Simultan daran gearbeitet hat, das offensichtlich ins Spiel ein zu binden.
Leider vermute ich, dass sie genau wie beim einbinden der Enter Taste vor 2 Jahren wieder Fehler einbauen und oder nur halbe Sachen machen machen.

Denn die Entertaste ist Kaputt bei einer offenen [ im code der flotten.js das kann jeder sehen in der Browserconse die ihr über F12 öffnen könnt.

 

Naja Egal, ich habe das hier vorgeschlagen und entnehme den Chatverlauf, der erlaubt ist, da sie das ja gerade Selber ein bauen er sagte, wenn ich das richtig verstanden habe zu Morgen.

Somit poste ich jetzt hier kack frech mein Tampermonkey / Gasemonkey Script für die Quality of Life und den Mond namen Fix. chatverlauf würde ich zwar auch gerne öffentlich machen, aber das ist nach deutschem recht verboten und ich will den Admin ja auch nicht ganz ans bein pissen.


Lebensqualität für Expos aber das ist auf deutsch eine übersetzung ihr selbst machen sry.

 

// ==Benutzerskript==
// @name Xterium Lebensqualität
// @namespace http://tampermonkey.net/
// @version 3.29
// @description Tool zum Verbessern der Lebensqualität in Xterium
// @author OPTtheTI
// @match https://classic.xterium.com/game.php*
// @grant GM_addStyle
// ==/Benutzerskript==

(Funktion() {
    „streng verwenden“;

    // CSS für die Buttons und Checkboxen definieren
    GM_addStyle(`
        .button-container {
            Rand: 5px 0;
            Polsterung: 5px;
        }
        .button-wrapper {
            Box-Größe: Rahmenbox;
            Polsterung: 5px;
            Anzeige: Flex;
            Elemente ausrichten: zentrieren;
            Höhe: 30px; /* Höhe an die oberen Menüs anpassen */
            Breite: 100 %; /* Erstmitteilung */
        }
        .benutzerdefiniertes Kontrollkästchen {
            Breite: 24px;
            Höhe: 24px;
            Cursor: Zeiger;
            vertikale Ausrichtung: Mitte;
            Rand links: 10px;
            Anzeige: Inline-Block !wichtig; /* Sicherstellen, dass die Checkbox sichtbar ist */
            Sichtbarkeit: sichtbar !wichtig; /* Verhindern, dass sie ausgeblendet wird */
        }
        .nuovomenusinistra {
            Anzeige: Inline-Block;
            vertikale Ausrichtung: Mitte;
            Farbe: #ccc;
            Textdekoration: keine;
            Schriftgröße: 14px;
            Flex-Wachstum: 1;
        }
        .Menüsymbol {
            Breite: 20px;
            Höhe: 20px;
            Rand rechts: 10px;
            Anzeige: Inline-Block;
            vertikale Ausrichtung: Mitte;
            Hintergrundgröße: enthalten;
            Hintergrundwiederholung: keine Wiederholung;
        }
        /* Platzhalter-Icons für die Buttons */
        .menu-icon.expo {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/expo.png');
        }
        .menu-icon.barbaren {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/barbaren.png');
        }
        .menu-icon.pirate {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/piraten.png');
        }
        .menu-icon.aliens {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/aliens.png');
        }
        .menu-icon.droiden {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/droiden.png');
        }
        .menu-icon.miners {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/miners.png');
        }
        .menu-icon.ruinen {
            Hintergrundbild: URL('https://classic.xterium.com/styles/images/iconav/ruinen.png');
        }
        #tm-sw-farm-overlay {
            Position: fest;
            oben: 0;
            links: 0;
            Breite: 100vw;
            Höhe: 100vh;
            Hintergrundfarbe: rgba(0, 0, 0, 0,85);
            Z-Index: 10000;
            Anzeige: keine;
            Inhalt ausrichten: zentriert;
            Elemente ausrichten: zentrieren;
        }
        #tm-sw-farm-settings {
            Breite: 70 %;
            max. Höhe: 80vh;
            Hintergrundfarbe: #222;
            Farbe: #ccc;
            Polsterung: 15px;
            Rahmenradius: 10px;
            Kastenschatten: 0 4px 8px rgba(0,0,0,0,5);
            Überlauf-y: automatisch;
        }
        #tm-sw-farm-settings h3 {
            Textausrichtung: zentriert;
            Schriftgröße: 1,2em;
            Farbe: weiß;
        }
        .Einstellungen-Tabelle {
            Breite: 100 %;
            Rahmenkollaps: Kollaps;
        }
        .settings-table th, .settings-table td {
            Rand: 1px durchgezogen #333;
            Polsterung: 8px;
            Textausrichtung: zentriert;
        }
        .settings-table th {
            Hintergrundfarbe: #444;
            Farbe: #ddd;
            Schriftstärke: fett;
        }
        .Schiffsempfehlung {
            Farbe: #4CAF50;
            Cursor: Zeiger;
        }
        .ship-recommendation:hover {
            Textdekoration: Unterstreichen;
        }
        .ship-input {
            Breite: 80px;
            Textausrichtung: rechts;
            Farbe: #fff;
            Hintergrundfarbe: #444;
            Rand: 1px durchgezogen #666;
            Polsterung: 5px;
            Rahmenradius: 5px;
        }
        #Einstellungen-btn speichern, #Empfehlungen-btn verwenden {
            Breite: 100 %;
            Rand oben: 10px;
            Polsterung: 10px;
            Schriftgröße: 1em;
            Farbe: weiß;
            Rand: keiner;
            Rahmenradius: 5px;
            Cursor: Zeiger;
        }
        #save-settings-btn {
            Hintergrundfarbe: #4CAF50;
        }
        #use-recommendations-btn {
            Hintergrundfarbe: #2196F3;
        }
    `);

    // Speichern des Checkbox-Status in localStorage
    Funktion saveCheckboxStatus() {
        ['expo', 'barbaren', 'piraten', 'ruinen', 'aliens', 'droiden', 'miners'].forEach(id => {
            const checkbox = document.getElementById(`tm-${id}-checkbox`);
            if (Kontrollkästchen) {
                localStorage.setItem(`tm-${id}-checkbox`, checkbox.checked);
            }
        });
    }

    // Wiederherstellen des Checkbox-Status aus localStorage
    Funktion wiederherstellenCheckboxStatus() {
        ['expo', 'barbaren', 'piraten', 'ruinen', 'aliens', 'droiden', 'miners'].forEach(id => {
            const checkbox = document.getElementById(`tm-${id}-checkbox`);
            if (Kontrollkästchen) {
                const checked = localStorage.getItem(`tm-${id}-checkbox`);
                checkbox.checked = aktiviert === 'true';
            }
        });
    }

    // Funktion zum Deaktivieren aller anderen Checkboxen
    Funktion disableOtherCheckboxes(currentCheckboxId) {
        ['expo', 'barbaren', 'piraten', 'ruinen', 'aliens', 'droiden', 'miners'].forEach(id => {
            const checkbox = document.getElementById(`tm-${id}-checkbox`);
            wenn (Kontrollkästchen && Kontrollkästchen.id !== aktuelleKontrollkästchen-ID) {
                Kontrollkästchen.aktiviert = falsch;
                localStorage.setItem(`tm-${id}-checkbox`, false);
            }
        });
    }

    // Warte, bis die Seite geladen ist
    window.addEventListener('laden', Funktion() {
        const marketImageButton = document.querySelector('a.nuovomenudestra[href="game.php?page=market"]');

        if (!marketImageButton) {
            console.log("Markt-Button nicht gefunden");
            zurückkehren;
        }

        // HTML-Container für die zusätzlichen Buttons und Checkboxen
        const zusätzlicheButtons = `
            <div class="separator"></div>
            <div Klasse="Schaltflächen-Container">
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon expo"></span>
                    <a class="nuovomenusinistra" id="expo-button">Ausstellung</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-expo-checkbox">
                </div>
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon barbaren"></span>
                    <a class="nuovomenusinistra" id="barbaren-button">Barbaren</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-barbaren-checkbox">
                </div>
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon piraten"></span>
                    <a class="nuovomenusinistra" id="piraten-button">Piraten</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-piraten-checkbox">
                </div>
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon aliens"></span>
                    <a class="nuovomenusinistra" id="aliens-button">Außerirdische</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-aliens-checkbox">
                </div>
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon droiden"></span>
                    <a class="nuovomenusinistra" id="droiden-button">Droiden</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-droiden-checkbox">
                </div>
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon Bergleute"></span>
                    <a class="nuovomenusinistra" id="miners-button">Bergleute</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-miners-checkbox">
                </div>
                <div Klasse="Button-Wrapper">
                    <span class="menu-icon ruinen"></span>
                    <a class="nuovomenusinistra" id="ruinen-button">Ruinen</a>
                    <input type="checkbox" class="custom-checkbox" id="tm-ruinen-checkbox">
                </div>
            </div>
        `;

        // Buttons nach dem Markt-Bild-Button hinzufügen
        marketImageButton.insertAdjacentHTML('afterend', zusätzlicheButtons);

        // Debugging: Überprüfen Sie, ob die Checkboxen im DOM vorhanden sind
        document.querySelectorAll('.custom-checkbox').forEach(checkbox => {
            console.log(`Checkbox ${checkbox.id} ist im DOM vorhanden:`, checkbox);
        });

        // Checkbox-Status wiederherstellen
        wiederherstellenCheckboxStatus();

        // Checkbox-Status speichern und andere Checkboxen deaktivieren, wenn eine Checkbox geändert wird
        document.querySelectorAll('.custom-checkbox').forEach(checkbox => {
            checkbox.addEventListener('ändern', Funktion() {
                if (checkbox.checked) {
                    Deaktivieren Sie andere Kontrollkästchen (Checkbox.id);
                }
                saveCheckboxStatus();
            });
        });

        console.log("Zusätzliche Buttons und Checkboxen nach dem Markt-Button hinzugefügt");
        performActionsOnPage();
    });

    // Funktion zum Abrufen der gespeicherten Schiffsanzahlen aus localStorage
    Funktion getSavedShipValues(buttonId) {
        const Schiffswerte = {};
        ['210', '211', '212', '213', '214', '220', '221', '222', '223', '224', '225', '230', '231', '232', '233', '234', '240', '241', '242', '243', '208', '207', '201'].forEach(shipId => {
            const-Wert = localStorage.getItem(`${buttonId}-${shipId}`) || '0';
            Schiffswerte[Schiffs-ID] = Wert;
        });
        Schiffswerte zurückgeben;
    }

    Funktion setInputValues() {
        var Eingabeelement = {};
        inputElement['210'] = document.querySelector('input.countdots.inputhang[name="ship210"]');
        inputElement['211'] = document.querySelector('input.countdots.inputhang[name="ship211"]');
        inputElement['212'] = document.querySelector('input.countdots.inputhang[name="ship212"]');
        inputElement['213'] = document.querySelector('input.countdots.inputhang[name="ship213"]');
        inputElement['214'] = document.querySelector('input.countdots.inputhang[name="ship214"]');
        inputElement['220'] = document.querySelector('input.countdots.inputhang[name="ship220"]');
        inputElement['221'] = document.querySelector('input.countdots.inputhang[name="ship221"]');
        inputElement['222'] = document.querySelector('input.countdots.inputhang[name="ship222"]');
        inputElement['223'] = document.querySelector('input.countdots.inputhang[name="ship223"]');
        inputElement['224'] = document.querySelector('input.countdots.inputhang[name="ship224"]');
        inputElement['225'] = document.querySelector('input.countdots.inputhang[name="ship225"]');
        inputElement['230'] = document.querySelector('input.countdots.inputhang[name="ship230"]');
        inputElement['231'] = document.querySelector('input.countdots.inputhang[name="ship231"]');
        inputElement['232'] = document.querySelector('input.countdots.inputhang[name="ship232"]');
        inputElement['233'] = document.querySelector('input.countdots.inputhang[name="ship233"]');
        inputElement['234'] = document.querySelector('input.countdots.inputhang[name="ship234"]');
        inputElement['240'] = document.querySelector('input.countdots.inputhang[name="ship240"]');
        inputElement['241'] = document.querySelector('input.countdots.inputhang[name="ship241"]');
        inputElement['242'] = document.querySelector('input.countdots.inputhang[name="ship242"]');
        inputElement['243'] = document.querySelector('input.countdots.inputhang[name="ship243"]');
        inputElement['208'] = document.querySelector('input.countdots.inputhang[name="ship208"]');
        inputElement['207'] = document.querySelector('input.countdots.inputhang[name="ship207"]');
        inputElement['201'] = document.querySelector('input.countdots.inputhang[name="ship201"]');

        const checkboxMapping = {
            'tm-expo-checkbox': 'Expo-Schaltfläche',
            'tm-aliens-checkbox': 'Aliens-Schaltfläche',
            'tm-droiden-checkbox': 'droiden-button',
            'tm-piraten-checkbox': 'piraten-button',
            'tm-barbaren-checkbox': 'barbaren-button',
            'tm-ruinen-checkbox': 'ruinen-button',
            'tm-miners-checkbox': 'Bergarbeiter-Schaltfläche'
        };

        für (checkboxId in checkboxMapping lassen) {
            wenn(document.getElementById(checkboxId).checked) {
                const Schiffswerte = getSavedShipValues(checkboxMapping[checkboxId]);
                für (lass Schiffs-ID in Schiffswerten) {
                    if (Eingabeelement[Schiffs-ID]) {
                        inputElement[shipId].value = ShipValues[shipId];
                    }
                }
                brechen;
            }
        }
    }

    Funktion setzePlanetValue() {
        var planetInput = document.getElementById('planet');
        if (planetInput && isAnyCheckboxChecked()) {
            planetInput.value = '21';
        }
    }

    Funktion isAnyCheckboxChecked() {
        const checkboxes = ['expo', 'barbaren', 'piraten', 'ruinen', 'aliens', 'droiden', 'miners'];
        returniere Kontrollkästchen.some(id => {
            const checkbox = document.getElementById(`tm-${id}-checkbox`);
            Kontrollkästchen zurückgeben && Kontrollkästchen.aktiviert;
        });
    }

    Funktion addCheckboxListeners() {
        ['expo', 'barbaren', 'piraten', 'ruinen', 'aliens', 'droiden', 'miners'].forEach(id => {
            const checkbox = document.getElementById(`tm-${id}-checkbox`);
            if (Steuerung) {
                checkbox.addEventListener('ändern', Funktion() {
                    setzePlanetValue();
                    clickLabelElement();
                    saveCheckboxStatus();
                });
            } anders {
                console.log(`Checkbox tm-${id}-checkbox nicht gefunden!`);
            }
        });
    }

    Funktion clickLabelElement() {
        Klasse Versuche = 0;
        Funktion tryClick() {
            let labelSelector = '';
            let SectorId = '';

            wenn (document.querySelector('#tm-expo-checkbox:checked')) {
                labelSelector = 'label.i-miss15o';
            } sonst wenn (document.querySelector('#tm-barbaren-checkbox:geprüft') || document.querySelector('#tm-piraten-checkbox:geprüft') || document.querySelector('#tm-aliens-checkbox:geprüft') || document.querySelector('#tm-ruinen-checkbox:geprüft') || document.querySelector('#tm-droiden-checkbox:geprüft') ||. document.querySelector('#tm-miners-checkbox:geprüft')) {
                labelSelector = 'label.i-miss16o';
                if (document.querySelector('#tm-barbaren-checkbox:checked')) SektorId = 'Sektor_1';
                sonst wenn (document.querySelector('#tm-piraten-checkbox:checked')) SektorId = 'Sektor_2';
                sonst wenn (document.querySelector('#tm-aliens-checkbox:checked')) Sektor-ID = 'Sektor_3';
                sonst wenn (document.querySelector('#tm-ruinen-checkbox:checked')) Sektor-ID = 'Sektor_4';
                sonst wenn (document.querySelector('#tm-droiden-checkbox:checked')) Sektor-ID = 'Sektor_6';
                sonst wenn (document.querySelector('#tm-miners-checkbox:checked')) Sektor-ID = 'Sektor_5';
            }

            const labelElement = document.querySelector(labelSelector);
            if (labelElement) {
                labelElement.click();
                if (Sektor-ID) {
                    const radioElement = document.querySelector(`#${sectorId}`);
                    wenn (Radioelement) Radioelement.geprüft = wahr;
                }
            } sonst wenn (Versuche < 10) {
                setTimeout(tryClick, 500);
                Versuche++;
            }
        }

        versuchenKlick();
    }

    Funktion performActionsOnPage() {
        const currentPage = Fenster.Standort.href;
        if (currentPage.includes('fleetTable')) {
            setInputValues();
        } sonst wenn (currentPage.includes('fleetStep1')) {
            setzePlanetValue();
        } sonst wenn (currentPage.includes('fleetStep2')) {
            clickLabelElement();
        }
    }

    document.addEventListener('DOMContentLoaded', function() {
        performActionsOnPage();
        addCheckboxListeners();
        wiederherstellenCheckboxStatus();
    });
})();

//Untergrund
(Funktion() {
    „die Stärken nehmen zu“;

    Funktion clickButton(Selector) {
        var button = document.querySelector(Selektor);
        wenn (kurz für kurz) {
            button.click();
        }
    }

    Funktion handleKeyPress(Ereignis) {
        wenn(event.keyCode === 13) {
            if (window.location.href.includes("fleetTable")) {
                Klicken Sie auf die Schaltfläche "Klicken Sie auf die Schaltfläche" ('.fl_bigbtn_go');
            } sonst wenn (window.location.href.includes("fleetStep1")) {
                Klicken Sie auf die Schaltfläche "Klicken Sie auf die Schaltfläche" ('.fl_bigbtn_go');
            } sonst wenn (window.location.href.includes("fleetStep2")) {
                clickButton('.fl_bigbtn_go[value=" Flotte verschicken "]');
            }
        }
    }

    document.addEventListener('Tastendruck', handleKeyPress);
})();

//Menüpunkte anzeigen
(Funktion() {
    „die Stärken nehmen zu“;

    const Schiff = [
        { id: '210', name: 'Leichterjäger' },
        { id: '211', name: 'Kreuzer' },
        { id: '212', name: 'Zerstörer' },
        { id: '213', name: 'Schlachtschiff' },
        { id: '214', name: 'Kammerjäger' },
        { id: '220', name: 'Galeone' },
        { id: '221', name: 'Dreadnought' },
        { id: '222', name: 'Bomber' },
        { id: '223', name: 'Vernichter' },
        { id: '224', name: 'Schwarze Wanderer' },
        { id: '225', name: 'Fregatten' },
        { id: '230', name: 'Todesstern' },
        { id: '231', name: 'Schwerer Bomber' },
        { id: '232', name: 'Avatar' },
        { id: '233', name: 'Fliegender Tod' },
        { id: '234', name: 'ONeill' },
        { id: '240', name: 'Jäger' },
        { id: '241', name: 'Aid' },
        { id: '242', name: 'Cerberus' },
        { id: '243', name: 'Titanium' },
        { id: '208', name: 'Evolution Transporter' },
        { id: '207', name: 'Gigarecycler' },
        { id: '201', name: 'SpionageSonden' },
    ];

    const buttonLabels = {
        'expo-button': 'Ausstellung',   //In Ihre Sprache übersetzen
        'barbaren-button': 'Barbaren',   //Übersetze in deine Sprache
        'pirate-button': 'Piraten',   //Übersetze in deine Sprache
        'aliens-button': 'Außerirdische',   //Übersetze in deine Sprache
        'droiden-button': 'Droiden',   //Übersetze in deine Sprache
        'miners-button': 'Bergleute',   //Übersetze in deine Sprache
        'ruined-button': 'Ruiniert'   //Übersetze in deine Sprache
    };

    Funktion getButtonLabel(buttonId) {
        Zurück zu den Schaltflächenbeschriftungen[Schaltflächen-ID] || Intelligente ID;
    }

    Funktion getRecommendations(buttonId) {
        const Empfehlungen = {
            'Expo-Button': { '224': '36364' },
            'Aliens-Button': {
                '210': '121000', '211': '162000', '212': '14000', '214': '14000',
                '221': '16000', '232': '180', '233': '16', '234': '15',
                '240': '12', '241': '50', '242': '20', '243': '10', '207': '1'
            },
            'Droid-Button': {
                '210': '121000', '211': '162000', '212': '14000', '214': '14000',
                '221': '16000', '232': '180', '233': '16', '234': '15',
                '240': '12', '241': '50', '242': '20', '243': '10', '207': '1'
            },
            'piraten-button': { '210': '15625', '221': '9375', '224': '125', '225': '125' },
            'barbaren-button': { '210': '15625', '221': '9375', '224': '125', '225': '125' },
            'ruinen-button': { '210': '656908', '221': '393800', '224': '5270', '225': '5161' },
            'Bergarbeiter-Schaltfläche': { '222': '1000', '231': '200' }
        };
        Empfehlungen zurückgeben[buttonId] || {};
    }

    const overlay = Dokument.createElement('div');
    overlay.id = 'tm-sw-farm-overlay';
    Dokument.body.appendChild(Overlay);

    Funktion showSettings(buttonId) {
        const label = getButtonLabel(buttonId);
        const Empfehlungen = getRecommendations(buttonId);

        overlay.innerHTML = `
            <div id="tm-sw-farm-settings">
                <h3>Einstellungen für ${label}</h3>
                <table class="settings-table">
                    <thead>
                        <tr>
                            <th>Schiffe</th> //In Ihre Sprache übersetzen 
                            <th>Empfehlung</th>   //In Ihre Sprache übersetzen
                            <th>Anzahl</th>   //Übersetze in deine Sprache
                            <th>Eingestellt</th>   //In Ihre Sprache übersetzen
                        </tr>
                    </thead>
                    <tbody>
                        ${ships.map(ship => {
                            const savedValue = localStorage.getItem(`${buttonId}-${ship.id}`) || '0';
                            return `
                                <tr class="Schiffsreihe">
                                    <td class="ship-label">${Schiffsname}</td>
                                    <td class="Schiffsempfehlung" data-id="${buttonId}-${ship.id}">
                                        ${Empfehlungen[Schiffs-ID] || '0'}
                                    </td>
                                    <td><input type="text" id="${buttonId}-${ship.id}" class="ship-input" placeholder="Anzahl" /></td>
                                    <td>${gespeicherterWert}</td>
                                </tr>
                            `;
                        }).Verb('')}
                    </tbody>
                </Tabelle>
                <button id="use-recommendations-btn">Empfehlung nutzen und speichern</button>
                <button id="save-settings-btn">Einstellungen speichern</button>
            </div>
        `;

        overlay.style.display = 'flex';

        document.getElementById('use-recommendations-btn').onclick = () => {
            Schiffe.forJedes(Schiff => {
                const Empfehlung = Empfehlungen[Schiffs-ID] || '0';
                const input = document.getElementById(`${buttonId}-${ship.id}`);
                Eingabewert = Empfehlung;
                localStorage.setItem(`${buttonId}-${ship.id}`, Empfehlung);
            });
            Überlagerungstext (wahr);
        };

        document.querySelectorAll('.ship-recommendation').forEach(element => {
            element.addEventListener('click', () => {
                const shipId = element.getAttribute('data-id');
                const Empfehlung = element.textContent.trim();
                document.getElementById(shipId).value = Empfehlung;
            });
        });

        document.addEventListener('keydown', handleCloseOverlay);
        overlay.addEventListener('click', (e) => {
            wenn(e.target === overlay) closeOverlay();
        });

        document.getElementById('save-settings-btn').onclick = () => {
            Schiffe.forJedes(Schiff => {
                const input = document.getElementById(`${buttonId}-${ship.id}`);
                localStorage.setItem(`${buttonId}-${ship.id}`, input.value || '');
            });
            Überlagerungstext (wahr);
        };
    }

    Funktion closeOverlay() {
        overlay.style.display = "keine";
        document.removeEventListener('keydown', handleCloseOverlay);
    }

    Funktion handleCloseOverlay(Ereignis) {
        wenn (Ereignischlüssel === 'Escape') {
            Schrägstriche überlagern();
        }
    }

    const buttonIds = Object.keys(buttonLabels);

    Funktion secureButtonListeners() {
        buttonIds.forEach(id => {
            const Intervall = setInterval(() => {
                const button = document.getElementById(id);
                wenn (kurz für kurz) {
                    clearInterval(Intervall);
                    button.addEventListener('klicken', (e) => {
                        e.preventDefault();
                        Suchergebnisse (ID);
                    });
                }
            }, 300);
        });
    }

    Stellen Sie sicher, dass die Schaltflächenlistener();
})();

Das Skript ermöglicht es euch, die EnterTaste auf den Flottenseiten zu benutzen und die voreingestellten Shortcuts zu verwenden. Die Optik ist nicht das Beste, was ich weiß, aber es funktioniert.

Прикрепленный файл  Screenshot_18.png   425,09К   0 Количество загрузок:Прикрепленный файл  Screenshot_19.png   402,48К   0 Количество загрузок:Прикрепленный файл  Screenshot_20.png   242,56К   0 Количество загрузок:Прикрепленный файл  Screenshot_23.png   318,17К   0 Количество загрузок:


Ünbersetzen der Schiffe müsst ihr hier machen

 

const Schiff = [
        { id: '210', name: 'Leichtejäger' },
        { id: '211', name: 'Kreuzer' },
        { id: '212', name: 'Zerstörer' },
        { id: '213', name: 'Schlachtschiff' },
        { id: '214', name: 'Kammerjäger' },
        { id: '220', name: 'Galeone' },
        { id: '221', name: 'Dreadnought' },
        { id: '222', name: 'Bomber' },
        { id: '223', name: 'Vernichter' },
        { id: '224', name: 'Schwarze Wanderer' },
        { id: '225', name: 'Fregatten' },
        { id: '230', name: 'Todesstern' },
        { id: '231', name: 'Schwerer Bomber' },
        { id: '232', name: 'Avatar' },
        { id: '233', name: 'Fliegender Tod' },
        { id: '234', name: 'ONeill' },
        { id: '240', name: 'Jäger' },
        { id: '241', name: 'Aid' },
        { id: '242', name: 'Cerberus' },
        { id: '243', name: 'Titanium' },
        { id: '208', name: 'Evolution Transporter' },
        { id: '207', name: 'Gigarecycler' },
        { id: '201', name: 'SpionageSonden' },
    ];

Die Anordnung der Schiffe entspricht der Anzeige, wo ihr auch die Schiffe eintragt.

nun macht damit was ihr wollt ich werde da die admins das angeblich Morgen oder die tage einbauen wollen ist es wahrscheinlich nur heute von nutzen aber ich finde es nicht fair.

Ich sage ich möchte das für die Community machen schlage das am 18.05.2025 vor weil alle im Forum am weinen sind und bekomme dann so eine Antwort.
was dann zur folge hätte das sie es sich auf die eigene Fahne schreiben zu 100%

somit werde ich hier keine Verbesserungen oder eine Multi Lanugae Support für bauen. dann kann ich mich auch um andere Sachen kümmern

 

 

MfG

OPTtheTI

 


  • 2