Paulsw2, Are you running TRS2006? I ask because most of sforget's excellent rules are broken by the 2006 code. e.g. I would like to use "emit on trigger" but cannot in 2006.
Just another reasion to keep running 04. I have 06 but I rarely use it. My problems were with 04.
Even the work around for the save/reload problem I mentioned failed. Central portal control also had a problem with saves; it kept running but restarted the sequential list of trains to produce from the top.
I am pleased to say that I have found and patched the save/reload problems in both CPC and timecheck.
For timecheck add
Pause(0) BUG FOUND - DON'T USE THIS!!
to the Init function
Edit Oct, 17 2007:
I have found a bug in the above patch! It made existing scenarios with the rule work but adding a new instance of the rule failed (misread set time).
The following patch has been tested with both old and new routes and seems to work every time. Patch in
italics:
public void SetProperties(Soup soup)
{
inherited(soup);
SetPropertyValue("time",soup.GetNamedTag("time"));
TimeMonitor();
}
I have seen posts in this thread saying that the current version of the rule works. This is just not true. I downloaded the latest version of the rule that I could for TRS04: kuid2:122381: 10008:1. (There may be a later version for TRS06) and did extensive testing. The rule stops working (in TRS04) after a save (of a DRIVER SESSION) and restore!
For CPC add the CurrentTrain variable to the GetProperties & SetProperties functions.
props.SetNamedTag("CurrentTrain", CurrentTrain);
CurrentTrain = soup.GetNamedTagAsInt("CurrentTrain");
This is the only way that I've found so far to get specific trains out of a portal on schedule.