Получайте и анализируйте пакеты телеметрии из игры F1® 23.
Текущую спецификацию UDP можно найти здесь.
Поскольку спецификация меняется каждый год и по причинам объема, эта библиотека совместима только с F1® 23.
Этот пакет уже доступен на NuGet.
Чтобы эта библиотека работала, в вашей игре должна быть включена телеметрия UDP. Настройки телеметрии можно найти в Options > Settings > Telemetry Settings
(F1® 23).
По умолчанию опция UDP Telemetry
отключена, поэтому вам придется ее включить. Пока вы здесь, вы также можете изменить настройку UDP Port
, если это необходимо. По умолчанию — 20777
.
Для получения событий вам необходимо создать экземпляр TelemetryClient
.
// Instance the client listening on port 20777 (the default)
TelemetryClient client = new TelemetryClient ( 20777 ) ;
В этом экземпляре есть события, к которым вы можете подключиться для управления обновлениями данных, поступающими из игры.
// 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 } " ) ;
}
Для некоторых типов данных включены модели ViewModel, что упрощает их использование в проектах с графическим интерфейсом.
Те, что включены на данный момент, предназначены для следующих пакетов:
Плюс глобальная модель представления UDPTelemetry
для их группировки.
Пример скоро появится.
Большое спасибо @thomz за написание библиотеки, которая послужила вдохновением для этого проекта.
Купи мне пиццу
F1® 23 Game — официальный продукт чемпионата мира FIA Formula One World Championship™.
Логотип F1 Formula 1, логотип F1, Formula 1, F1, FIA FORMULA ONE WORLD CHAMPIONSHIP, GRAND PRIX и связанные с ними знаки являются товарными знаками Formula One Licensing BV, компании Формулы 1. © 2023 Обложки Formula One World Championship Limited, компании Формулы-1. Лицензия Formula One World Championship Limited. Логотип FIA FIA Formula 2 CHAMPIONSHIP, FIA Formula 2 CHAMPIONSHIP, FIA Formula 2, Formula 2, F2 и связанные с ними знаки являются товарными знаками Международной автомобильной федерации и используются исключительно по лицензии. Все права защищены. Логотипы FIA и FIA AfRS являются торговыми марками Международной автомобильной федерации. Все права защищены.