PDA

View Full Version : Is it just me who finds triggers and set junctions incredibly hit and miss?!



Davie_UCF
May 30th, 2012, 01:19 PM
I've been trying to make a scenario or two for the past week and once i've got it all working, sometimes triggers or the setting of junctions don't seem to work at all.

Sometimes the child rules will run but seem to miss the 'set junctions' rule leaving the points unchanged..

Is it just me or are these rules temperamental?


Example of how i'm doing it...
http://img850.imageshack.us/img850/1989/junctions.jpg (http://imageshack.us/photo/my-images/850/junctions.jpg/)


I'm getting incredibly frustrated with having to keep re-trying my session.. It's making me hate it.

Dalwood
May 31st, 2012, 06:50 AM
Hi Davey_UCF

I don't know whether or not I can help with your problem, BUT, have you tried running the session with the MC-Add Message rules taken out ?

It could well be a problem with timing.

I personally haven't used that particular rule so I can't comment on how it works or is supposed work, however, what I am aware of is that in an ordered list, a 'child rule' is not made active until the previous 'child' has completed.
So, in your case, the 'TimeCheck' rule will start, the junctions will be set and the message displayed. The question is "Do you have to close that message manually OR does it do it automatically?" Because, the way I see it, the next 'Child Rule' (say, the turntable Trigger) will not be made active until the 'TimeCheck' has completed. (obviously this will depend on how long it takes to set the junctions and also display the message)
Likewise with the others. If your Train is hitting any of the Triggers BEFORE the previous rule has completed, it won't be active and so your junctions won't be set.

I notice that in your picture, in the last Trigger Check, you have the 'MC-Add message' before the 'Set Junction' rule. Does that make any differance OR is that the one that is causing the problem??

Like I have said, I can't give you a specific solution but maybe some 'food for thought'

Of course, there is also the possibility that the rules are simply being 'temperamental' :o

Regards,
Dalwood

Davie_UCF
May 31st, 2012, 08:50 AM
Hmm. I thought child rules that are all on the same level (if that's the word) all worked at the same time not depending on if the one above worked?

Thanks

Dalwood
May 31st, 2012, 01:09 PM
Hmm. I thought child rules that are all on the same level (if that's the word) all worked at the same time not depending on if the one above worked?

Thanks

Only if you use a 'Simultaneous List'. In this list, all child rules (on the same level) are started at the same time and the list is complete (finished) when all child rules are complete.

With the 'Ordered List' (the one you are using) only the first child rule is started. When that is complete, the list then starts the next rule etc.etc. so all child rules are started and completed (hopefully!) in sequence.

Hope this helps.
Regards,
Dalwood

Davie_UCF
June 1st, 2012, 07:56 AM
Wow I never knew that. Now I understand!

I always thought, if you want them to happen in a row you do them nested so it keeps going down like a staircase. I didn't realise the child rules already did it that way..

Probably will help a lot now.
Thanks

trev999
June 1st, 2012, 08:02 AM
Hi Dave - Perhaps you could try this: Save your session as a new name, delete the Ordered List rule and move all the other rules one position to the left.

As Dalwood says, with an Ordered List rule at the head, the Trigger Check rules will execute sequentially, so if a lower trigger is fired before the upper ones it will be ignored. (That's is my reading of the situation).

The Ordered list is not often needed as many rules have the feature built into the rule. The MC: Add Message rules will add no delay to the execution of the child rules as they complete immediately, but the message is displayed one-half second after the trigger time.

If the above steps don't fix the problem then I would recommend removing the Time Check rule as well. If it is essential to have a time check in place then consider adding a Time Check after each Trigger Check and have the Set Junctions as children of the Time Check rules.

Hope this helps

Trevor