Something odd about World.GetGameTime()

I use the 'Wait Until Minute' and 'Wait Until Hour' Driver commands produced by pgipg to control session schedules. They work fine except for the first time they are called by a particular driver/train. To add a sense of realism to the schedules, I run the Game at a GameTime of 4x elapsed time. The first instance of these commands in a driver schedule will not fire until the elapsed time requesteed by the command rather than the Game Time. For example, if I set 'Wait Until Minute' to '02', if it is the first instance of this command in the schedule, it will not trigger until an elapsed time of 2 minutes = 8 minutes Game Time. If the second instance in the schedule is set at '12', it triggers quite happily at 12 minutes game time (3 minutes elapsed time).

Looking at the coding in the CustomCommand for this DriverCommand, there does not seeem to be a problem. There is simply a call to World.GetGameTime() to get the time as seen in the game, and this is compared with the time that has been set for the Driver Command to close and let the next command happen. The question is: 'Why does World.GetGameTime() return elapsed time, without multiplying it by the Time Rate, when it is called the first time for a train?'

Any suggestions would be helpful - and might let me stop my present procedure of setting a 'Wait Until Minute' of '01' for all trains not running at the start and having them sound their whistle or horn. Of course this happens at GameTime of 4 minutes - and then we can get on with it!! A very festive start to the game! But . . .
 
Back
Top