AJS Invisible Stations and Bloodnok's New Platforms - Loading Problems Workaround

Hi Scottish,

Thankyou for the update. It sounds a reasonable workaround at the moment, but I know that a solution is needed by N3V as one cannot use modified assets in Multiplayer.

I will post back when I hear from the Helpdesk - the ticket is marked with Critical priority.

Shane
 
I have found another anomaly in GenericPassengerStation - a reference to a function in Vehicle that does not exist.

I have removed the reference and seeing if it affects the loading or not.

Shane
 
Are You refering to SetDoorAnimationState ? It's available in vehicle.gs since TS2010 (maybe TRS2009 ?), and defaults to calling SetMeshAnimationState. It has been introduced to allow more flexibel ways to open the doors, instead of the standard left and right.

Peter
 
No,but there is one just above (PlaySoundScriptEvent) which I cannot find in the Vehicle class (which is where it's being referred to).

Shane

EDIT: Change did not make much difference, so I've reverted the change.
 
Last edited:
No,but there is one just above (PlaySoundScriptEvent) which I cannot find in the Vehicle class (which is where it's being referred to).

Shane

EDIT: Change did not make much difference, so I've reverted the change.

Did you notice that there are two Vehicle.PlaySoundScriptEvent calls (door open and door close) in GenericPassengerStation. Unless you removed both of these calls or put catch exception routines at them both, they could fail at any of them because there does not seem to be any routine in Vehicle Class to play sound.

Scottish
 
Did you notice that there are two Vehicle.PlaySoundScriptEvent calls (door open and door close) in GenericPassengerStation. Unless you removed both of these calls or put catch exception routines at them both, they could fail at any of them because there does not seem to be any routine in Vehicle Class to play sound.

Scottish

Hi Scottish,

For the testing, I commented out both of the Vehicle.PlaySoundScriptEvent calls.

I have a feeling that this is one of the problem parts of the script file.

Shane
 
Shane,

I had not noticed this before but there are no calls to Vehicle.PlaySoundScriptEvent in the 2006 version of GenericPassengerStation but there are 2 calls in the TS12 version.

I wonder what other changes may have been made in the subordinate Classes used?

I hope you are good at finding needles in haystacks.

Scottish
 
I'm using WinMerge to check for differences as well as ConTEXT, and there are a few other variations I am checking.

I've also come across some other oddities in the IPICProcess.gs file which I'm investigating, although it will probably be tomorrow before I can report back on that.

Shane
 
PlaySoundScriptEvent and StopSoundScriptEvent are defined in the file mapobject.gs . Both functions are available since TRS2006. Class Vehicle inherits from class Trackside, which inherits from class MapObject.

Peter
 
So that's where they crop up...

At the moment, I'm dealing with a possible issue in IPICProcess (incident where IPICProcess has been included inside the file as an inherit/include)

Shane
 
Good luck with this, as I'm using AJS invisible stations on my project, modified for NG use (with permission) Thought I'd better run a test session to check and am hitting the same problem in TS12.
 
From your advice, I have checked the trigger radius on the AJS stations and the new Bloodnok platforms which I know are both affected. Both use 5 as the trigger radius.

My stations have two different kinds of triggers in them. Those used for accurate train positioning use 5m. Those used for station coverage (which is what matters for opening and closing of doors) uses a far larger radius, to efficiently cover the platform face.

Increasing the radius of the 5m ones will make AIs stop somewhat earlier in the platform (and also a tad less accurately). It will not help with any issue regarding door opening.

Increasing the radius of the other ones may help with door opening issues -- but this is something I've already tried in my updates. We have a significant level of overlap now.

(Overlap isn't necessarily a huge problem, it just indicates that more triggers have been used than is strictly necessary. It's the 'more triggers' part that is inefficient.)

I think I will clone and modify the station radius rather than alter the max-decel on the enginespecs since it is easier to change the station than go through all the enginespecs in all my locomotives.

Max-decel being notably low on one specific loco will make that train tend to overshoot the stopping position -- it's (again) not going to affect any door opening issues.
 
Hi Bloodnok, thank you for coming in on this thread and trying to help solve the problem which is frustrating many of us at the moment, namely why do passenger enabled stations not work correctly with newer versions of Trainz. I also would like to give you a very big thank you for the many great assets you have given us which have certainly given me great enjoyment over the years.

Now on the general subject, I am not the bearer of good news.

My initial single run through my small route with 4 modified AJS stations has not passed further testing. The trigger radii were increased from 5 to 10 and the enginespec had the max-decel increased to 85000. The commands used were 'Call At' and 'Load' or 'Unload'.

The route is a single track running North to South with 4 stations with passing loops. If a consist is initially run from South to North on its own, all 4 stations worked. However if a consist was run North to South the consist always failed at one of the stations, always the same one, by not stopping or stopping but not loading or opening doors. The speed on approach to the station was 12mph to 15mph. So why did the station work initially in one direction but not the other? A signal was positioned just beyond the end of the platform at the South end protecting the track heading South, so I wondered if the trigger distance of the signal was interfering with the station cycle. I deleted this signal but this made no difference. If a station malfunctions, behaviour at all subsequent stations in the session becomes random.

The only way I can get 100% correct operation is to use brummfondel's load passengers rule but you must use 'navigate to trackmark' near the platform end or the consist will stop with the loco at the centre of the station rather than the centre of the consist. Also all doors will open not just those where there are passengers. However I have noticed that in most cases the two commands are sufficient ('Navigate to Trackmark' and 'Load (left or right) 20 secs').

An experiment using the 'Load' command followed immediately by a 'Load Passengers' command resulted in failure of the Load command but when the consist moved away from the station it stopped again and the doors opened as the Load Passengers command took over control.

I am now asking myself the question - are we looking in the wrong place for the error. If brummfondel's rule works but the normal Load command intermittently fails, is the problem in the Load and Unload commands? Who knows, but one thing becomes apparent, only N3V can sort this one out in co-operation with the station creators.

Scottish
 
I've just found something else interesting.

With the built-in Navigate To,Load,and Unload commands, there is no EndExecute function (which allows the game to determine if the command has suceeded or not) whereas brummfondel's command does have the EndExecute function.

Shane
 
Shane,

You were quick.

As I said I do not know trainzscript, but the absence of an 'end sub' in dot net would cause an exception to be thrown with the probability of either a crash or a subroutine not executing correctly when next called.

Would it be worthwhile cloning the commands, adding the EndExecute any trying it?

Scottish
 
I'm one not to hang around when it comes to sorting out issues. I will attempt to clone the command and seeing how I get on.

Shane
 
Passenger services are also something I enjoy as I said in one of the earlier threads I've added 30 or more AJS stations at route level to ECML in TS12 but encountered problems in TS2010 as well. Most of the time it was the speed of the trains, they were running past the stations.
However, yesterday I decided to set up all stations on the SnC using the schedule library and as part of this process needed to check that each train with up to 7 carriages would stop and open the doors and load and unload passengers.
I used about 5 trains starting at different points going in both directions. As you may be aware the platforms on SnC are not marked and so it is not easy to determine whether the platform is northbound or southbound and so to be sure I watched them all to check and the only time where the train passed through the platform was where the speed was too great to stop, mainly on the inclines up to ais gill summit. This was cured with the invisible speed signals v2 set at 30mph for priority 2 set about 300 yards before the station. I can say without a doubt that every train now stops correctly.
The point of this is that all stations on SnC are bespoke and as such whatever script has been used works correctly so a comparison between Andi's script and the SnC Might be worthwhile.

Ken
 
Last edited:
Ken,

I don't have SnC therefore I cannot check this. If the stations are special to SnC they will likely have their own scripts which may not be available to us.

You could help by opening up a couple of the stations for edit in explorer and giving us the names of the .gs scripts they are using so that we can check if we have them in out scripts folder. If not, you could email them to Shane and me for us to have a look at them.

I don't know if my next comment is correct, but SnC being an older product may use technology based around the TRS2006 version where the stations worked.

I can definately confirm that speed of approach is not the only issue here since in my trials the speed, well before the consist enter the station, is already down to about 12mph.

Scottish
 
SnC is one of the addon packs for TS2009/TS2010/TS12, so there is a chance that the scripts may be encrypted (.gse files). If this is the case, I will not be able to check them. If they are not encrypted, I can use ConTEXT to have a look at them.

Usual loading speed is 9-11 mph - I've been looking at various items in the scripts and have got some idea of where the issues may be, but I will wait to hear back from Helpdesk before I do much more in case they require me to perform tests.

Shane

Shane
 
Back
Top