[Scriptwunsch] Funkrufnamen

  • Hallo,
    ich hab mich gefragt, ob irgendwie die Möglichkeit besteht, ein Script zu schreiben, welches auf BOS-Fahrzeuge zugreift und bei Knopfdruck die Fahrzeuge so umzubenennen, wie dort die Fahrzeuge eingespeichert sind.


    Geht das?

    Macht's nicht gut, macht's besser.

    Ansonsten mach's wie Vilsa, sei still.

  • Es gibt den Renamemanager im LSSMv4. Damit kannst du deine Fahrzeuge automatisch/einfacher umbenennen. Zugriff auf BOS-Fahrzeuge wird spannend. Erfahungsgemäß stehen dort einige Fahrzeuge drin, die ad sind. Die müsste das Script ignorieren. Außerdem müsste das Script erkennen welche Wache betroffen ist, die richtige Wache im LSS auswählen, erkennen welches Fahrzeug bei BOS-Fahrzeuge gemeldet ist (inkl Fahrzeugtyp) und dass dann deinem LSS-Fahrzeug zuordnen. Klingt spannend, aber dürfte schwierig werden. XD


    Ganz davon abgesehen, dass die Daten von BOS-Fahrzeuged nicht sonderlich zuverlässig sind. Ich habe hier im Forum schon oft gelesen, dass die daten teilweise veraltet oder regelrecht Falsch sind.

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • Es gibt den Renamemanager im LSSMv4. Damit kannst du deine Fahrzeuge automatisch/einfacher umbenennen. Zugriff auf BOS-Fahrzeuge wird spannend. Erfahungsgemäß stehen dort einige Fahrzeuge drin, die ad sind. Die müsste das Script ignorieren. Außerdem müsste das Script erkennen welche Wache betroffen ist, die richtige Wache im LSS auswählen, erkennen welches Fahrzeug bei BOS-Fahrzeuge gemeldet ist (inkl Fahrzeugtyp) und dass dann deinem LSS-Fahrzeug zuordnen. Klingt spannend, aber dürfte schwierig werden. XD


    Ganz davon abgesehen, dass die Daten von BOS-Fahrzeuged nicht sonderlich zuverlässig sind. Ich habe hier im Forum schon oft gelesen, dass die daten teilweise veraltet oder regelrecht Falsch sind.


    Selbst, wenn die veralteten genutzt werden, wäre das für mich persönlich nicht schlimm ^^

    Macht's nicht gut, macht's besser.

    Ansonsten mach's wie Vilsa, sei still.

  • ich hab jetzt mal schnell ein Script geschrieben, wie ich denke, das es stimmen könnte.
    Kann sich das wer mal anschauen und mir dann sagen, ob es klappt oder nicht?


    // ==UserScript==

    // @name Leitstellenspiel Fahrzeugumbenennung

    // @namespace http://tampermonkey.net/

    // @version 1.0

    // @description Benennt BOS-Fahrzeuge entsprechend ihrer gespeicherten Namen um.

    // @author W4RS1

    // @match https://www.leitstellenspiel.de/

    // @grant GM_xmlhttpRequest

    // ==/UserScript==


    (function() {

    'use strict';


    // URL von bos-fahrzeuge.info API

    const apiUrl = 'https://bos-fahrzeuge.info/api/vehicle_types';


    // Funktion zum Abrufen der Fahrzeugdaten von bos-fahrzeuge.info

    function getFahrzeugData(callback) {

    GM_xmlhttpRequest({

    method: 'GET',

    url: apiUrl,

    onload: function(response) {

    const fahrzeugData = JSON.parse(response.responseText);

    callback(fahrzeugData);

    }

    });

    }


    // Funktion zum Umbenennen der Fahrzeuge

    function umbenennenFahrzeuge(fahrzeugData) {

    const fahrzeugElemente = document.getElementsByClassName('vehicle_building_list_vehicle');


    for (let i = 0; i < fahrzeugElemente.length; i++) {

    const fahrzeugElement = fahrzeugElemente[i];

    const fahrzeugName = fahrzeugElement.innerText.trim();


    for (let j = 0; j < fahrzeugData.length; j++) {

    const fahrzeug = fahrzeugData[j];


    if (fahrzeug.name === fahrzeugName) {

    const neuerName = fahrzeug.caption;

    fahrzeugElement.innerText = neuerName;

    break;

    }

    }

    }

    }


    // Überwache Klickereignisse auf dem Button

    document.addEventListener('click', function(event) {

    const buttonId = event.target.id;


    if (buttonId === 'someButtonId') {

    getFahrzeugData(umbenennenFahrzeuge);

    }

    });

    })();

    Macht's nicht gut, macht's besser.

    Ansonsten mach's wie Vilsa, sei still.

  • Hmm. Also ich habe jetzt mal nur auf meiner Heimatwache geschaut. Da stehen von 10 eingetragenen Fahrzeugen gleich mal 2, die wir ingame gar nicht haben (Vorauslöschfahrzeug VLF20/16; Drehleiter Korb DLK 23/12). Die genaue Klassifizierung der Fahrzeuge (HLF 10, HLF 20, steht nur im Text. Außerdem fehlen Fahrzeuge. und es stehen Falsche drin. Der 14-01 der bei BOS Fahrzeug in der Wache steht, steht in wirklichkeit auf einer anderen. Das steht damm im Freitext sogar geschrieben.

    Was machst du mit Fahrzeugen die eine Doppelnutzung haben? Unser 14-01 ist gleichzeitig ELW für Wachabteilung und OrgL RD.


    Mir ist kein Script bekannt, welches die von dir gewünschte Funktion umsetzt und ich wüsste auf anhieb auch keinen zuverlässigen Weg das umzusetzen (die besseren Scripter dürfen mich gerne korrigieren). Bleibt also nur von Hand raussuchen und eintippen. ;)

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • url: apiUrl,

    BOS-Fahrzeuge bietet eine API an?


    Ansonsten: Der Grundgedanke stimmt, aber da fehlt noch eine GANZE Menge code. ;) Zb wie du die einzelnen Informationen aufrufen willst, die komplette auswertung fehlt, der Teil zum umbenennen ist auch unvollständig,...

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • BOS-Fahrzeuge bietet eine API an?


    Ansonsten: Der Grundgedanke stimmt, aber da fehlt noch eine GANZE Menge code. ;) Zb wie du die einzelnen Informationen aufrufen willst, die komplette auswertung fehlt, der Teil zum umbenennen ist auch unvollständig,...


    Mir persönlich ist nichts von einer API bekannt :/

    Das Grundgerüst muss ich noch ausbauen :huh:

    Macht's nicht gut, macht's besser.

    Ansonsten mach's wie Vilsa, sei still.

  • Mir persönlich ist nichts von einer API bekannt :/

    Auf die greift dein Script aber zu. (zeile 5 im Folgenden Code)


    Mit einer API würde ich das noch als möglich aber schwer ansehen. Da es aber keine API zu geben scheint, müsstest du die Informationen manuell abrufen. Da die Felder und Freitexte aber nicht "genormt" sind, würde ich das als quasie unmöglich ansehen.

    Aber hey: Beweis mir das Gegenteil. ;) Ich will ja auch was lernen. XD

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"

  • ohne API wird das auf jeden Fall ein Krampf, da irgendwas halbwegs vernünftig zu machen. Dein Script erwartet allerdings den Link zu einer API-URL. Hat das etwa "jemand" geschrieben, der nicht weiß, dass es keine API zu geben scheint, aber trotzdem immer sehr motiviert auf alle Fragen antwortet? ;)


    Grundsätzlich wäre so ein Script eine sehr lustige Idee, aber eine Umsetzung scheitert meiner Meinung nach an mehreren Punkten:

    1. Bos-Fahrzeuge.info hat nicht alle Fahrzeuge hinterlegt und auch Falsch-Daten

    2. Im Spiel gibt es viele (sehr viele) Fahrzeugtypen nicht, die da draußen in der realen Welt existieren und somit potentiell auch auf bos-fahrzeuge.info

    3. Anfragen ohne Ende auf bos-fahrzeuge.info (die freuen sich bestimmt meeeeeega)


    Im Prinzip müsste man sich also erstmal Gedanken machen, wie man einem im Spiel gekauften Fahrzeug ein reales auf bos-fahrzeuge.info hinterlegtes Fahrzeug zuordnen kann. Dabei fallen mir vor allem folgende Fälle ein:

    1. Das Gebäude heißt genau gleich und der Fahrzeugtyp ist korrekt

    => "einfach", man muss "nur" die Wache finden (Suche → Name, ggf. über Koordinaten verifizieren) und anschließend das Fahrzeug zuordnen

    2. Das Gebäude heißt anders aber ähnlich und der Fahrzeugtyp ist korrekt.

    => Könnte noch gehen, da die richtige Wache zu finden, Fahrzeug s.o.

    3. Das Gebäude heißt ganz anders, man müsste also eigentlich nur über den Standort gehen, der Fahrzeugtyp ist korrekt

    => Es wird schon recht schwierig, hier die korrekte Wache zu finden. Evtl. könnte man über reverse-geocode den Standort als Adresse kriegen und basierend auf den Adressdaten dann eine hoffentlich erfolgreiche Suche starten. Fahrzeug s.o.

    4. der Fahrzeugtyp ist anders (bspw. in echt ein ErkW, im Spiel als GW-Mess umgesetzt). Selbst wenn die Wache (s.o.) zugeordnet werden könnte, müsstest du ja ein zusätzliches Matchen des im Spiel gekauften Fahrzeugs auf ein reales Fahrzeug hinkriegen mit der Schwierigkeit, dass die Fahrzeugtypen nicht aufeinander passen.


    Hier noch ein kleines Rechenbeispiel, um die Zahl der Serveranfragen an bos-fahrzeuge.info abzuschätzen:

    In diesem Beispiel möchten wir den Funkrufnamen Florian WF Airport Düsseldorf 00 FLF 01 herausfinden (Das Bild war grade angezeigt, deshalb nehm ich den als Beispiel).

    1. Wache suchen. Angenommen die Wache im Spiel heißt "Flughafen Düsseldorf", dann wäre die Suche unter https://bos-fahrzeuge.info/wac…Flughafen+D%C3%BCsseldorf erreichbar. Okay, man findet relativ schnell die Hauptwache: WF Flughafen Düsseldorf GmbH Hauptwache (FW), man findet aber auch andere Ergebnisse, wie z.B. "WF Flughafen Düsseldorf GmbH (RD)" und "BPolI Flughafen Düsseldorf". Eine automatische Zuordnung zum richtigen Gebäude könnte hier noch klappen aber ggf. schwierig werden. Wir haben bereits eine Serveranfrage gestellt.

    2. Prima, wir öffnen die Einsatzfahrzeuge-Seite der Wache: https://bos-fahrzeuge.info/wac…wache_FW/einsatzfahrzeuge. Dort können wir nach Fahrzeugtypen suchen. Wir suchen also nach "Flugfeldlöschfahrzeug" und erhalten eine Reihe von Ergebnissen. Darüber können wir uns jetzt einen Funkrufnamen aussuchen. Wir haben zwei Serveranfragen gebraucht, das ist gut.


    Praktisch, das hält sich ja noch im Rahmen. Zugegeben sind Flughafenfeuerwehren mit dem Namen "Düsseldorf" auch nicht so häufig. Aber such mal nach "Freiwillige Feuerwehr Neuhausen" o.ä. Plötzlich erhälst du hunderte Einträge und du musst jetzt per PLZ matchen, welche die richtige ist. ggf. musst du mehrere Seiten in der Suche durchgehen.


    Jetzt mach das mal für 100 Gebäude, da wird sich bos-fahrzeuge.info bestimmt "freuen", dass innerhalb kürzester Zeit mehrere Hundert Anfragen von "leitstellenspiel.de" kommen.


    Ansonsten as said: Ich sehe sehr viele Schwierigkeiten bei der Umsetzung eines solchen Scripts, da es einfach viel zu viele Fälle gibt, die man alle abdecken müsste.


    P.S.:

    Es gibt den Renamemanager im LSSMv4. Damit kannst du deine Fahrzeuge automatisch/einfacher umbenennen.

    Der is im 3er, nicht im 4er :P

  • Hat das etwa "jemand" geschrieben, der nicht weiß, dass es keine API zu geben scheint, aber trotzdem immer sehr motiviert auf alle Fragen antwortet? ;)

    Um den Film I,Robot zu zitieren:

    Sonny: "Thank you... you said 'someone'... not 'something'." -- "Sie sagten jemand und nicht etwas"

    Mecker nicht Rum, mach's besser! Kannst du nicht? Dann halt den Ball flach!8o


    Mein Verband "Sachsen, Dresden und Osterzgebirge"

    "Und Du wünschst dieser Welt

    Dass endlich Hirn vom Himmel fällt

    Es wär' schön, wenn sie verstehen

    Zum Homosapiens gehört nicht nur aufrecht gehen"