Standards und Konventionen für Scripte

  • Liebe Scriptergemeinde, liebe sonstigen interessierten Forennutzer,


    angeregt durch LennardTFD kam die Idee auf, einige Standards und Konventionen für Scripte einzuführen, um die Kompatibilität unterinander zu stärken und zusätzlich die Zahl der API-Anfragen zu reduzieren.


    Ich denke, es ist auf jeden Fall sinnvoll, gewisse Standards zu haben, wenn sich dann alle daran halten, schaffen wir da ein gutes Miteinander :)


    Dazu hier mal eine Auflistung, auf was wir uns im Hintergrund so ein bisschen geeinigt haben, Ergänzungen und Änderungen gerne hier öffentlich diskutieren.




    Und um vielleicht dem ein oder anderen ein bisschen was zu vereinfachen, hab ich mal ein Repo mit Type-Definitonen angelegt: https://github.com/LSS-Manager/Type-Definitions


    So, wenn ich hier jetzt irgendwas vergessen hab oder es Wünsche auf Änderungen und Erweiterungen gibt, gerne hier rein schreiben.


    Grüße

    Jan :)

  • Ich habe nun ein Projekt angelegt, um die Type-Definitionen schöner zu haben: https://github.com/LSS-Manager/Type-Definitions

    Gerne mittels Issues usw. erweitern, auch wenn es darum geht, z.B. Speilinterne Funktionen einfach etwas zu visualisieren, z.B. was bei missionMarkerAdd übergeben wird ;)


    Grüße

    Jan :)

  • Die Speicherung sollte jetzt auch die user_id berücksichtigen, um keine Probleme zu verursachen, wenn verschiedene Nutzer innerhalb eines kürzeren Zeitraums den Browser nutzen.

  • Ich mach mir mal die Mühe und stelle hier mal alle gängigen API-Abfragen, inklusive der Speichernutzung, wie wir sie festgelegt haben, rein.
    Wichtig, die function, in der ihr abfragt, muss async sein.


    Soweit die vom Spiel gestellten.

    Der LSSM stellt auch noch folgende API:


    JavaScript: aVehicleTypes
    //vehicle types
    if(!localStorage.aVehicleTypes || JSON.parse(localStorage.aVehicleTypes).lastUpdate < (new Date().getTime() - 5 * 1000 * 60)) {
    await $.getJSON('https://lss-manager.de/api/cars.php?lang='+I18n.locale).done(data => localStorage.setItem('aVehicleTypes', JSON.stringify({lastUpdate: new Date().getTime(), value: data})) );
    }
    var aVehicleTypes = JSON.parse(localStorage.aVehicleTypes).value;


    Sollte etwas fehlerhaft sein, oder ich etwas vergessen haben, bitte einmal Bescheid sagen.

    Gruß

    Traxx

    2 Mal editiert, zuletzt von DrTraxx ()

  • Wenn jetzt noch die letzten API Abfragen (alliance, allianceBuildings, missions & VehicleTypes) immer sessionStorage stehen haben :)
    Da bist du ein Bisschen durcheinander gekommen

  • Wenn jetzt noch die letzten API Abfragen (alliance, allianceBuildings, missions & VehicleTypes) immer sessionStorage stehen haben :)
    Da bist du ein Bisschen durcheinander gekommen

    Nein, eben nicht. Darauf haben wir uns heute geeinigt.
    Siehe PN-Verlauf im Scriptstübchen