Daten aus dem Flusi auslesen

  • Welchen Pfad meinst Du? Etwa den zu dem Java?


    Gehst Du unter Einstellungen suchst nach Installed JRE und fügst dort das 32 bit Java hinzu und entfernst das 64 bit. Das 32 bit sollte dann auch Default sein.


    Bin grad mobil unterwegs und daher in meinen Möglichkeiten etwas eingeschränkt, daher kann ich leider mit Lars super Anleitung nicht konkurieren. :) Kannst aber im Zweifelsfall auch mal Google befragen mit den Stichworten: eclipse Installed JRE add oder change oder so. Einfach mal suchen.


    Gruß
    Michael

    Airbus A318 / A319 / A320 / A321 -> Macht Laune :love:
    PMDG 737 NGX -> Man muss noch viel lernen. 8)
    PMDG 747 - 400 Queen of the Skies -> Die nächste Baustelle
    PMDG 777 - 200 LR/F -> Die bessere Queen
    Majestic Dash8-Q400


    Düsseldorf Airport - Tom Ruth
    Mega Airport Frankfurt X - mit neuer Landebahn NW


    Open VFR
    ...

  • Danke für die umständliche Hilfe von euch.
    Habe die Version geändert (auf 32-Bit), habe es nun
    auch hingekriegt den richtigen Pfad anzugeben (wollte der nicht übernehmen).
    Nun läuft alles mit der Fehlermeldung "Kein Flugsimulator mit FSUIPC gefunden",
    ich glaube das war es, ich teste es mal im Flugsimulator. :P - Danke

  • Danke funktioniert,
    wie lautet denn der Code wenn ich Höhe, Geschwindigkeit, Windstärke und Windrichtung und Zeit abfragen möchte.
    Ich versuche den Code nun zu verstehen. Wenn ihr mir ein Beispiel geben würdet für die oben genannten Punkte,
    dann würde ich es glaube ich verstehen. - Ihr seid eine super Hilfe. :thumbup:

  • Hallo,


    in dem Screenshot von Schritt 7 siehst du eine Datei "FSUIPC Offsets Status.pdf", das ist eine Liste mit den ganzen Werten, die man auslesen kann. Dann musst du gucken, welche Größe/Länge in Bytes der Wert hat. Das steht in der zweiten Spalte. Es muss die passende Methode von dem FSUIPC Objekt aufgerufen werden, sonst kommt nur Mist heraus. Das Problem dabei ist, dass der FS nur Bytes rausgibt und die von FSUIPC in primitive Datentypen konvertiert werden müssen.


    Länge -> Methode
    1 -> getByte(int offset)
    2 -> getShort(int offset)
    4 -> getInt(int offset)
    8 -> getLong(int offset)


    Bei Kommazahlen wird es explizit dazu geschrieben, dass es eine Kommazahl ist (floating point). Hier gilt:


    4 -> getFloat(int offset)
    8 -> getDouble(int offset)


    Bei Strings muss man die Länge selbst angeben. Hier empfiehlt es sich, 256 anzugeben und den Wert anschließend mit einer Stringmethode zu "trimmen":


    getString(int offset, 256).trim()


    Die Offsets sind hexadezimal angegeben. Das heißt, dass du in jedem Fall ein 0x davor schreiben musst, damit du das Offset so eintragen kannst. Bei der Windgeschwindigkeit (beim Flugzeug) sieht das dann z.B. so aus:


    Code
    FSUIPC fs = new FSUIPC();
    int windSpeed = (int) fs.getShort(0x0E90);
  • Das ist das Offset für die Windgeschwindigkeit am Boden. Das Offset 0E90 ist für die Windgeschwindigkeit direkt beim Flugzeug, der gleiche Wert, der auch angezeigt wird, wenn man Strg + Z drückt.

  • Ich kenne mich damit jetzt nicht so gut aus, aber gibt es für solche außergewöhnlichen Sachen überhaupt Codes? :D
    Wenn ja, dann habe ich nichts gesagt ^^


    Nico

  • Ach, so geht das bei Homecockpits. Ich habe mich schon immer gefragt, wie die das machen. :P
    Nadann...gibts dafür dann nicht irgendwo im "Neuland" Listen von PMDG dazu?


    Ich meine, sowas muss es doch geben, oder? ^^


    Gruß Nico

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!