UFLT - Unofficial Fastest LapTimes

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ne Hyeson, ich will da nicht allzuviel @filth vorgreifen, da ich ja seinen Quellcode nicht kenne, aber ich denke er nutzt die "lastLaptime" variable und laedt die Zeit hoch sobald sich diese aendert. Wenn du im Training per Monitor die Leute durchschaltest, dann sieht das Programm die letzte gezeitete und wertet die jedes Mal, da sie sich ja aendert wenn ein anderer Fahrer gewaehlt wird. Auch das mit den ungueltigen wird damit nicht uebertragen. Die Ungueltigkeit wird in der jeweiligen Runde ausgegeben, die LastLaptime aber erst in der naechsten.

      @filth falls du Lust hast kann man da mal gemeinsam drueber schauen und Sachen testen. Also Ungueltigkeit der Runde hab ich ja oben schon geschrieben, das mit dem Monitor sollte auch gehen. Gibt glaub keine Variable direkt dafuer, aber nicht alle Infos werden beim Monitor gezeigt. Also z.B. sowas wie "unfilteredThrottle" abfragen und nur die Rundenzeit betrachten wenn das nicht 0 ist.
    • Danke fürs Feedback!

      @hio91
      Klar, wir können da gerne zusammen schauen.
      Ja, ich nutze die lastLaptime. UnfilteredThrottle wird vermutlich Abhilfe schaffen :)

      Update 0.8:
      - Übertragung FuelLevel
      - Ungültige Runden aus PCARS2 werden nicht übertragen.


      @Hyeson
      Eigentlich sollen nur die eigenen Runden übertragen werden. Ich schaue mir das an.
      Du meinst vermutlich also diese aufgezeichneten Runden von Clicko und GuilleRP?

      010102.de:777/track/347
    • @filth
      Richtig. Die wurden mitgeschnitten und gehören nicht zu uns..haben also vermutlich das Tool nicht :P .

      Das erklärt die doppelt gezählten, gleichen Zeiten teilweise... wenn das Tool jedesmal die letzte Rundenzeit schneidet wenn man bei jemandem in Cockpit steigt.
    • Das Ding wird besser und besser...

      Ich glaube, wenn du Sektorzeiten mit uebertraegst (als Idee in deinem ersten Post), dann hast du da weniger Probleme mit den Runden die mehrfach gepostet werden. Nach deinem Update wurden gestern bei mir noch ein paar Runden mehrfach auf Long-Beach gepostet und auch unter einem neuen User mit selbem Namen... Alles fast gleichzeitig bzw. kurz nacheinander, aber vermutlich nicht von meinem Client sondern von Stefan oder Armin die auch in der Lobby waren da das Benzin anders ist. Eventuell kannst du da sehen was passiert ist. Die Runden waren zum einen absolute Bestzeiten und die andere glaube ich zumindest noch eine Sektorbestzeit, aber ohne Garantie. Eventuelll kommt da was in die Quere, je nachdem was du dafuer nutzt.

      Eine Idee fuer die Seite waere noch das Sortieren der Runden nach unterschiedlichen Spalten moeglich zu machen. Also z.B. nach dem Datum, damit man da den Verlauf sieht. Es waere auch klasse, wenn es fuer eine Strecke eine Seite mit allen Runden aller Fahrer geben wuerde. Vlt noch ne Liste nach Fahrzeug wenn man in der ersten Uebersicht dann auf das Fahrzeug statt dem Fahrer klickt. Ein Zuruckbutton zum Track wenn man auf dem Fahrer war wuerde auch noch helfen.
      Sorry fuer die ganzen Sachen, aber ich finde dein Projekt einfach klasse!

      Welche Art von Daten nimmst du eigentlich? Also UDP oder Shared Memory? Mit UDP (bietet alles was du bisher nutzt) kann man das ja sogar auf den Konsolen nutzen (also eben auf dem Laptop oder so starten). Eventuell ist @Eruvadhor da ja interessiert dran um automatische Live-Updates fuer seine Time-Attack zu haben. Ob das ein Zeitfahren ist sollte in der SessionState-Variable enthalten sein.
    • Danke für den Lob. Und du brauchst dich nicht für Vorschläge oder Ideen zu entschuldigen - ich finde den Input gut und wichtig. Nur so kann das Tool wirklich gut werden.


      Die doppelten Rundenzeiten habe ich versucht serverseitig zu lösen, scheint noch nicht so richtig gut geklappt zu haben. (oder die Runden kamen noch vor dem Serverupdate rein, ich teste es gleich nochmal)
      Die Lösung mit dem Throttle, die Du vorgeschlagen hast, steht noch aus.

      Ich nutze SharedMemory. UDP ist in PCARS2 völlig verbuggt und RaceRoom bietet nur SharedMemory, war insofern einfacher umzusetzen.

      - An die Sortierung habe ich auch schon gedacht.

      Liste aller Rundenzeiten aller Fahrer pro Strecke:
      Sollen hier wirklich *alle* Zeiten dann gelistet werden? Die Liste könnte ziemlich lang und unübersichtlich werden - stell dir vor, dass ein Fahrer 80 Runden irgendwo dreht
    • Ah ok, das erklaert das dann mit den doppelten Rundenzeiten. Ist vermutlich schwer Serverseitig (verlaesslich) zu machen. Throttle war nur mein Beispiel, da man die ja meist gedrueckt hat wenn man ueber die Start-/Ziellinie kommt. Oder zumindest irgendwann danach noch gedrueckt haelt. Du musst das dann uebrigens direkt vor quais alles als if-Abfrage legen, damit das auch nicht als neue Rundenzeit im Cache gespeichert wird, sonst denkt das Programm, dass es sich geaendert hat, sobald man wieder aus der Box faehrt und postet die alte Rundenzeit nochmal.

      Stell dir vor, genau das mit 80 habe ich gemacht ;) Faend ich ne gute Addition, aber musst du nicht machen. Das macht eben auch Sachen wie den Export der Runden in Excel z.B. einfacher. Oder bei Sortierung nach Benzin sieht man dann schneller wie wer so unterwegs ist und solche Sachen. Ich mag viele Daten auf einmal, aber da ist denke ich jeder anders. War aber eh nur als Zusatzdatenblatt zu den Fahrern wie bisher gedacht.
    • Heute dann auch mal installiert. Mega….

      Nach einigen Runden mein Vorschlag die Out- und Inlap herauszunehmen. Weiter die dann entstehenden einzelnen Rundenpakete nicht mit einer Linie miteinander zu verbinden. Das ist etwas verwirrend und stellt die Trainingssituation sowie den Trainingsfortschritt unkorrekt dar.
      Technik: Intel i5-8400 CPU, 2.81 GHz, 64 Bit, 32 GB RAM, ASUS ROG-STRIX GTX 1070TI, 8 GB RAM
      Triple Monitor 5760*1080 + 3 Monitore á 1680*1050
      Festplatten + SSD insgesamt 5TB, Lenkrad Thrustmaster Ferrari F-430 (noch) mit Pedalen
      Software: WIN 10, Project Cars 2, RS-Dash, Crew Chief, Unofficial Lap Times (ULFT)
      Auf einem Notebook mit 2. Monitor läuft PC2Tuner

      Fahre aktuell:
      [PC] Rookie Cup 2019/2 - Anmeldungen & Allgemeines

      GTR - 19 - Nur Anmeldungen!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ufonil ()

    • Danke! Das freut mich, dass es gefällt.

      Outlap / Inlap zu erfassen ist etwas tricky, da es vom Spiel nicht mitgeteilt wird.
      Man könnte höchstens sowas machen, dass die Runden, die über 107% deiner sonstigen Durchschnittszeit liegen nicht erfasst werden, aber könnte auch verwirren.

      Was meinst du mit den Linien bzw. Rundenpaketen? Wie würdest Du dir das wünschen?
      Ich hatte überlegt entweder eine Zoomfunktion in den Graphen zu legen oder die Runden nicht auf eine Zeitskala zu legen sondern nur zu zählen, dann wären die Abstände zwischen den Rundenpaketen gleich und es gäbe diese "Knubbel" nicht
    • Ich mache mal ein Bild so wie ich das meine....


      Diese einzelnen Traininsessions habe ich an einem Tag gemacht.


      Eventuell ist es so übersichtlicher ?

      Deine Idee alle Runden über 107% rauszunehmen und eine Zoomfunktion klingt gut.
      Technik: Intel i5-8400 CPU, 2.81 GHz, 64 Bit, 32 GB RAM, ASUS ROG-STRIX GTX 1070TI, 8 GB RAM
      Triple Monitor 5760*1080 + 3 Monitore á 1680*1050
      Festplatten + SSD insgesamt 5TB, Lenkrad Thrustmaster Ferrari F-430 (noch) mit Pedalen
      Software: WIN 10, Project Cars 2, RS-Dash, Crew Chief, Unofficial Lap Times (ULFT)
      Auf einem Notebook mit 2. Monitor läuft PC2Tuner

      Fahre aktuell:
      [PC] Rookie Cup 2019/2 - Anmeldungen & Allgemeines

      GTR - 19 - Nur Anmeldungen!
    • Ich hab jetzt nach 10 Minuten $suchmaschinen die Suche nach ner API Referenz erst mal aufgegeben und kann jetzt leider nur mutmaßen.

      Vielleicht hilft das hier weiter:



      Ich kenne die Struktur vom UFLT-Client nicht, aber so oder so ähnlich würde ich das wohl machen.
      Mein letztes Flussdiagramm ist 10 Jahre her und ich weiß nicht wie man OOP darin abbbildet (wenn man das überhaupt macht, ich habs jetzt mal versucht)
      deshalb hoffe ich, dass das hier trotzdem verständlich genug ist und nicht mehr aufhält, als es hilft.

      @filth Planst du den Quellcode zu veröffentlichen?
    • Der pitlimiter war nur ein Beispiel, dass der nicht unbedingt benutzt werden muss, war mir auch schon klar.
      Da ich jetzt die API vorliegen hab, würd ich das auch nicht mehr empfehlen.
      Sollen die 107%-Laps also nicht gewertet werden? Weil eine Unterscheidung zwischen In/Outlap damit ja sicher nicht möglich ist.

      Wie wärs denn hier mit?

      // (Type#7) Pit Mode (to be used with 'mPitMode')
      enum
      {
      PIT_MODE_NONE = 0,
      PIT_MODE_DRIVING_INTO_PITS,
      PIT_MODE_IN_PIT,
      PIT_MODE_DRIVING_OUT_OF_PITS,
      PIT_MODE_IN_GARAGE,
      PIT_MODE_DRIVING_OUT_OF_GARAGE,
      //-------------
      PIT_MODE_MAX

      gedo91 schrieb:

      @filth Planst du den Quellcode zu veröffentlichen?
      Magst du mir die Frage noch beantworten?