Beiträge von Allure149

    Ihr Lieben,


    eines kann ich euch garantieren: jeder einzelne Beitrag, nach meinem, wird gelöscht werden. Dieses Mal aber zurecht. Hier geht es um Skripte, nicht darum sich abermals über XY auszukotzen. Wobei ich den Grund nur zu gut verstehe.


    Bitte macht das im OT-Bereich und betet einfach nebenbei, dass es da nicht gelöscht wird. Rein sachlich passt es da jedenfalls besser rein als hier.

    Ich hoffe DJTraxx weiß von diesem Account. Ansonsten könnte so eine Nickwahl + Action auch schnell man nach hinten los gehen.

    Ganz sicher nicht, auf solche Spielereien lässt er sich nicht ein.


    Nach Rücksprache mit DrTraxx distanziert er sich ganz klar von sämtlichen Texten und Aktionen von DrTraxx-Supporter !

    Liebe Community,


    mit Wirkung zum 01.03.2023 werde ich den Support und die Weiterentwicklung sämtlicher Scripte von mir einstellen. Auch werden alle Scripte von Github entfernt. Die Nutzung des derzeitigen Standes wird dabei nicht beeinträchtigt.


    Der Umgang mit DrTraxx seitens des Betreibers und nun auch der Moderation (die kommentarlose Schließung aller seiner Script-Support-Threads bis hin zu öffentlichen Hinweisen auf die Sperrung) ist weit weg von dem was ich mir als professionell, sachlich und menschlich angebracht verspreche. Dieses Verhalten werde ich mit meinen Mitteln nicht (mehr) unterstützen.


    Vielen Dank euch allen für die Unterstützung und Nutzung meiner Scripte in den vergangenen 5 Jahren.


    Alles Gute für euch und beste Grüße

    Allure149

    Angenommen du hast gerade den Einsatz "Dammbruch" erhalten und möchtest dafür eine neue AAO anlegen, hast aber nicht genug Fahrzeuge um ihn gerade anzufahren. Das Spiel meldet sich mit dem Fehler "nicht genug Fahrzeuge" und lässt kein erhöhen der Fahrzeuge mehr zu.

    Das würde bedeuten du kannst AAOs nur anlegen wenn du im Augenblick genug Fahrzeuge hast um explizit diesen Einsatz anzufahren.


    Vorstellbar wäre vielleicht sowas hier:

    Ist direkt aus dem AAO-Erstellungsfenster heraus, die Eingabefelder für die einzelnen Fahrzeuge könnten vorbefüllt werden. So müsste man am Ende nur noch kontrollieren und bestätigten.


    Wenn man weiter auf das Einsatzfenster besteht ginge m.E. nur das "kopieren" der kompletten AAO-Erstellungsmaske und das wäre - jedenfalls mir - super nervig es bei jedem Einsatz angezeigt zu bekommen.

    Für gut befunden :thumbup:


    Ich hätte da aber noch einen Wunsch falls du Lust hast:

    Es wäre schön wenn die Gebäude, die Anzahl X an ausgebildetem Personal bereits haben UND dem Wachentyp (BuildingType) für die Ausbildung entsprechen, ausgeblendet werden könnten.


    Beispiel: SEK/MEK wird 42 mal pro BePol benötigt. Wenn die Wache eine BePol ist und exakt 42 Personen mit dieser Ausbildung hat bedeutet es die Wache ist schon mit der Ausbildung fertig. Ich würde im E-Fall quasi das ausgebildete Personal der fertigen Wache auf eine unfertige verschieben => die fertige Wache wäre nicht mehr fertig^^


    Theoretisch funktioniert das momentan auch, aber: wenn ich mir nur die ersten 5/10/25 Wachen anzeigen lasse sind es in jedem Fall komplett fertige Wachen. Heißt ich bin immer gezwungen mir alle anzeigen zu lassen und zu scrollen.


    (alternativ könntest du auch vorgeben lassen welche Gebäudetypen einbezogen werden sollen. Das war jetzt auch nur ein Beispiel für die BePol die auf normalen Pol-Wachen vor-ausgebildet und dann nur noch kostenlos in einem Rutsch verschoben werden können)

    Es gibt ganz sicher noch diverse andere Skripte die dir einige deiner Wünsche erfüllen können. Am besten du schaust dich mal in der Übersicht über die Scripte um.

    Ein Request in einer ungebremsten for-Loop ist natürlich nicht ganz so gut. In jQuery würde ich es mit async/await lösen, in JS müsste ich kurz überlegen ... die einfachste Möglichkeit wäre wohl ein sleep einzubauen.

    Aber die Idee das per Onboard-Mitteln abzufragen ist echt nett! Spannend was alles per URL abgefragt werden kann. :-)


    Sehr schöne Arbeit :thumbup:

    Möglich ist es, nur wie soll das ganze dargestellt werden?


    Nur ein Beispiel aus meinem Verband: "Verbands-Co-Admin, Lehrgangsmeister, Finanzminister, Aufsichtsrat". Das ganze würde ziemlich den Rahmen sprengen.

    Name, Rang, ein Knopf um direkt Nachrichten zu schicken? Oder ohne Ränge?


    Vielleicht möchtet ihr das mal aufschreiben/aufmalen wie genau ihr euch das vorstellt. Dann müssen wir nicht so ins blaue schießen :-)

    BOS-Ernie schau mal:

    Code
    $.post("/buildings/6140894/education", {
    education: 9,
    building_rooms_use: 1,
    duration: 3600,
    cost: 500,
    }, function (cb) {
    const schoolingId = +$("span[id^=education_schooling_]", cb).attr("id").match(/\d+/)[0];
    console.log(schoolingId);
    });

    Hier wird ein FW-Notarzt Lehrgang auf einer meiner FW-Schulen für den Verband geöffnet, mit 1 Stunde Wartezeit und 500 Credits Kosten. Im response wird schoolingId mit der ID des gerade erstellten Lehrgangs gefüllt. Tada! Da hast du deine ID vom gerade geöffneten Lehrgang.


    Grundsätzlich finde ich eure Ideen wirklich sehr nett und durchaus auch umsetzbar, aber - und ich will wirklich nicht Mutter Theresa spielen -:

    kann man das gespeicherte der jeweiligen Schule im storage überschreiben.

    Macht das bitte nicht. Niemals. Pfuscht nicht an der Quelle eurer Daten rum - ihr könnt danach niemals die Korrektheit garantieren und am Ende hantiert ihr mit falschen Datum rum. Oder noch schlimmer: andere Scripte, die auf diese Daten angewiesen sind, könnten völlig verrückt spielen.

    Das

    dürfte andere Scripte nicht beeinflussen

    , wird es aber 100%ig!


    Baut euch ein Object oder was-auch-immer mit euren eigenen Daten, $.merge()d euch alles zusammen und baut euch daraus eine saubere Datenquelle ohne irgendwelche Manipulationen an "der" Quelle. Ihr sägt euch am Ende den Ast ab auf dem ihr sitzt ...


    Kurzum: Danke für dein PR BOS-Ernie, aber ich werde es ablehnen solange Quelldaten bearbeitet werden. Ganz oben steht mein Name und ich bin dafür verantwortlich, dass andere Scripte nur funktionieren "dürften", aber nicht unbedingt werden.

    Vielen Dank für die ausführliche Antwort und Bestätigung. Würde es dich stören, falls ich mich etwas einarbeite und einen Lösungsversuch starte (ohne Garantie)?

    Nur zu. Jeder kann jederzeit via Github am Script schreiben. Ich muss es dann ohnehin mergen.


    Tipp: versuch es mit einem im SessionStorage gespeicherten Object nach HiOrg getrennt. Vielleicht reicht das ja schon.

    Das Problem mit dem Laden des Scripts bei Gebäuden, in denen es nicht laden soll, sollte relativ leicht gelöst sein.
    Setz doch ein return, wenn der building_type nicht dem einer Schule entspricht.

    Hättest du mal ins Script geschaut ;-)


    Code
    var schoolToSearch = +$("h1:first").attr("building_type") || null;
    var accessibleBuildings = [1,3,8,10];
    if((schoolToSearch == null || !accessibleBuildings.includes(schoolToSearch)) && window.location.pathname.indexOf("schoolings").length == -1){
    return false;
    }

    Problem: "schoolToSearch" kann z.B. bei der Bearbeiten-Seite nicht ausgelesen werden. In dem h1-Tag existiert das Attribut "building-type" nicht.


    Es gibt natürlich eine Lösung, aber eben nicht sofort. Muss ich genauer reinschauen.

    Stimmt meine Vermutung oder liegt der Fehler wo anders?

    Jopp, das ist absolut korrekt.

    Ich hatte irgendwann mal versucht das zu beheben, ist aber deutlich aufwändiger als erwartet. Schließlich muss ich mir über den gesamten, gecachten Zeitraum merken welche Schulen (getrennt nach HiOrg) bereits besetzt sind. Nachdem der Cache wieder mit neuen Daten gefüllt wurde (alle 5 Minuten) muss das geleert werden.

    Das ganze kann durch Aushebeln des "5 Minuten Timers" umgangen werden, allerdings stelle ich diese Lösung bewusst nicht zur Verfügung.

    Mein Script greift nicht nur auf die Seiten betreffend Schulungen zu, sondern auf jede Seite die etwas mit einem Gebäude zutun hat. Und das passiert wirklich sehr häufig. Entsprechend häufig würden die APIs neu geladen werden. Und das muss nicht häufiger passieren als wirklich notwendig.


    Diese Funktionalität mit dem 5 Minuten Timer greift im übrigen scriptübergreifend. Entwickler, die dieses Schema nutzen, nehmen gleichzeitig an diesem Timer teil und leisten so ihren Beitrag zum serverschonenderen Betrieb. Bei keinerlei Konsequenzen gegenüber der Funktionalität des Scriptes.


    Zugegeben, aktuell ist dieses Problem sehr, sehr ärgerlich. Mich nervt es zwischendurch auch ganz schön. Jedoch lässt es meine Zeit momentan kaum zu größere Arbeiten an Scripten zu tätigen. Wenn sich also ein anderer Entwickler dessen annehmen möchte: nur zu.

    Die Probleme mit der Häufigkeit des Aufrufs des Scriptes (es aufzurufen wenn man eine Wache "betritt" ist völliger Quatsch) und, dass es teilweise die "Absenden"-Buttons mancher Seiten überlagert (ruft mal mit aktiviertem Script eine Wache auf und versucht dessen Namen zu bearbeiten, dann wisst ihr was ich meine), gibt es ja auch noch. Viel zutun für derzeit zu wenig Zeit.


    Ich hoffe das erklärt die derzeit ausblenden Lösungen für dieses und so manche, andere Scripte.

    Allure149

    Danke für das Update. Jedoch wird bei mir die Geschwindigkeitssteuerung direkt neben der Einsatz-Selektierung angezeigt. Kannst du mir sagen, wo ich was

    ändern/einfügen muss, damit es wieder in die Reihe darunter Rutscht?


    Edit: Ich benutze den Browser "Brave" (ist auf Chrom basierend)

    Versuch mal die Option "group_buttons" auf "false" zu setzen. Sollte das nicht klappen muss ich mir nochmal was einfallen lassen.

    Nu ist es fertig und als v3.0.0 unter dem bekannten Link verfügbar.


    Um den ständigen Problemen mit den Bezeichnungen aus dem Weg zu gehen könnt ihr jetzt dynamisch die Zeiten anpassen. Vielleicht kommen ja noch weitere Zeiten dazu, wer weiß? Das könnt ihr ab Zeile 50 und darunter machen.


    Da ich mal wieder Bock hatte ein wenig multilingual unterwegs zu sein funktioniert das Script jetzt auch für Englisch für alle bisher englischsprachigen Seiten. Solltet ihr weder Deutsch, noch Englisch, spielen könnt ihr euch das selbstständig ermöglichen. Dazu unter Zeile 13 die von euch genutzte Seite hinzufügen (Muster sollte klar sein) und unter Zeile 70 eure Sprache einfügen. Ggfs. müsst ihr noch die Zeiten für eure Spielwelt anpassen. Die deutschen Wörter ab Zeile 50 könnt ihr ebenfalls auf eure Sprache umbauen. Sie werden nirgends genutzt und dienen nur der Orientierung.


    Ob die Buttons getrennt oder als Gruppe kombiniert werden sollen könnt ihr in Zeile 32 entscheiden.


    Ich weiß, ist unter Umständen viel Gefummel im Code. Aber ich war für die kleine Spielerei zu faul und zu geizig eine eigene GUI zu bauen. Seht es mir nach.


    Fragen? Probleme? Immer her damit!

    Ich war schon dabei das Script komplett neu, in vernünftig und hübsch, zu schreiben als mir doch tatsächlich in diesem Moment der Computer hopps gegangen ist. Am Freitag, den 13.! Vonwegen Aberglaube ...

    DrTraxx hat mir mit einer neuen Grafikkarte ausgeholfen und nun bin ich wieder am Start.


    Bastelt besser nicht weiter daran rum. Das sieht ja teilweise echt abgefahren aus hier ... :-)

    Wie gesagt: bin dran.

    BayHH ich hab mit der Version v2.1.4 eine Korrektur eingebaut. Die Bezeichnungen müssten jetzt passen. Magst du einmal drüber schauen?


    Für mich nur eine kleine Übersicht:

    BezeichnungWertIDZeit
    Realistisch0mspl3 Minuten
    Normal1msf1 Minute
    Schnell2msff30 Sekunden
    Turbo3msvf20 Sekunden
    Langsam4msb5 Minuten
    Extra langsam
    5msfb10 Minuten
    Pause6mspa-
    Semi-Realistisch7msf2 Minuten
    Langsamer8mssb7 Minuten


    Was diesen Code-Block angeht:

    Was ihr da versucht ist ein Attribut von seinem Tag abzuspalten. Das funktioniert so nicht.

    Code
    Tag:
    <div></div>
    Attribut:
    class="btn-group"
    Zusammen:
    <div class="btn-group"></div>

    Attribute können niemals alleine stehen, sie sind nur quasi eine Ergänzung zum Tag. Nicht umgekehrt und auch nicht separat.

    • Tauchkraftwagen gw_taucher
    • FLF arff
    • Rettungstreppe rettungstreppe
    • MTW-OV thw_rescue_dogs
    • Polizeimotorrad
    • Zivilstreifenwagen criminal_investigation

    Nur Mopeds hab ich leider keine. Die kann aber sicher noch jemand anderes liefern.


    Ach schade, hat jemand die Idee für so ein Skript vor mir veröffentlicht. Zwar hab ich es schon ein paar Monate am laufen, aber die Kleinigkeiten nie bereinigt. Jeder unserer Entwickler wirds kennen^^ gut gemacht BOS-Ernie