Frage- und Hilfebereich für Entwickler

  • Ich habe mir mithilfe von Jan (jxn_30) vor einer etwas längeren Zeit ein code erstellt, der bestimmte Daten von einem Einsatz an mein Handy sendet und dies vorliest (Quasi eine Leitstelle) und dies auch soweit umgesetzt das es fast fertig ist, nun würde ich das aber gerne noch so machen, dass er mir die Wache nennt, die denn Einsatz erstellt hat, habe da aber jetzt nichts gesehen gibt es da noch eine Möglichkeit oder ist das gar nicht möglich dies abzufragen

    HIer geht es weiter.

  • Was genau willst du jetzt wissen? Du kannst den Inhalt fetchen, parsen, Infos extrahieren. Oder irgendwie anders. Gibt da viele Möglichkeiten. Da wir nicht mal Teile deines Codes kennen und du dich relativ unspezifisch äußerst kann man dir nicht wirklich helfen.

    Ein Vakuum, geschaffen durch fehlende Kommunikation,

    füllt sich in kürzester Zeit mit falscher Darstellung, Gerüchten, Geschwätz und Gift. - Cyril Northcote Parkinson


    Der beste Verband in Aachen und Umgebung: leitstellenspiel.de/alliances/1100



    Schraube manchmal am LSSM V4 rum.

  • Man kann über die Konsole daten abfragen vielmehr bekommt bei jeden Einsatz dann Informationen mit dem Code (Siehe unten) da hole ich mir dann verschiedene daten und speichere dies in einer Var ab was auch alles klappt, nur bekomme ich da leider keine Information welche wache dies ist also wie die wache heißt meine Frage war dementsprechend, ob ich es doch irgendwie bekommen kann, weil ich gerne eine ansage, haben will die auch die Wache nennt



    Feuerwache Berlin Großfeuer in Am Friedrichshain 17, 10407 Berlin
    Auskunft fehlt mir

    Code
    const
    missionMarkerAddOrigin =
    window.missionMarkerAdd
    window.missionMarkerAdd
    = e => {
    if
    (e.user_id === window.user_id) // Wir möchten nur eigene Einsätze, keine vom Verband
    console.log(e);
    missionMarkerAddOrigin(e);
    };
  • Aus mir unbekannten Gründen kommt es immer wieder vor, dass von Scripten im Local-/SessionStorage gespeicherte Daten nicht mehr vorhanden sind. Aus diesem und der begrenzten Speichermöglichkeit kann es in manchen Fällen sinnvoll sein, einen externen Service für das Speichern und Laden von Daten zu verwenden. Ich denke an einen simplen Storage für JSON.


    Hat Jemand diesbezüglich schon mal etwas umgesetzt? Gibt es Dienste, die die Funktionalität von Haus bereitstellen oder muss der Service selbst umgesetzt und gehostet werden?

  • Sowas in der Art steht auf der ewigen ToDo-Liste des LSSM, wurde aber noch nicht umgesetzt, da keine Motivation da war sich ein gutes Auth-Verfahren aus dem Kopf zu drücken.


    Bezüglich der Größe: IndexDB?

    Ein Vakuum, geschaffen durch fehlende Kommunikation,

    füllt sich in kürzester Zeit mit falscher Darstellung, Gerüchten, Geschwätz und Gift. - Cyril Northcote Parkinson


    Der beste Verband in Aachen und Umgebung: leitstellenspiel.de/alliances/1100



    Schraube manchmal am LSSM V4 rum.

  • Sowas in der Art steht auf der ewigen ToDo-Liste des LSSM, wurde aber noch nicht umgesetzt, da keine Motivation da war sich ein gutes Auth-Verfahren aus dem Kopf zu drücken.


    Bezüglich der Größe: IndexDB?

    Danke dafür! Ja, Auth-Layer wäre die nächste Fragen gewesen. 🤔 IndexDB schaue ich mir mal an.

  • Anbei mal meine "Gedanken" zur Auth-Möglichkeit, vielleicht hilft es ja irgendwie:
    1. user_id: Super simpel rauszufinden und kann noch leichter manipuliert werden.

    2. uuid: Muss wieder Clientseitig gespeichert werden, an sich aber - je nach Datenart - eine Möglichkeit

    3. Automatisierte PN via Bot im Spiel an Spieler und Skript liest diese dann aus: Möglich schrabbt aber nah an einem Verstoß gegen die AGB => Sollte vorher abgeklärt werden.

    4. Übergabe der Logindaten und Login als User (vgl. Wachplaner): Eher ungünstig, da Nutzerdaten übergeben werden und man diese sicher speichern/verwahren muss.

    Ein Vakuum, geschaffen durch fehlende Kommunikation,

    füllt sich in kürzester Zeit mit falscher Darstellung, Gerüchten, Geschwätz und Gift. - Cyril Northcote Parkinson


    Der beste Verband in Aachen und Umgebung: leitstellenspiel.de/alliances/1100



    Schraube manchmal am LSSM V4 rum.

  • Aus mir unbekannten Gründen kommt es immer wieder vor, dass von Scripten im Local-/SessionStorage gespeicherte Daten nicht mehr vorhanden sind. Aus diesem und der begrenzten Speichermöglichkeit kann es in manchen Fällen sinnvoll sein, einen externen Service für das Speichern und Laden von Daten zu verwenden. Ich denke an einen simplen Storage für JSON.


    Hat Jemand diesbezüglich schon mal etwas umgesetzt? Gibt es Dienste, die die Funktionalität von Haus bereitstellen oder muss der Service selbst umgesetzt und gehostet werden?

    Jeder "externe" Service zur Persistenz hat den Nachteil, das er von irgendwem gehostet werden muss und das die Verfügbarkeit nicht garantiert ist.

    Zu schnell ist jemand beleidigt und zieht alle Skripte zurück, und dann bspw. auch so einen Speicherdienst. Noch schlimmer, wenn dort dann Daten so verändert werden, dass die Skriptausführung dadurch manipuliert wird etc


    Wenn eine dauerhaftere Speicherung gewünscht ist (Local/Session Storage und IndexDB können jederzeit geleert werden),

    ggf. GM_setValue() benutzen, dass nutzt in den meisten Userskript-Managern eine Speichermöglichkeit, die nicht durch "Verlauf/Internetdaten löschen" oder externe "Reinigungs-/Aufräumtools" geleert wird.

    Einziger Nachteil, wenn das Skript auf mehreren Spiel-Domains ausgeführt wird, teilen sich alle den Speicher, im Gegensatz zu Localstorage, dass Domain-bezogen ist.

    Oder statt Userskript eine eigene Browsererweiterung, dann hat man mehr lokale Speichermöglichkeiten.


    Ein Skript (meine es war Wachennotizen) hat sogar mal das Spiel als Speicher genutzt, indem ein POST-Request abgesetzt wurde und in den Spiel-Notizen in einem bestimmten Format zusätzliche Daten abgelegt wurden. Denke davon ist aber abzuraten ;-)

  • Kann mir mal jemand einen Stoß in die Richtige Richtung geben? Ich versuche gerade in der Täglichen Creditsübersicht "

    https://www.leitstellenspiel.de/credits/daily" die Anzahl der Gefahrerenen Einsätze zu ermitteln.

    In data-column="2" steht dafür die Jeweilige Anzahl der einzelnen Einsätze und in der Dazugehörigen Zeile in data-column="3" die Bezeichnung.

    Gibt mir immer 0 aus.

    Sobol verabschiedet sich aus dem Forum

  • Never mind, ich habe gerade begriffen, dass die Tabelle nicht in Spalten aufgeteilt ist, sondern nur in Zeilen.

    Sobol verabschiedet sich aus dem Forum

  • Moin,

    ich weiß, es gibt schon einen Beitrag für eine API (APIs)


    Allerdings scheint der Beitrag veraltet und nicht aktualisiert zu werden. Ich habe mind. eine Schnittstelle gefunden, die ich übersehen habe oder nicht erfasst wurde.

    https://www.leitstellenspiel.de/api/alliance_buildings/

    Bevor ich soweit bin, habe ich allerdings ein paar Fragen:


    Frage 01: Gibt es evtl. eine Swagger-Info Page o.ä. für die API?

    - Ziel: Keine weiteren Fragen zur API.

    - Geschätzte Anzahl von Abfragen: Development (eine Abfrage pro Änderung)


    Frage/Wunsch 02: Gibt es die Möglichkeit, die aktuelle Position eines Fahrzeuges abzufragen?

    - Die Zeitberechnung zwischen zwei Punkten (longitude,latitude) habe ich bereits implementiert

    - Positionsberechnungen der Fahrzeuge (für Alarmierung/Rückalarmierungen) würde ich mir gerne ersparen, da diese Informationen bekannt sein sollten

    - Probleme: Berechnungen der aktuellen Position sind sehr komplex. Positionen müsseten im system bekannt sein, und daher auch per api abfragbar sein.

    - Entity: Position(latitude: Number, longitude: Number);

    - Ziel: Berechnung der Zeit von der aktuellen Position bis zum Ziel

    - Geschätzte Anzahl von Abfragen: pro Aufruf einer Fahrzeugliste für die entsprechenden Fahrzeuge | pro Aufruf eines Gebäudes für alle Fahrzeuge, des Gebäudes

    - Parameter: Liste von FahrzeugID's


    Frage/Wunsch 03: Gibt es die Möglichkeit, die minimale/maximale Fahrzeug-Besetzung abzufragen? (Die ein Fahrzeug haben kann/darf)

    - Lokale Umsetzung: Relativ einfach, da diese Informationen statisch sind und nicht all zu viele Einträge haben.

    - bei lokaler Umsetzung: Probleme der Aktualität

    - Ziel: Eine Warnung in der Fahrzeugliste, wenn nicht genug oder zu viel Personal zugeordnet ist.

    - Geschätzte Anzahl von Abfragen: pro Aufruf einer Fahrzeugliste für die entsprechenden Fahrzeuge

    - Parameter: Liste von FahrzeugTypID's


    Frage/Wunsch 04: Gibt es eine Möglichkeit, das Personal (inkl. Lehrgänge/Zuordnung) abzufragen?

    - Ziel: Eine Warnung in der Fahrzeugliste, wenn nicht genug oder falsches Personal zu einem Fahrzeug zugeordnet ist

    - Geschätzte Anzahl von Abfragen: pro Aufruf einer Fahrzeugliste für die entsprechenden Fahrzeuge

    - Parameter: FahrzeugID


    Ein Scraper auf */einsaetze/, ist bereits eingeplant, sofern es keine anderen Möglichkeiten gibt und ich dafür ein "OK" von dem Entwicklern bekomme. Diese Daten werden max. 4x pro Tag abgerufen.


    P.S. Wenn ich nach Möglichkeiten frage, möchte ich keine Scraper-Vorschläge haben. Diese könnte ich ohne Probleme selber Programmieren.

    P.S.2. Wenn meine Ziele der AGB widersprechen, bitte mit einer kurzen Info dazu, widersprechen.

    2 Mal editiert, zuletzt von invi2k ()

  • 1. Nope, es gibt keine offizielle. Nur die vom LSS-Manager zusammengetragende Typdefinition: https://github.com/LSS-Manager…tions/tree/master/src/api

    2. Nein, die ist auch dem Server nicht bekannt. Nach Übergabe der Start/Ziel-Koordinaten kommt vom Routingservice die Dauer und die Route zurück. Der Server orientiert sich nur an der Dauer.

    3. Jup, https://api.lss-manager.de/de_DE/vehicles

    4. Nein, eine Personal-API existiert nicht. Sebastians (bis 2019 Eigentümer und 1 Mann Entwickler) hatte mal gesagt das die Last zu hoch sei.


    5. einsätze kann man via https://www.leitstellenspiel.de/einsaetze.json abrufen. Alternativ: https://github.com/Piet2001/Mi…-All-Versions/tree/master


    6. Deine Ziele sollten nicht gegen die API verstoßen. Im allgemeinen fährt man ganz gut wenn man nix macht was automatisiert, die 100ms Abfrage-Limits (bzw. 5s für den Routing-Service) einhält und im allgmeinen kein Arschloch ist. Wenn man sich unsicher ist einfach kurz nachfragen ;)


    PS: Manifest v2 > Manifest v3 :P

    Ein Vakuum, geschaffen durch fehlende Kommunikation,

    füllt sich in kürzester Zeit mit falscher Darstellung, Gerüchten, Geschwätz und Gift. - Cyril Northcote Parkinson


    Der beste Verband in Aachen und Umgebung: leitstellenspiel.de/alliances/1100



    Schraube manchmal am LSSM V4 rum.

  • Moin,


    ich versuche mich gerade ein wenig an einem Script für das automatische Starten von Ausbauten anhand eines definierten Ablaufs. Zuerst wollte ich einfach den Link zusammenbauen, die einzelnen Ausbauten haben ja Nummern beginnend mit 0. Da das nicht funktioniert (siehe bei Fragen) wollte ich dann die einzelnen Buttons aus der Tabelle aufrufen. Soweit funktioniert das auch bei den Buttons, die bei Scriptstart existieren. Die Buttons die nachgeladen werden, kann ich damit nicht aufrufen.


    Jetzt zu meinen Fragen, die mein weiteres Vorgehen beeinflussen:

    1. Gibt es einen Weg, den Link direkt aufzurufen und nicht per Button-Klick? Auch wenn ich den Link vom Button direkt kopiere und aufrufe bekomme ich einen 404 zurück

    2. Kann ich die Seite bzw. die Tabelle der Ausbauten während des Scripts neuladen, ohne dass das Script abbricht?


    Besten Dank für die Hilfe.


    EDIT: Hab 1. nun doch geschafft, im Script hab ich den Link mittels eines post Befehls aufgerufen.

    Einmal editiert, zuletzt von Lies ()

  • Ich hab mich nicht gut ausgedrückt, sorry fürs Missverständnis. Natürlich wird eine Nutzeraktion in Form eines Buttons als Trigger für das beauftragen der Ausbauten genutzt.