• Hi Spaceinvasion Team,


    Ich arbeite bei meine SI-Fanprojekt an einem Allianzranking. und da ist mir bei der Ausgabe der API folgendes aufgefallen ( der Übersicht halber habe ich die meisten Felder entfernt ) :


    [9] => Arrray (
    [allianceID] => 39
    [placement] => Array (
    [placeTotal] => 10
    )
    )


    [10] => Array (
    [allianceID] => 3534
    [placement] => Array (
    [placeTotal] => 12
    )
    )


    [11] => Array (
    [allianceID] => 3606
    [placement] => Array (
    [placeTotal] => 15
    )
    )



    Ich hoffe ihr könnt das problem nachvollziehen und beheben.
    Gruss der Garfield


    P.S. Ich habe die DevLounge in diessen Forum noch nicht gefunden :P

    • Official Post

    Hi,


    Ist das Si1 oder 2?
    kannst du mir einmal einen "Request" zu Verfügung stellen?


    Wenn du die "category" (also in deinem fall total) nicht angibst ist der default achievement.
    Ich hab das gerade noch nicht ausprobiert, müsste mir dafür erstmal wieder meine Daten zusammenkramen, gibts die anderen Plätze denn (also ist das nur nicht richtig sortiert) oder wurden da welche übersprungen?


    Eigentlich sind das die selben Daten wie aus dem Spiel.


    Grüße
    Dschibait

  • Also die die Allianzen werden richtig sortiert nur die Plätze sind halt teilweise falsch uind habe es bisher nur mit SI 1 und dem DE 1 uni getestet.
    Ich muss noch dazusagen das keine Alli den platz 11 oder 13 und 14 hat das führt sich so weiter.


    Code
    $instance = $uni;        
            $modus = '2';       
            $category = '1';        
            $servip = 'xxx';        
            $partnerclass = 9;        
            $secureKey = "xxx";        
            $token = md5('json'.$servip.$partnerclass.$secureKey);        
            $string = file_get_contents('http://api.spaceinvasion.info/api/ranking.php?output=json&instance='.$instance.'&modus='.$modus.'&category='.$category.'&partner='.$partnerclass.'&token='.$token);        
            file_put_contents('cache/alli.'.$uni.'.cache' , $string);

    so sieht das ganze bei mir im quellcode aus
    ich speichere den json string in einer Datei zwischen bevor ich ihn zu weiteren verarbeitung decodiere.


    ich kann die aber auch ein Link geben bei dem du das gesamte Array seheen kannst

  • ich habe jetzt einen cronjob angelegt der die daten alle 6 stunden aktuallisiert also immer 2 minuten nach 0 6 12 und 18 uhr


    habe die anderen unis mal überflogen es sieht so aus das es nur die SI1 unis betrifft bei SI2 scheint alles korrekt zu sein

    • Official Post

    Hi,


    da gabs ein Problem im Ranking Cron für die Allianzen.
    Die alten "aufgelösten" Allianzen wurden dort noch weiter mitverwendet.
    Diese Einträge habe ich jetzt korrekt gelöscht und fürs DE einmal neu rauskalkuliert. Deswegen schaut im DE Uni auch derzeit das Allianz-Ranking etwas strange aus. (viele +Platzierungen)


    Für die anderen Unis wird dies mit der nächsten Aktualisierung durchgeführt.
    Du erhälst die korrekten Daten dann mit der nächsten API Aktualisierung um 18Uhr.


    Grüße
    Dschibait

    • Official Post

    Ich wurde gerade daran erinnert nochmal;
    Der Ranking Cron wird bis zu 5Minuten verzögert gestartet. Heißt wenn du das um 5min nach den Intervals-Zeiten machst, kann es sein das du noch die daten von der Vorstunde bekommst.
    Das trifft aber für alle zu die diese API calln, da die Daten nur bis zum IntervallZeitpunkt gültig sind, ich werde einmal schauen müssen das ich die mit der aktualisierung in der API dann auch updaten lasse,
    Du / Alle wären ehr daran gut wenn sie es ca. 7-8min nach dem Intervall Zeitpunkt abrufen.


    Grüße
    Dschibait