Salut à tous, il y a quelques semaines je m'étais lancé dans le développement d'un petit plugin pour ajouter quelques informations utiles à SimHub.
Depuis j'ai eu des petites idées mais surtout des demandes assez précises et aujourd'hui le plugin commence à être relativement complet, avec notamment l'intégration des données issues de l'API RaceApp .
Voici le contenu de la description du plugin. pour ceux que ca intéresse on peut le faire évoluer.
Le plugin est, pour le moment, spécifique à ACC car il utilise les données natives du jeux pour proosers des données plus précises que celles fournies par Simhub.
Initialement, le projet était de pouvoir obtenir des informations précises sur le classement et sur les concurrents qui se trouvent devant ou derrière moi au classement.
Petit à petit des demandes m'ont été formulé et on est arrivé à quelque chose d'assez complet.
Que propose le plugin ?
4 grand types de données
1. Des données globales
2. Des données sur moi et ma voiture
3. Des données sur des opposants devant ou derrière moi au classement (et non juste sur la piste)
- Au classement général
- Au classement par série (GT3 GT4)
- Au classement par Cup Categorie (Pro, ProAM, AM etc.)
- Au classement par Driver Categorie (Platinum, Gold, Silver, Bronze)
- Au classement selon un RaceApp Tag (si on utilise l'intégratio avec RaceApp, cf RaceApp Integration)
Pour chaque concurrent(devant ou derrière) on aura une liste d'informations disponible
4. Des données sur chaque concurrent permettant de faire un leader board complet.
1. les données globales-
AllCarsBestLap => meilleur tour, toutes catégories confondues
SameSerieBestLap => meilleur tour dans la même série
SameDriverCategoryBestLap => meilleur tour dans la même catégorie de pilote
SameCupCategoryBestLap => meilleur tour dans la même Cup catégorie
SameRaceAppTagBestLap => meilleur tour dans le même tag RaceApp
HaveAllCarBestLap => Do my car have the best lap ?
HaveSameSerieBestLap => Do my car have the best lap in the serie ?
HaveSameCupCategoryBestLap => Do my car have the best lap in my serie and same cup category ?
HaveSameDriverCategoryBestLap => Do my car have the best lap in my serie and same driver category?
HaveSameRaceAppTagBestLap => Do my car have the best lap in my RaceApp Tag ?
SameSerieFirstPosition => What is the best position in my serie
SameDriverCategoryFirstPosition => What is the best position in my serie and driver category
SameCupCategoryFirstPosition => What is the best position in my serie and car cup category
SameRaceAppTagFirstPosition => What is the best position in my RaceApp Tag
ChampionShip.Name => Nom de la série RaceApp (si intégration RaceApp)
ChampionShip.Info => informations sur la série RaceApp (si intégration RaceApp)
ChampionShip.CommunityName => Nom de la communauté RaceApp (si intégration RaceApp)
MultiSerieRace => Est ce qu'il y a plusieurs séries dans la course
MultiDriverCategoryRace => Est ce qu'il y a plusieurs catégories de pilotes dans la course
MultiCupCategoryRace => Est ce qu'il y a plusieurs Cup catégories dans la course
LastDriveThroughTime => Temps nécessaire à la traversée de la pilane sur la piste en cours. Cette donnée est persistante mais il faut faire un DT au moins une fois (en practice par exemple) sur la piste pour disposer de cette information.
Cette données a été demandé poru faire des calculs de prédictions de dépassement lors des arrêts au stands.
2. Des données sur moi et ma voiture
BestlapTime => Mon meilleur temps
CurrentDriverCategoryString => Ma Categorie de pilote
InPitSince => TImer de durée de pit stop
IsPiting => Est ce que la voiture est dans les stands ou dans la voie des stands
MyCarCurrentDriverIndex => Index du pilote en piste (si plusieurs pilotes)
MyCarDriverCount => Combien de pilote pour la voiture
MyCarLocation => Position de la voiture (parmis NONE = 0,Track = 1,Pitlane = 2,PitEntry = 3,PitExit = 4)
MyCarModelType => Id numérique de ma voiture(id KUNOS)
MyCategory => Categorie du pilote en cours dans la voiture
MyChampionShipPoints => Mes points dans la série RaceApp (si intégration RaceApp)
MyChampionShipPosition => Ma position dans la série RaceApp (si intégration RaceApp)
MyChampionShipPredictedPoints => Mes points en fin de course dans la série RaceApp (si intégration RaceApp)
MyChampionShipPredictedPosition => Ma position en fin de course selon le classement actuel dans la série RaceApp (si intégration RaceApp)
MyCupCategory => Ma cup catégorie (Pro, ProAm, Am, etc.) au format numérique
MyCupCategoryString => idem au format chaine de caractère
MyCupCategoryPosition => Ma position dans ma cup catégorie
MyDriverCategoryPosition => Ma potition dans ma catégorie de pilote (Platinum, Gold, Silver etc.)
MyFirstName => Prenom
MyFullName => Nom complet du pilote
MyLapsSinceLastPitStop => Nombre de tours depuis le dernier pit stop
MyLastName => Nom de Famille
MyLastPitStopLap => Tour du dernier pitstop
MyLastPitStopDuration => Durée du dernier pitstop
MyPitStopCount => Nombre de pitstop effectué
MyRaceAppTag => Mon TAG RaceApp (si intégration RaceApp)
MyRaceNumber => Mon numéro de course
MyRacePosition => Ma position au général
MySerie => Ma série (GT3 / GT4)
MySeriePosition => Ma position au classement par série
MyShortName => Surnom
MyTeamName => Nom de l'équipe
3. Des données sur des opposants devant ou derrière moi au classement (et non juste sur la piste)
L'idée est d'avoir accès aux même informations que pour Ma voiture mais pour des concurrent identifiés.
Concurrents devant ou derrière moi au au classement général
-->Ahead OR Behind
Concurrents devant ou derrière moi au au classement par série (GT3 / GT4)
-->SameSerieAhead OR SameSerieBehind
Concurrents devant ou derrière moi au au classement par CupCategorie (Pro, ProAM, AM etc.)
-->SameCupCategoryAhead OR SameCupCategoryBehind
Concurrents devant ou derrière moi au au classement par Driver Catégorie (Platinum, Gold, Silver, Bronze)
-->SameDriverCategoryAhead OR SameDriverCategoryBehind
Concurrents devant ou derrière moi au au classement par RaceApp Tag (si intégration RaceApp=
-->SameRaceAppTagAhead OR SameRaceAppTagBehind
Pour chacun de ces concurrents ont va retrouver les mêmes informations que pour ma voiture avec quelques données en plus (Exemple pour le concurrent devant moi au classement général)
Ahead_GapToPlayer => Ecart avec moi
Ahead_LapsToPlayer => Ecart avec moi en tours
Ahead_PredictLapCountBeforeContact => si je suis à plus d'une seconde du pilote devant et que je roule plus vite, combien de tours avant que je ne sois au contact.
Ahead_RaceNumber
Ahead_CarModelType
Ahead_CupCategory
Ahead_CupCategoryString
Ahead_DriverCount
Ahead_TeamName
Ahead_CurrentDriverIndex
Ahead_RacePosition
Ahead_CupCategoryPosition
Ahead_DriverCategoryPosition
Ahead_BestlapTime
Ahead_LastlapTime
Ahead_IsPiting
Ahead_LapDelta
Ahead_FirstName
Ahead_LastName
Ahead_ShortName
Ahead_FullName
Ahead_DriverCategory
Ahead_Serie
Ahead_InPitSince
Ahead_PitStopCount
Ahead_LastPitStopLap
Ahead_LastPitStopDuration
Ahead_LapsSinceLastPitStop
Ahead_ChampionShipPosition
Ahead_ChampionShipPoints
Ahead_ChampionShipPredictedPoints
Ahead_ChampionShipPredictedPosition
Ahead_RaceAppTag
4. Des données sur chaque concurrent permettant de faire un leader board complet.
L'idée ici est de pouvoir faire un leaderboard complet avec les informations calculées par le plugin.
Le souci c'est que SimHub ne permet pas d'accéder a un tableau de concurrents, donc on va retrouver des concurrents indexé par leur position au classement.
SimHubSwoopPlugin.SWLeaderBoard.Position1.
SimHubSwoopPlugin.SWLeaderBoard.Position2.
SimHubSwoopPlugin.SWLeaderBoard.Position3.
...
SimHubSwoopPlugin.SWLeaderBoard.PositionN.
Et pour chaque position on va retrouver toujours les mêmes informations avec quelques données en plus
IsPlayer => Permet de savoir si le concurent est le joueur en cours
GridPosition => Position sur la grille de départ
Movements = positions gagnées ou perdues
GapToPlayer => Ecart en temps avec le joueur
GapToLeader => Ecart en temps avec le leader
GapAhead => Ecart en temps avec le concurent de devant
RaceNumber
CarModel
CarModelType
CupCategoryString
TeamName
Serie
DriverFullName
DriverShortName
DriverCategory
RaceAppTag
RacePosition
SeriePosition
DriverCategoryPosition
CupCategoryPosition
LastlapTime
BestlapTime
Laps
CurrentLapNumber
LapDelta
LapsToPlayer
CarLocation
Kmh
InPitSince
IsPiting
LapsSinceLastPitStop
LastPitStopDuration
LastPitStopLap
LastPitWasDriveThrough
PitStopCount
ChampionShipInfo.Points
ChampionShipInfo.Position
ChampionShipInfo.PredictedPoints
ChampionShipInfo.PredictedPosition