[Script] CreditsHeader - Zusammenfassung des Tages

  • Hallo Zusammen,


    ich persönlich bin ja jemand, der gefühlt 1000x am Tag in die Credits --> Übersicht reinguckt.


    Das sind allerdings jedes Mal klicks.. Also wieso nicht direkt in der "Hauptmaske" anzeigen?



    Mit diesem Script wird in der Navigationsleiste entsprechend die Tagesübersicht der Credits angezeigt.


    Schwarzer Pfeil: Komplette Bilanz (Einkommen+Ausgaben)

    Grüner Pfeil: Einkommen

    Roter Pfeil: Ausgaben


    Wenn Credits verdient werden, werden entsprechend auch die Werte aktualisiert.


    CreditsHeader


    Zum installieren des Scripts braucht ihr Tampermonkey



    P.S. Wer schönere Pfeile/Symbole hat, kann sie mir gerne schicken. Ich bin kein Grafik-Profi :D


    Viel Spaß damit

    itsDreyter

  • Geil, endlich hat die Übersichtssucht ein Ende. :thumbup::thumbup:

  • Schicki - merci dafür!

    -->> Realbauer sind die Veganer des LSS <<--


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    "Der PC ist nur so dumm, wie der, der davor sitzt"
    Zitat von unbekannt

  • Super Sache danke :thumbup::saint:

    Liebe Grüße

    :evil: aus Niederbayernl

    Spielername: DJGrisu112

    System: WIN10

    Browser: Firefox aktuelle Version

    ID: 237708

    Telekom-Leitung mit 175MB


    "Gott zur Ehr - Dem Nächsten zur Wehr":saint:

    Wenn ich einzelne Wörter fett und in Großbuchstaben schreibe ist das kein Schreien sondern eine Hervorhebung:!:

    Ich wünsch mir den DISLIKE-Button wieder :!:

  • Gutes script kleine verbesserungswunsch bei 100 geht es noch 1000 geht auch noch ohne . trennnung jedoch je größer die zahl desto schwieriger wird es würde z.b bei

    5623900 entsprechend wünscshen 5 .623.900

  • Eventuell etwas viele AJAX Anfragen. Jedesmal, wenn man ein Missionsfenster öffnet, wird:

    Code
    $(function(){
    // ...
    tellParent('creditsUpdate(431028928);');

    ausgeführt, und in creditsUpdate hast du deine Serveranfrage eingehakt.

    Auch wenn ein immer aktueller "live" Wert natürlich schön ist, mir würde es bspw. reichen wenn die Daten nur alle 5 Minuten aktualisiert würden.

    Aber wenigstens ein kurzes "cachen" und somit verhindern, dass alle paar Sekunden nachgefracht wird, wäre schön.

    Stellt man sich mal vor, jemand lässt 100 Einsätze "auflaufen" und arbeitet die dann nacheinander ab, mit AAO jeweils ein Klick -> nächster Einsatz, würde die Tagesbilanz alle paar Sekunden abgefragt, 100x hintereinander.


    Eventuell könnte es auch besser sein, die Übersicht abzufragen:

    https://www.leitstellenspiel.de/credits/overview

    und die 3 Werte aus der letzten Zeile zu benutzen, aber da müsste sich Sebastian zu äußern was besser für den Server ist.

  • aber da müsste sich Sebastian zu äußern was besser für den Server ist.

    Das beste wäre wahrscheinlich ein Einbauen in die API :S

  • Folgende kleine Änderung sollte die Anfragen schonmal deutlich reduzieren, da nur noch die Tagesbilanz geladen wird, wenn sich tatsächlich auch was an den Credits geändert hat. Rein theoretisch könnte natürlich was unter den Tisch fallen, wenn man seit der letzten Änderung exakt soviel eingenommen wie ausgegeben hat, aber selbst in diesem eher unwahrscheinlichen Fall wird das bei der nächsten Änderung wieder mit einbezogen.

  • Folgende kleine Änderung sollte die Anfragen schonmal deutlich reduzieren, da nur noch die Tagesbilanz geladen wird, wenn sich tatsächlich auch was an den Credits geändert hat. Rein theoretisch könnte natürlich was unter den Tisch fallen, wenn man seit der letzten Änderung exakt soviel eingenommen wie ausgegeben hat, aber selbst in diesem eher unwahrscheinlichen Fall wird das bei der nächsten Änderung wieder mit einbezogen.

    Korrigier mich wenn ich falsch liege, aber die „lastcredits“ werden doch nicht gecashed und sind somit immer auf 0?

  • Nur direkt nach der Ausführung sind sie 0, ansonsten eine ganz normale JS-Variable mit der Lebensdauer des Userscriptes, also solange, bis leitstellenspiel.de neugeladen wird.

  • Ich würde dir empfehlen, beim Ajax Request im URL-Teil die Domain wegzulassen, dann nutzt er die aktuelle Domain.
    Vorteil: Es läuft auch im MissionChief und, wahrscheinlich, auch in der hölländischen Version.
    Musst halt nur noch entsprechendes include setzen.

    Ansonsten schönes Skript.

  • Der Link aus dem Startpost zum Script funktioniert auch nicht mehr. Man landet auf einer 404-Seite.


    Aber ich hab es Gefixt bekommen. Der Username bei GitHub hat sich geändert.


    Man muss in den Zeilen 165 - 167 ".../itsexecution/..." gegen ".../SkyDiscovery/..." austauschen.


    Code: Quellcode-Alt
    if (type == "in") img.setAttribute("src", "https://github.com/itsexecution/LSS_CreditsHeader/blob/master/arrow_positive.png?raw=true");
    if (type == "out") img.setAttribute("src", "https://github.com/itsexecution/LSS_CreditsHeader/blob/master/arrow_negative.png?raw=true");
    if (type == "sum") img.setAttribute("src", "https://github.com/itsexecution/LSS_CreditsHeader/blob/master/arrow_sum.png?raw=true");
    Code: Quellcode-Neu
    if (type == "in") img.setAttribute("src", "https://github.com/SkyDiscovery/LSS_CreditsHeader/blob/master/arrow_positive.png?raw=true");
    if (type == "out") img.setAttribute("src", "https://github.com/SkyDiscovery/LSS_CreditsHeader/blob/master/arrow_negative.png?raw=true");
    if (type == "sum") img.setAttribute("src", "https://github.com/SkyDiscovery/LSS_CreditsHeader/blob/master/arrow_sum.png?raw=true");
  • Man kann auch auf die Bilder verzichten, und ein entsprechn eingefärbtes Unicode Zeichen verwenden, jedenfalls im Firefox unter Windows 10 (dürfte maßgeblich von den installierten Schriftarten abhängen):

    JavaScript
    // create image
    var img = document.createElement('span');
    if (type == "in") { img.innerHTML = "? "; img.setAttribute("style", "color: green;font-size: 120%;-webkit-text-stroke: 1px black;");}
    if (type == "out") { img.innerHTML = "? "; img.setAttribute("style", "color: darkred;font-size: 120%;-webkit-text-stroke: 1px black;");}
    if (type == "sum") { img.innerHTML = "? "; img.setAttribute("style", "color: black;font-size: 120%;-webkit-text-stroke: 1px black;");}


    Zusätzlich mit der Optimierung, bei keiner Credits Änderung sich den Request zu sparen: