LFSWorld
Sure, but you can get that information for their best overall split / sector time through LFS World via the pb action. You'll need to get your own ID Key (IDK) but once you do, you can get the information from this url. (Just replace <IDK> with your ID Key and <RACER> with the name of the user you would like to get information on.) you might also need to use the hosts action to get a list of users on your host.
PB
http://www.lfsworld.net/pubstat/get_stat2.php?version=1.4&idk=<idk>&action=pb&
racer=<racer>&s=2
HOST
http://www.lfsworld.net/pubstat/get_stat2.php?version=1.4&idk=<idk>&action=hosts&s=2
InSim
If you want it for just your server, then an application would need to be made. You need the
STA (for the track name) could just capture the
SPX (for the time) and
LAP (also for the time) packets, or the
FIN (gives you just the best lap time for that race) packet depending on how in depth you want to get.
STA
struct IS_STA // STAte
{
byte Size; // 28
byte Type; // ISP_STA
byte ReqI; // ReqI if replying to a request packet
byte Zero;
float ReplaySpeed; // 4-byte float - 1.0 is normal speed
word Flags; // ISS state flags (see below)
byte InGameCam; // Which type of camera is selected (see below)
byte ViewPLID; // Unique ID of viewed player (0 = none)
byte NumP; // Number of players in race
byte NumConns; // Number of connections including host
byte NumFinished; // Number finished or qualified
byte RaceInProg; // 0 - no race / 1 - race / 2 - qualifying
byte QualMins;
byte RaceLaps; // see "RaceLaps" near the top of this document
byte Spare2;
byte Spare3;
char Track[6]; // short name for track e.g. FE2R
byte Weather; // 0,1,2...
byte Wind; // 0=off 1=weak 2=strong
};
SPX
struct IS_SPX // SPlit X time
{
byte Size; // 16
byte Type; // ISP_SPX
byte ReqI; // 0
byte PLID; // player's unique id
unsigned STime; // split time (ms)
unsigned ETime; // total time (ms)
byte Split; // split number 1, 2, 3
byte Penalty; // current penalty value (see below)
byte NumStops; // number of pit stops
byte Sp3;
};
LAP
struct IS_LAP // LAP time
{
byte Size; // 20
byte Type; // ISP_LAP
byte ReqI; // 0
byte PLID; // player's unique id
unsigned LTime; // lap time (ms)
unsigned ETime; // total time (ms)
word LapsDone; // laps completed
word Flags; // player flags
byte Sp0;
byte Penalty; // current penalty value (see below)
byte NumStops; // number of pit stops
byte Sp3;
};
FIN
struct IS_FIN // FINished race notification (not a final result - use IS_RES)
{
byte Size; // 20
byte Type; // ISP_FIN
byte ReqI; // 0
byte PLID; // player's unique id (0 = player left before result was sent)
unsigned TTime; // race time (ms)
unsigned BTime; // best lap (ms)
byte SpA;
byte NumStops; // number of pit stops
byte Confirm; // confirmation flags : disqualified etc - see below
byte SpB;
word LapsDone; // laps completed
word Flags; // player flags : help settings etc - see below
};
I fell generous today, I gave you alot of information that should get you started on it your self.