• Hallo Dschibait,


    das neue Galaxieansicht-JSON ist relativ unvollständig


    Hier besonders störend der fehlende Wert bei type (erwartet 'galaxy-overview').


    Auch die user Information ist weitgehend leer (tatsächlich gesetzte Werte durch xxxx ersetzt)


    ranking ist nunmehr eine nichtssagende Zahl (der Key?) anstelle der tatsächlichen Information.



    Wenn du schon dabei bist, kannst du bitte auch mal über das Design drüberschauen:


    Erst int und dann String? Wer soll das parsen? Ich weiß zwar nicht, was p ist und benutze es auch nicht, aber unschön ist das schon. Anderswo haben wir wenigstens


    Da es beim Trümmerfeld aber immer int ist, warum nicht gleich

    Code
    "rubblefield": {
            "iron": 0,
            "metal": 0,
            "kryptonite": 0,
            "spice": 0,
            "mkLinVirt": {
              "mkLinVirt": null
            }
          },


    ?
    Gleiches für die booleans

    Code
    "isEventPlanet": true,
          "hasAstro": true,
    
    
    vs.
          "isEventPlanet": null,
          "hasAstro": null,


    Früher

    Code
    "isEventPlanet": false,
                "hasAstro": false


    Browser ist Firefox 68.3.0esr.


    Viele Grüße
    Eagle

    • Official Post

    Hi,


    da war was im JSON Aufbau Script / Parser falsch.


    Sieht jetzt so aus:


    Da sind einige Parts hinzugekommen die für den neuen Galaxyaufbau nötig sind.
    "p" ist die Position des Planetens auf der Galaxykarte. Theoretisch könntest du davon auch (per Pythagoras) die Distanz zwischen 2 Planeten im selben System und somit der Flugdauer ausrechnen.



    Neu ist auch:
    Image: (String => URL oder ID für Skin)
    ring: 1 = ja, 0 = nein
    Size: die größe des Planetens
    color: ist die Farbe (gelb für inaktiv, rot, blau etc)
    moon: die Mond-ID für das entsprechende Astro-Skin Bild




    Kann sein das du einmal STRG+F5 (neuladen) machen musst.


    Grüße
    Dschibait

  • Danke, scheint alles wieder da zu sein .
    Bei 'ranking' steht nur noch ein Wert (könnte die Gesamtpunktzahl sein)

    Code
    "ranking": 572767113,


    Ist das Absicht? Das sah früher so aus


    TF sieht so aus

    Code
    "rubblefield": {
            "0": 0,
            "1": 0,
            "2": 0,
            "3": 0
          },


    Das ist OK, aber du könntest hier auch mit symbolischen Namen (iron, spice, usw.) arbeiten, jetzt wo es keine Liste mehr ist.


    Vielen Dank für die Änderungen, damit sollte der Parser wieder klar kommen. (Wenn nicht, schreie ich noch mal ;)).


    Viele Grüße
    Eagle

    • Official Post

    Wir zeigen nirgends die Punktzahl von "nicht Total Punkten" an.
    Das Problem an der letzten Umstellung (denke als Programmierer wirst du da schnell zustimmen) ist, dass viel durch JSON (was ja auch im hintergrund nur "abgefragt" wird, ausgelesen werden kann.
    Um das automatische Machinelle auslesen etwas zu erschweren, will ich die genauen Punktezahlen hier nicht angeben.


    Wir haben eine API für Rankingabfragen, wo sich aller 6 Stunden nur die Werte aktualisieren. Da wäre es doch sehr kontraproduktiv die Progger für "genauere Zahlen" in die Galaxykarte zu locken und zu animieren sich hier was "zu basteln" :) oder?


    Ich hab bei meinem Parser derzeit noch das Problem das er denkt, dass dieses Rubblefield Array (was ist auch eigentlich ist) ein Objekt sei. (unterschied ist "{" oder "[")
    Schlussendlich macht das in der Weeiterverarbeitung keinen großen Unterschied (zumindest in JavaScript und PHP - Java bin ich mir nicht sicher) - Ich werde da nochmal genauer drüberschauen; ziel ist es eigentlich das dies in Json "rubblefield" : [WERT_RE,WERT_MET,WERT_KRYP,WERT_SPICE] ausschaut



    Grüße
    Dschibait

  • retro 3:199 (Planet 6) ist der JSON auch noch kaputt. Ich vermute mal, das dein JSON-Escaper wegen dem Nickname ausgestiegen ist und deswegen das "lang" Feld nichtmehr escaped hat?

    • Official Post

    ist gefixt.


    Aber jetzt mal unter Programmierern.
    Das war nen Escape Zeichen vor einem ' - seit wann kann das JSON \' nicht mehr auflösen?


    Ich nutze den von mir geschriebenen Parser schon sehr lange in SI1/2 und vorallem in Mebula.


    Ich weiss durchaus das es die JSON.parse und stringify Funktionen gibt - aber die haben teilweise sehr komische Umsetzungen, wo aus einer 0 ein Null wird etc.
    Ich nutze den Parser/Stringifier hier nur um das wieder in eine schöne Struktur zu bringen.
    Hätt ich gewusst das dies so ein Krampf wird ^^ hätte ich die Leerzeichen selbst eingebaut.


    Grüße
    Dschibait