Empfangen und analysieren Sie die Telemetriepakete vom F1® 23-Spiel.
Die aktuelle UDP-Spezifikation finden Sie hier.
Da sich die Spezifikation jedes Jahr und aus Umfangsgründen ändert, ist diese Bibliothek nur mit F1® 23 kompatibel.
Dieses Paket ist jetzt auf NuGet verfügbar.
Damit diese Bibliothek funktioniert, muss in Ihrem Spiel die UDP-Telemetrie aktiviert sein. Sie finden die Telemetrieeinstellungen unter Options > Settings > Telemetry Settings
(F1® 23).
Standardmäßig ist die UDP Telemetry
deaktiviert, Sie müssen sie also aktivieren. Während Sie hier sind, können Sie bei Bedarf auch die UDP Port
Einstellung ändern. Der Standardwert ist 20777
.
Um die Ereignisse zu empfangen, müssen Sie eine Instanz von TelemetryClient
erstellen.
// Instance the client listening on port 20777 (the default)
TelemetryClient client = new TelemetryClient ( 20777 ) ;
Diese Instanz verfügt über Ereignisse, in die Sie einbinden können, um die vom Spiel kommenden Datenaktualisierungen zu verwalten.
// Hook a method to the OnCarTelemetryDataReceive event
// This event represents whenever a packet is received that involves car telemetry (current speed, throttle or brake applied, engine RPM, etc.)
client . OnCarTelemetryDataReceive += Client_OnCarTelemetryDataReceive ;
private void Client_OnCarTelemetryDataReceive ( CarTelemetryPacket packet )
{
// Get the player index from the list of cars in the session
int playerIndex = packet . header . playerCarIndex ;
// Select the player's car from the list of car telemetries
CarTelemetryData carTelemetryData = packet . carTelemetryData [ playerIndex ] ;
// Write to console the engine RPM
Console . WriteLine ( $ "Engine RPM: { carTelemetryData . engineRPM } " ) ;
}
Für einige Datentypen sind ViewModels enthalten, um die Verwendung in GUI-Projekten zu vereinfachen.
Die derzeit enthaltenen Pakete gelten für die folgenden Pakete:
Plus ein globales UDPTelemetry
ViewModel zum Gruppieren aller.
Beispiel folgt bald.
Vielen Dank an @thomz für die Codierung der Bibliothek, die dieses hier inspiriert hat.
Kauf mir eine Pizza
F1® 23 Game – ein offizielles Produkt der FIA Formula One World Championship™.
Das F1-Formel-1-Logo, das F1-Logo, Formel 1, F1, FIA FORMULA ONE WORLD CHAMPIONSHIP, GRAND PRIX und zugehörige Marken sind Marken von Formula One Licensing BV, einem Formel-1-Unternehmen. © 2023 Titelbilder Formula One World Championship Limited, ein Formel-1-Unternehmen. Lizenziert von Formula One World Championship Limited. Das F2 FIA Formula 2 CHAMPIONSHIP-Logo, FIA Formula 2 CHAMPIONSHIP, FIA Formula 2, Formula 2, F2 und zugehörige Marken sind Marken der Federation Internationale de l'Automobile und werden ausschließlich unter Lizenz verwendet. Alle Rechte vorbehalten. Die FIA- und FIA AfRS-Logos sind Marken der Federation Internationale de l'Automobile. Alle Rechte vorbehalten.