I've written a little tool in vbscript to calculate the time taken to hyperspace to a system and fly to the nearest station as fast as possible (i.e. manually with max thrust to half-way point, turning round and maximum thrust in reverse for rest of way).
Thought i'd share it with all you commanders out there to help decide whether you can make that delivery in time or not.
You enter your max jump distance, distance to the star system, main thruster acceleration and likely distance to a port. It tells you the length of time in days, hours & mins.
To use it, copy the following code into a new text file (rename it to a .vbs), then run it.
EDIT: corrected a minor error in the interplanetary journey time calculation. Effectively, it was previously as if g = 10, rather than 9.8 leading to slightly shorter times than it should have.
----------------------------------------------------------
Title = "Frontier/F:FE travel-time calculator"
reqLY = "Enter distance to star system in lightyears." & Chr(13)
reqLY = reqLY & "e.g. 6.89 for Gateway <-> Soholia" & Chr(13) & Chr(13)
reqLY = reqLY & "Enter 0 or Cancel to calculate interplanetary flight time only."
reqLYmax = "Enter your ship's maximum jump distance (ly)." & Chr(13) & Chr(13)
reqLYmax = reqLYmax & "e.g. for Saker III with class 1 drive this is 10.71"
reqAU = "Enter likely distance from jump-in point to nearest station (AU)." & Chr(13)
reqAU = reqAU & "Probably best to enter the worst case scenario to be on the safe side."
reqAU = reqAU & Chr(13) & Chr(13) & "Enter 0 or Cancel to calculate hyperspace jump time only."
reqAccel = "Enter your ship's maximum forward acceleration (Earth g's)" & Chr(13)
reqAccel = reqAccel & Chr(13) & "e.g. 21.1 for the Saker III fighter"
JumpTime = 0
FlyTime = 0
Lightyrs = Eval(InputBox(reqLY, Title, "6.89"))
If Lightyrs > 0 Then
LYmax = Eval(InputBox(reqLYmax, Title, "10.71"))
If Lightyrs <= LYmax Then JumpTime = 7 * Lightyrs / LYmax Else JumpTime = 0
End If
DistanceAU = Eval(InputBox(reqAU, Title, "12.000"))
If DistanceAU > 0 Then
Accel = Eval(InputBox(reqAccel, Title, "21.1")) * 9.8
If Accel > 0 Then FlyTime = Sqr(DistanceAU * 149.6 * 10^9 / Accel) * 2 / 60^2 / 24
End If
TotalTime = JumpTime + FlyTime
Days = 0
Hours = 0
Minutes = 0
While TotalTime >= 1
Days = Days + 1
TotalTime = TotalTime - 1
Wend
TotalTime = TotalTime * 24
While TotalTime >= 1
Hours = Hours + 1
TotalTime = TotalTime - 1
Wend
TotalTime = TotalTime * 60
While TotalTime >= 1
Minutes = Minutes + 1
TotalTime = TotalTime - 1
Wend
If JumpTime<>0 And FlyTime<>0 Then ResultStr = "Minimum total travel time: "
If JumpTime=0 Then ResultStr = "Minimum interplanetary travel time: "
If FlyTime=0 Then ResultStr = "Hyperspace jump time: "
If Days > 0 Then ResultStr = ResultStr & Days & " days "
ResultStr = ResultStr & Hours & " hrs " & Minutes & " min."
If FlyTime Then
ResultStr = ResultStr & Chr(13) & Chr(13) & "The time calculated for interplanetary "
ResultStr = ResultStr & "travel is the minimum possible time taken to travel the "
ResultStr = ResultStr & "given distance, i.e. by accelerating at full thrust to the "
ResultStr = ResultStr & "half-way point, turning round and then decelerating at the "
ResultStr = ResultStr & "same rate. Of course, this minimum is never going to be "
ResultStr = ResultStr & "achieved so precisely, so you should add a margin of a few "
ResultStr = ResultStr & "hours to be on the safe side."
End If
If JumpTime Or FlyTime Then MsgBox ResultStr,,Title Else MsgBox "Go stick your head in a Ling-lang then laser-lips!",,Title
Thought i'd share it with all you commanders out there to help decide whether you can make that delivery in time or not.
You enter your max jump distance, distance to the star system, main thruster acceleration and likely distance to a port. It tells you the length of time in days, hours & mins.
To use it, copy the following code into a new text file (rename it to a .vbs), then run it.
EDIT: corrected a minor error in the interplanetary journey time calculation. Effectively, it was previously as if g = 10, rather than 9.8 leading to slightly shorter times than it should have.
----------------------------------------------------------
Title = "Frontier/F:FE travel-time calculator"
reqLY = "Enter distance to star system in lightyears." & Chr(13)
reqLY = reqLY & "e.g. 6.89 for Gateway <-> Soholia" & Chr(13) & Chr(13)
reqLY = reqLY & "Enter 0 or Cancel to calculate interplanetary flight time only."
reqLYmax = "Enter your ship's maximum jump distance (ly)." & Chr(13) & Chr(13)
reqLYmax = reqLYmax & "e.g. for Saker III with class 1 drive this is 10.71"
reqAU = "Enter likely distance from jump-in point to nearest station (AU)." & Chr(13)
reqAU = reqAU & "Probably best to enter the worst case scenario to be on the safe side."
reqAU = reqAU & Chr(13) & Chr(13) & "Enter 0 or Cancel to calculate hyperspace jump time only."
reqAccel = "Enter your ship's maximum forward acceleration (Earth g's)" & Chr(13)
reqAccel = reqAccel & Chr(13) & "e.g. 21.1 for the Saker III fighter"
JumpTime = 0
FlyTime = 0
Lightyrs = Eval(InputBox(reqLY, Title, "6.89"))
If Lightyrs > 0 Then
LYmax = Eval(InputBox(reqLYmax, Title, "10.71"))
If Lightyrs <= LYmax Then JumpTime = 7 * Lightyrs / LYmax Else JumpTime = 0
End If
DistanceAU = Eval(InputBox(reqAU, Title, "12.000"))
If DistanceAU > 0 Then
Accel = Eval(InputBox(reqAccel, Title, "21.1")) * 9.8
If Accel > 0 Then FlyTime = Sqr(DistanceAU * 149.6 * 10^9 / Accel) * 2 / 60^2 / 24
End If
TotalTime = JumpTime + FlyTime
Days = 0
Hours = 0
Minutes = 0
While TotalTime >= 1
Days = Days + 1
TotalTime = TotalTime - 1
Wend
TotalTime = TotalTime * 24
While TotalTime >= 1
Hours = Hours + 1
TotalTime = TotalTime - 1
Wend
TotalTime = TotalTime * 60
While TotalTime >= 1
Minutes = Minutes + 1
TotalTime = TotalTime - 1
Wend
If JumpTime<>0 And FlyTime<>0 Then ResultStr = "Minimum total travel time: "
If JumpTime=0 Then ResultStr = "Minimum interplanetary travel time: "
If FlyTime=0 Then ResultStr = "Hyperspace jump time: "
If Days > 0 Then ResultStr = ResultStr & Days & " days "
ResultStr = ResultStr & Hours & " hrs " & Minutes & " min."
If FlyTime Then
ResultStr = ResultStr & Chr(13) & Chr(13) & "The time calculated for interplanetary "
ResultStr = ResultStr & "travel is the minimum possible time taken to travel the "
ResultStr = ResultStr & "given distance, i.e. by accelerating at full thrust to the "
ResultStr = ResultStr & "half-way point, turning round and then decelerating at the "
ResultStr = ResultStr & "same rate. Of course, this minimum is never going to be "
ResultStr = ResultStr & "achieved so precisely, so you should add a margin of a few "
ResultStr = ResultStr & "hours to be on the safe side."
End If
If JumpTime Or FlyTime Then MsgBox ResultStr,,Title Else MsgBox "Go stick your head in a Ling-lang then laser-lips!",,Title
Last edited: