Need programming he...
 
Notifications
Clear all

Need programming help to finish my dash. Invalid times in Assetto Corsa.

16 Posts
3 Users
0 Reactions
3,211 Views
(@bartun)
Active Member
Joined: 1 year ago
Posts: 12
Topic starter  

Okay, Finally I made a Personal Best Laptime Delta, probably it's not very accurate because this is not the way to calculate the delta, but it seems it make the work.

 

I made a code that reads the My Documents\Assetto Corsa\personalbest.ini file and reads car@track record and grab the TIME=, then transform it to seconds.milliseconds. We calculate delta = EstimatedLapTime - PersonalBestLaptime. We format it to have only 2 decimals, and we add a "+" if it's possitive.

root.BestLap = 0;
root.Car = ucase($prop('CarId'));
root.Track = ucase($prop('TrackCode'));
root.Estimated = timespantoseconds($prop('PersistantTrackerPlugin.EstimatedLapTime'));
root.Delta = 0;

root.Key = "[" + root.Car + "@" + root.Track + "]\r\nDATE=\r\nTIME=";

root.Content = readtextfile('F:\\Documentos\\Assetto Corsa\\personalbest.ini');

root.Regex = new RegExp("\\[" + root.Car + "@" + root.Track + "\\][\\s\\S]*?TIME=(\\d+)", "i");
root.Match = root.Regex.exec(root.Content);

if (root.Match) {
  root.BestLap = parseInt(root.Match[1]);
}

root.Time = root.BestLap.toString();
root.Seconds = root.Time.slice(0, -3);
root.Milliseconds = root.Time.slice(-3);
root.FormattedTime = root.Seconds + "." + root.Milliseconds;
root.Delta = root.Estimated - root.FormattedTime;

root.Delta = root.Delta.toFixed(2);

if (root.Delta > 0) {
  root.Delta = "+" + root.Delta;
}

return root.Delta;
This post was modified 1 year ago by bartun

   
ReplyQuote
Page 2 / 2
Share: