FirstResponder

  • Also Button und grünes Zahnrad sind drin, Das Menü geht auch auf und diverse Fahrzeuge werden auch angezeigt und sind (edit: wohl doch nicht speicherbar).

    Ausrücken tut keiner.


    Was noch fehlt sind die "

    "21": ["General Practitioner", 1], "22": ["Community First Responder", 1],

  • dafür einmal im localstorage aVehicleTypesUk löschen ^^ . Die sind drin ^^ .

    Aber ja das mit dem speichern der autos dann, da ist traxx schon dran. hab den fehler nämlich auch :P

    @SanniHameln-> Du Spaßvogel. Ich sitze hier mitten in der Nacht am Mekong und bin mit meinen 60 Jahren froh, das ich weiß, wo mein Läppi an und aus geht. Aber irgenwie war da mal was mit mit F-haumichblau:/


    edit: HA, F12-gefunden und gelöscht. Ich wuste, ich hab was von nem Terrier.:D

    Einmal editiert, zuletzt von Locke ()

  • OK, Ich meld mich wieder.

    Aber Abspeichern der Auswahl will er bei mir nicht. Egal, ich muß jetzt erst mal ins Bett. Is schon nach 24 Uhr. Aber vielen Dank erst einmal für deine große Mühe.

  • Welhe Version hast du denn?
    Ich habe mir gerade mal so einen unregistrierten UK-Account gebaut, und kam zu folgendem Ergebnis:

    Ich konnte sogar das Testfahrzeug mittels firstResponder auswählen


    EDIT:
    für dein API-Problem gib mal localStorage.removeItem("aVehicleTypesUk") in deine Console ein. Das sollte das Script dazu zwingen, die API neu zu laden (aus welchen Gründen auch immer sie das noch nicht getan hat).
    Alternativ lade vorher deine Seite mal mit Strg + F5 neu. Manchmal hilft das auch

    Einmal editiert, zuletzt von DrTraxx ()

  • Und nu geht garnichts mehr-> Spiel komplett neu gestartet.

    Script gelöscht und neu installiert->1.0.3.

    Button gelöscht und neu erstellt.

    kein neuer Auswhlbutton wird angezeigt.

    Ok, laß es gut sein. Wenns bei den anderen funktioniert ,isses gut.

    ich mache es mit der manuellen Einstellung des Originalscriptes, da funzt es.

    Bilder

    • Konsole.png
  • Das ist unbefriedigend. Ich baue dir eine Option, dass eine Speicherung immer möglich ist.
    Dann sollten (hoffentlich) alle deine Probleme damit gelöst sein.

  • Ich hab jetzt für beide Versionen einen Fix rausgehauen, bei dem die AAO-ID immer überspeichert werden kann.

    Locke das sollte dein Problem eigentlich lösen.
    Sonst muss ich mich im nächsten Schritt mal damit beschäftigen, beide Scripte in einem zusammenzufassen

  • // ==UserScript==

    // @name FirstResponder (Original by JuMaHo) - Version UK

    // @version 1.0.4

    // @description wählt das nächstgelegene FirstResponder-Fahrzeug aus

    // @author DrTraxx

    // @match *://www.missionchief.co.uk/missions/*

    // @match *://www.missionchief.co.uk/aaos/*/edit

    // @grant none

    // ==/UserScript==

    /* global $ */


    (async function() {

    'use strict';


    if(!localStorage.aVehicleTypesUk || JSON.parse(localStorage.aVehicleTypesUk).lastUpdate < (new Date().getTime() - 5 * 1000 * 60)) {

    await $.getJSON("https://lss-manager.de/api/cars.php?lang=en_GB").done(data => localStorage.setItem('aVehicleTypesUk', JSON.stringify({lastUpdate: new Date().getTime(), value: data})) );

    }


    var aVehicleTypesUk = JSON.parse(localStorage.aVehicleTypesUk).value;

    var vehicleTypesUk = localStorage.fr_vehicleTypesUkUk ? JSON.parse(localStorage.fr_vehicleTypesUkUk) : [];

    var aaoId = localStorage.fr_aaoIdUk ? +localStorage.fr_aaoIdUk : 0;


    function mapVehiclesUk(arrClasses, trigger) {

    var returnValue = [];

    if(trigger == "type") {

    returnValue = $.map(arrClasses, function(item) {

    return aVehicleTypesUk.filter((obj) => obj.name == item)[0].id;

    });

    } else if(trigger == "name") {

    returnValue = $.map(arrClasses, function(item) {

    return aVehicleTypesUk.filter((obj) => obj.id == item)[0].name;

    });

    }

    return returnValue;

    }


    if(window.location.pathname.includes("aaos") && window.location.pathname.includes("edit")) {

    $("h1").append(`<a class="btn btn-info" id="frSaveAaoIdUk" style="margin-left:2em">save AAO-ID</a>`);

    }


    if(window.location.pathname.includes("missions") && localStorage.fr_aaoIdUk) {

    var arrVehicles = [];


    for(var i in aVehicleTypesUk) {

    arrVehicles.push(aVehicleTypesUk[i].name);

    }

    arrVehicles.sort((a, b) => a.toUpperCase() > b.toUpperCase() ? 1 : -1);


    $("#available_aao_" + aaoId)

    .parent()

    .after(`<button type="button" class="btn btn-success btn-xs" data-toggle="modal" data-target="#frModalUk" style="height:24px">

    <div class="glyphicon glyphicon-cog" style="color:LightSteelBlue"></div>

    </button>

    <div class="modal fade" id="frModalUk" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

    <div class="modal-dialog" role="document">

    <div class="modal-content">

    <div class="modal-header">

    <h5 class="modal-title" id="frModalLabelUk">Einstellungen</h5>

    <button type="button" class="close" data-dismiss="modal" aria-label="Close">

    <span aria-hidden="true">&times;</span>

    </button>

    </div>

    <div class="modal-body" id="frModalBodyUk">

    <label for="frSelectVehicles">vehicle-types (multiple choice with Strg + click)</label>

    <select multiple class="form-control" id="frSelectVehiclesUk" style="height:20em;width:20em"></select>

    </div>

    <div class="modal-footer">

    <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>

    <button type="button" class="btn btn-success" id="frSavePreferencesUk">Save</button>

    </div>

    </div>

    </div>

    </div>`);


    for(i in arrVehicles) {

    $("#frSelectVehiclesUk").append(`<option>${arrVehicles[i]}</option>`);

    }


    $("#frSelectVehiclesUk").val(mapVehiclesUk(vehicleTypesUk, "name"));

    }


    $("body").on("click", "#frSaveAaoIdUk", function() {

    localStorage.fr_aaoIdUk = +window.location.pathname.replace(/\D+/g,"");

    $("#frSaveAaoId").css({"display":"none"});

    alert("AAO-ID saved successfully.");

    });


    $("body").on("click", "#frSavePreferencesUk", function() {

    vehicleTypesUk = mapVehiclesUk($("#frSelectVehiclesUk").val(), "type");

    localStorage.fr_vehicleTypesUkUk = JSON.stringify(vehicleTypesUk);


    $("#frModalBodyUk").html("<h3><center>Settings saved successfully.</center></h5>");

    $("#frSavePreferencesUk").css({"display":"none"});

    });


    $("#aao_"+aaoId).click(function() {

    $(".vehicle_checkbox").each(function() {

    var vType = $(this).attr("vehicle_type_id");

    var vId = +$(this).attr("value");


    if(vehicleTypesUk.includes(vType)) {

    if(!$("#vehicle_checkbox_"+vId)[0].checked) {

    if(!$("#vehicle_checkbox_"+vId)[0].disabled) {

    $("#vehicle_checkbox_"+vId).click();

    return false;

    }

    }

    }

    });

    });


    })();

  • var vehicleTypesUk = localStorage.fr_vehicleTypesUkUk ? JSON.parse(localStorage.fr_vehicleTypesUkUk) : [];

    Das sollte eigentlich nicht so aussehen.


    Manchmal hab ich echt das Gefühl, ich bin einfach zu doof für alles.
    Ich schreib jetzt ein Script für beide Sprachen, teste es und dann gibts ein Update.

  • Mach dir bloß keinen Stress. Das ich den CFR und den Doc nicht bekomme liegt bestimmt an irgendeinem Knoten in meinem Blechtrottel. Und wenn es bei den anderen funktioniert, hast du doch alles richtig gemacht. Hey, es ist bloß ein Spiel und es lohnt das Magengeschwür nicht nur um ein Knopfdrücken weniger zu haben.:thumbup::thumbup::thumbup: