您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Wählt das nächstliegende Ersthelferfahrzeug aus
// ==UserScript== // @name * Ersthelfer // @namespace bos-ernie.leitstellenspiel.de // @version 1.1.0 // @license BSD-3-Clause // @author BOS-Ernie // @description Wählt das nächstliegende Ersthelferfahrzeug aus // @match https://*.leitstellenspiel.de/missions/* // @icon https://www.google.com/s2/favicons?sz=64&domain=leitstellenspiel.de // @run-at document-idle // @grant none // @resource https://forum.leitstellenspiel.de/index.php?thread/25554-script-ersthelfer-by-bos-ernie/ // ==/UserScript== (function () { /** * Liste der Fahrzeugtypen die als Ersthelfer ausgewählt werden dürfen. * * Nicht zu verwendende Fahrzeuge auskommentieren oder entfernen. Die Liste aktueller Fahrzeugtypen wird im Forum * gepflegt (siehe Link). * https://forum.leitstellenspiel.de/index.php?thread/8406-infos-f%C3%BCr-entwickler/&postID=485487#post485487 * * @type {number[]} */ const firstResponderVehicleTypeIds = [ 0, // LF 20 1, // LF 10 2, // DLK 23 3, // ELW 1 4, // RW 5, // GW-A 6, // LF 8/6 7, // LF 20/16 8, // LF 10/6 9, // LF 16-TS 10, // GW-Öl 11, // GW-L2-Wasser 12, // GW-Messtechnik 13, // SW 1000 14, // SW 2000 15, // SW 2000-Tr 16, // SW Kats 17, // TLF 2000 18, // TLF 3000 19, // TLF 8/8 20, // TLF 8/18 21, // TLF 16/24-Tr 22, // TLF 16/25 23, // TLF 16/45 24, // TLF 20/40 25, // TLF 20/40-SL 26, // TLF 16 27, // GW-Gefahrgut 28, // RTW 29, // NEF 30, // HLF 20 31, // RTH 32, // FuStW 33, // GW-Höhenrettung 34, // ELW 2 35, // leBefKw 36, // MTW 37, // TSF-W 38, // KTW 39, // GKW 40, // MTW-TZ 41, // MzGW (FGr N) 42, // LKW K 9 43, // BRmG R 44, // Anh DLE 45, // MLW 5 46, // WLF 47, // AB-Rüst 48, // AB-Atemschutz 49, // AB-Öl 50, // GruKw 51, // FüKw 52, // GefKw 53, // Dekon-P 54, // AB-Dekon-P 55, // KdoW-LNA 56, // KdoW-OrgL 57, // FwK 58, // KTW Typ B 59, // ELW 1 (SEG) 60, // GW-San 61, // Polizeihubschrauber 62, // AB-Schlauch 63, // GW-Taucher 64, // GW-Wasserrettung 65, // LKW 7 Lkr 19 tm 66, // Anh MzB 67, // Anh SchlB 68, // Anh MzAB 69, // Tauchkraftwagen 70, // MZB 71, // AB-MZB 72, // WaWe 10 73, // GRTW 74, // NAW 75, // FLF 76, // Rettungstreppe 77, // AB-Gefahrgut 78, // AB-Einsatzleitung 79, // SEK - ZF 80, // SEK - MTF 81, // MEK - ZF 82, // MEK - MTF 83, // GW-Werkfeuerwehr 84, // ULF mit Löscharm 85, // TM 50 86, // Turbolöscher 87, // TLF 4000 88, // KLF 89, // MLF 90, // HLF 10 91, // Rettungshundefahrzeug 92, // Anh Hund 93, // MTW-O 94, // DHuFüKw 95, // Polizeimotorrad 96, // Außenlastbehälter (allgemein) 97, // ITW 98, // Zivilstreifenwagen 100, // MLW 4 101, // Anh SwPu 102, // Anh 7 103, // FuStW (DGL) 104, // GW-L1 105, // GW-L2 106, // MTF-L 107, // LF-L 108, // AB-L 109, // MzGW SB 110, // NEA50 111, // NEA50 112, // NEA200 113, // NEA200 114, // GW-Lüfter 115, // Anh Lüfter 116, // AB-Lüfter 117, // AB-Tank 118, // Kleintankwagen 119, // AB-Lösch 120, // Tankwagen 121, // GTLF 122, // LKW 7 Lbw (FGr E) 123, // LKW 7 Lbw (FGr WP) 124, // MTW-OV 125, // MTW-Tr UL 126, // MTF Drohne 127, // GW UAS 128, // ELW Drohne 129, // ELW2 Drohne 130, // GW-Bt 131, // Bt-Kombi 132, // FKH 133, // Bt LKW 134, // Pferdetransporter klein 135, // Pferdetransporter groß 136, // Anh Pferdetransport 137, // Zugfahrzeug Pferdetransport ]; function addSelectButton() { const icon = document.createElement("span"); icon.classList.add("glyphicon", "glyphicon-fire"); const firstResponderButton = document.createElement("button"); firstResponderButton.classList.add("btn", "btn-primary"); firstResponderButton.appendChild(icon); firstResponderButton.addEventListener("click", clickEventHandler); firstResponderButton.title = "Ersthelfer auswählen (Taste: f)"; const wrapper = document.createElement("div"); wrapper.classList.add("flex-row", "flex-nowrap"); wrapper.appendChild(firstResponderButton); const iframeBottomContent = document.querySelector("#iframe-bottom-content"); if (iframeBottomContent === null) { return; } let parent = iframeBottomContent.querySelector("#mission_alliance_share_btn"); if (parent === null) { parent = iframeBottomContent.querySelector("#mission_next_mission_btn"); } parent.parentElement.after(wrapper); } function clickEventHandler(event) { event.preventDefault(); selectFirstResponder(); } async function selectFirstResponder() { const checkboxes = document.getElementsByClassName("vehicle_checkbox"); let firstResponderFound = false; for (let i = 0; i < checkboxes.length; i++) { const checkbox = checkboxes[i]; if (checkbox.disabled) { continue; } if (checkbox.checked) { continue; } const vehicleTypeId = parseInt(checkbox.getAttribute("vehicle_type_id")); if (firstResponderVehicleTypeIds.includes(vehicleTypeId)) { checkbox.click(); firstResponderFound = true; break; } } if (!firstResponderFound) { alert( "[Ersthelfer] Kein passendes Fahrzeug gefunden. Entweder Fahrzeuge nachladen oder erlaubte Fahrzeugtypen erweitern.", ); } } function main() { addSelectButton(); document.addEventListener("keydown", function (event) { if (event.key !== "f") { return; } const activeElement = document.activeElement; if (activeElement.tagName.toLowerCase() === "input" && activeElement.type.toLowerCase() === "text") { return; } selectFirstResponder(); }); } main(); })();