Interlocking Tower issue in SP1

escd84

Active member
It has happened again, Interlocking Tower loses paths when changing from surveyor to driver or vice versa or while saving or when viewing the paths in the tower.

Situation: I have 7 interlocking towers on my route. All have path, a maximum of between 12 and 494 objects count in a tower. Everything for this is set in a session. When saving the route, the game sometimes deletes all paths in a tower. But really all paths, but never in all towers, only in the tower with the most content (494 objects). Get the red bug when saving in the Surveyor. Clicking on it gives me a lot of error messages (forgotten to save this messages). Opening the interlocking tower gives me the script error that comes from the towers themselves. Restarting the session then means that the tower has no paths. Really annoying

Question is anyone confirm that? I have deleted the Enhanced TRC3 invisible interlocking tower several times and placed it again. I have the Interlocking rule in my session. Is there a way to save the paths somewhere and copy them back to the tower if necessary? What does the clipboard mean?

Forget saying I am only working on the normal version of Trainz. No premium, platium or beta if it helped.
 
Last edited:
One possibility:

Not currently at my Trainz computer so I cannot confirm your problem. There is (or used to be) a known issue with ITs and EITs (which are based on the same code as ITs). Specifically (from the Wiki):-

The Interlocking Tower and Enhanced Interlocking Tower assets have a bug that saves their initial paths and properties in the Route and then saves any edits you make in the Session. The workaround is to always use Session Surveyor when using ITs and EITs.

I do not know if this has been fixed (probably not) in Trainz 2019 SP1. I always follow the above advice and have never had this issue since but it has been a while since I had the time to experiment with EITs.

PS: Also check that you are running Trainz 2019 with the Compatibility Mode (Launcher ->Trainz Settings -> Dev tab) set to "Maximum compatibility" and not "Maximum performance"
 
Last edited:
Hi escd84.

the problem is certainly caused by the red bug (means an script error exception) while saving your session. If you encounter a script error while saving your session, this means that all the data has not been saved and that your session data is now corrupted and you will have probably some errors if you try to reload it.

Difficult to tell you more about why you encounter a script error when saving your session without seeing the errors messages displayed when you click on the red bug.
I don’t know also which version of EIT you are currently using and under which version of Trainz (build number) you are running your session. This information is needed to check you are running the correct EIT version supported for your Trainz version.

About the clipboard, this is an internal copy area inside your local trainz directory that permits to copy data (EIT data or MCM data or ...) between sessions for the same route. For EIT copying paths data works only if the tower has strictly the same name in the source session and in the destination session.

Regards.
Pierre.
 
One possibility:

Not currently at my Trainz computer so I cannot confirm your problem. There is (or used to be) a known issue with ITs and EITs (which are based on the same code as ITs). Specifically (from the Wiki):-



I do not know if this has been fixed (probably not) in Trainz 2019 SP1. I always follow the above advice and have never had this issue since but it has been a while since I had the time to experiment with EITs.

PS: Also check that you are running Trainz 2019 with the Compatibility Mode (Launcher ->Trainz Settings -> Dev tab) set to "Maximum compatibility" and not "Maximum performance"

Thanks for the reply, I learned from pguy that I should only work with the ILT on session layer. I haven't had any problems since then. Maximum compatibility is standard setting for me.

I mean the problem only occurs when I save and change directly into driver (Quickdrive / F2). With the simple game you have to save before you go into driving mode, that doesn't flow smoothly back and forth like in beta.
 
Hi escd84.

the problem is certainly caused by the red bug (means an script error exception) while saving your session. If you encounter a script error while saving your session, this means that all the data has not been saved and that your session data is now corrupted and you will have probably some errors if you try to reload it.

Difficult to tell you more about why you encounter a script error when saving your session without seeing the errors messages displayed when you click on the red bug.
I don’t know also which version of EIT you are currently using and under which version of Trainz (build number) you are running your session. This information is needed to check you are running the correct EIT version supported for your Trainz version.

About the clipboard, this is an internal copy area inside your local trainz directory that permits to copy data (EIT data or MCM data or ...) between sessions for the same route. For EIT copying paths data works only if the tower has strictly the same name in the source session and in the destination session.

Regards.
Pierre.
Thanks for the reply Pierre, I check the error messages the next time when I got this problem. This are the last versions from the DLS for your rules I use and all deps are up to date. Running in Build 105175

<kuid2:61392:8101:52> Enhanced TRC3 invisible Interlocking Tower (SP2 and later)<kuid2:61392:8130:63> IT Enhanced Manager rule (SP2 and later)
<kuid2:61392:8200:63> MissionCode manager (SP2 and later)

Regards Christian
 
Hi.

Just a precision about which context is build 105175 ?
I know for windows build 105096 for TRS19 standard and build 105100 for TRS19+ and build 106291 for TRS19+ last beta version. I have seen somewhere that for the Mac build 105170 is TRS19 standard. But that is the first time I see build 105175. Thanks to anyone to explain how you go to build 105175 and in which context.

Regards.
Pierre.
 
I get the errors together faster than I thought. The build 105175 is the Steam Version of 105096

1.So I replaced the broken towers and added new paths

My-Trainz-Screenshot-Image.jpg


Then open with ? Tower "Interlocking", then closed, then open with ? Tower West and got bug

My-Trainz-Screenshot-Image.jpg


Open the rule you get

My-Trainz-Screenshot-Image.jpg


Open any other tower you get

My-Trainz-Screenshot-Image.jpg


And after some tower clicks some more red Bugs

- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 333
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 333
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 1430, ER_NullReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000001A55C72B0; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000D85181A0: InterlockingTowerEditHelper}, refcount:6}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $string@InterlockingTowerEditHelper::GetDescriptionHTML(), line 1427
; <kuid:401543:3201> function $void@PropertyObject::propertyBrowserRefresh(Browser), line 645
; <kuid:401543:3201> function $void@InterlockingTowerEditHelper::propertyBrowserRefresh(Browser), line 2360
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 127, ER_NullReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000001A55C72B0; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000D85181A0: InterlockingTowerEditHelper}, refcount:4}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $Soup@InterlockingTowerEditHelper::GetProperties(), line 127
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 333
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 201, ER_NullArrayReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000001A55C72B0; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000D85181A0: InterlockingTowerEditHelper}, refcount:7}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $void@InterlockingTowerEditHelper::OnStartedEditing(Message), line 201
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 127, ER_NullReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000001A55C72B0; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000D85181A0: InterlockingTowerEditHelper}, refcount:4}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $Soup@InterlockingTowerEditHelper::GetProperties(), line 127
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 333
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <NULL> File itemrulehdl.gs, Line 651, ER_NullReference
; <NULL> Script class: HTMLTowersManagerPropertyHandler
; <NULL> Object: GSGameObject{000000000BAE5A50; class:GSClass{0000000101D5BD88: HTMLTowersManagerPropertyHandler}, refcount:6}
; <NULL> Script callstack
; <NULL> function $int@HTMLTowersManagerPropertyHandler::GetTowerObjectsCount(InterlockingTower), line 643
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetTowersPageArea(), line 845
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetDisplayPageArea(), line 484
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetDescriptionHTML(), line 316
; <NULL> function $string@PropertyObject::GetDescriptionHTML(), line 524
; <NULL> function $void@PropertyObject::propertyBrowserRefresh(Browser), line 645

- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 333
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 333
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <NULL> File itemrulehdl.gs, Line 651, ER_NullReference
; <NULL> Script class: HTMLTowersManagerPropertyHandler
; <NULL> Object: GSGameObject{000000000BAE5A50; class:GSClass{0000000101D5BD88: HTMLTowersManagerPropertyHandler}, refcount:6}
; <NULL> Script callstack
; <NULL> function $int@HTMLTowersManagerPropertyHandler::GetTowerObjectsCount(InterlockingTower), line 643
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetTowersPageArea(), line 845
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetDisplayPageArea(), line 484
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetDescriptionHTML(), line 316
; <NULL> function $string@PropertyObject::GetDescriptionHTML(), line 524
; <NULL> function $void@PropertyObject::propertyBrowserRefresh(Browser), line 645
 
Hi Christian.

Not very good news. Looking at your post and images, the initial error (script time out on the second image) has happened when you were trying to edit an interlocking tower (should be the Yard - Bellevue West from your operation explanation) and this happens while executing the standard interlocking tower editor script code by N3V. My first diagnosis is that probably the number of paths and number of path objects included in this tower exceeds the capacity of the interlocking tower editor script to process so many paths and path objects without causing a script time error.

The only thing that can be done is to split all the paths managed by this tower in two or more distinct towers. As all paths starting at the same entry signal needs to be inside the same tower, I hope your paths inside this tower starts at several distinct entry signals so that you can split your tower paths inside two or more distinct towers grouped by entry signals : grouping all paths starting at entry signal A inside a new tower Yard - Bellevue West A, all paths starting at entry signal B inside a new tower Yard - Bellevue West B, …

The remaining problem is that you cannot use the N3V standard tower editor (as it causes a timeout) which probably means that you need to re enter all the paths definition manually by hand in the new two or more towers you will create. But before that you can try and check if the Interlocking Tower Manager Rule is still able under surveyor to edit paths in the Yard Bellevue West tower. If it is the case you can try to create a new empty tower Yard Bellevue Tower B, copy all the initial tower paths to this new tower (copy from option on the tower page list), and then delete in each tower the paths no longer needed. When you will have split the paths between the two towers, go on the map to each tower and try editing them with the standard N3V interlocking tower editor and if it works very important click on the ok button in the N3V tower editor to confirm the changes (updates done inside the interlocking tower manager rule but not confirmed after by editing the tower using the standard editor may be ignored). And only when you will have confirmed the new paths definition in all the new towers, try to save your session. and if this does not work … sorry … you will need to repopulate your paths inside each new tower manually …

I have currently set a limit of 600 paths objects by tower before making a warning that the tower has too many path objects. I notice that you have this type of problem with only 480 path objects. This means that I was too optimist with my limit of 600 paths objects by tower, and I will certainly downsize in future version this limit to probably 450 objects to try to make some warnings before you encounter such problems.

If you need more explanations or more help, let me know either by posting here or by sending me a PM message.

Good luck for splitting your paths inside two new towers …
Regards.

Pierre.
 
Thanks for the feedback Pierre, happy belated birthday yet.

Really not good news. I made sure that I stayed far from the 600 objects and now something like that. Then I'll take a look at it and think about something. I would like your help further here, I think that some others also have such problems now if you have a large interlocking tower.

Here is an overview of the paths in the tower "Yard West". Is it enough if I put all paths of the 8 entry signals in the upper part in a separate tower and the paths of the 5 entry signals in the lower part in the 2? I thought several interlocking towers should not be able to access the same content? For example, upper 1 to lower 5 in first tower and lower 5 to upper 1 in second Tower. Then the option would only work if I no longer use the cross over, but then it is no longer usable because trains cannot reach their destinations. So ultimately I can not provide this section with interlocking tower.

Another question, it currently works. As long as I don't want to change the paths, there are no problems, do I see that correctly? Editing in surveyor = error, get path in driver = no problems? What about missioncodes? Can I use the rule to take my paths out of the tower, or will this also end in red bug situations?

Does it help if I report it via bug report, or will the answer come that I should contact the developer (ie you) that his content is no longer really compatible?

I can certainly remove paths from the tower. What do you think would be a safe base?

Thank you for your effort and stay healthy.

Christian



My-Trainz-Screenshot-Image.jpg
 
. . . Here is an overview of the paths in the tower "Yard West". Is it enough if I put all paths of the 8 entry signals in the upper part in a separate tower and the paths of the 5 entry signals in the lower part in the 2? I thought several interlocking towers should not be able to access the same content? For example, upper 1 to lower 5 in first tower and lower 5 to upper 1 in second Tower. Then the option would only work if I no longer use the cross over, but then it is no longer usable because trains cannot reach their destinations. So ultimately I can not provide this section with interlocking tower. . . .

The important point is that your new towers need to have the option ownership set to dynamic mode instead of static mode.
In static ownership mode, the EIT works like standard N3V interlocking tower and will take ownership of all path objects (entry signals, intermediate junctions and signals, exit signals) when your session starts running in driving mode and will never release these path objects ownership. In dynamic mode, the EIT only takes ownership of all paths entry signals and will take other path objects ownership (intermediate junctions and signals, exit signals) when needed on path activation. And these other path objects ownership will be released when the owning path is released.
This enables that intermediate path objects like junctions, intermediate signals, exit signals can be shared between dynamic towers (all sharing towers needs to be in dynamic mode).
And sharing intermediate path objects offers several new possibilities : first one is to be able split paths in a common area between several dynamic towers with only one constraint being that all paths starting at the same entry signal needs to be in the same tower ; other intersecting paths can be located in another tower … second one is that you can group paths in one direction in one dynamic tower and group paths in the reverse direction in another tower : with dynamic towers for example you can have all the paths leading towards a terminus station in one dynamic tower arrivals and all the paths leading out the same terminus station in one dynamic tower departures. And in yards, as dynamic towers do not lock junctions when paths are inactive, you may do some manual operations when no paths is active …
What is the counterpart for dynamic tower : it takes a little more cpu overhead to activate paths, as no surprise the tower will begin by taking intermediate paths objects ownership before doing normal path activation. So path activation and cancellation may last a little longer and frame rates may be a little bit under static towers operations.
My recommandation is to keep towers in static mode, except when you have the need to use dynamic mode for splitting paths between several towers or for yards manual operations.

. . . Another question, it currently works. As long as I don't want to change the paths, there are no problems, do I see that correctly? Editing in surveyor = error, get path in driver = no problems? What about missioncodes? Can I use the rule to take my paths out of the tower, or will this also end in red bug situations? . . .
Towers and paths are optimized for run time operations in how they store internal tower and paths data. This means that editing a tower or a path needs a lot of script operations to convert the data to display the tower list of paths and all the path objects inside a path. Activating and releasing a path is on the other side very efficient because the data is organised to minimise script operations. This explains why when you have too many paths or objects you first encounter some script timeout errors when editing in surveyor towers and paths and more later when using the tower and paths in driver mode ...

. . . Does it help if I report it via bug report, or will the answer come that I should contact the developer (ie you) that his content is no longer really compatible? . . .
You can of course submit the problem to N3V, but I think their probable first reaction will be why do you need so many paths in your tower ? and then can you split your paths in several towers …? in fact you have many paths in this tower because you have defined all the possible paths from any entry tracks to any yard tracks and from any yard tracks to any outgoing tracks. But probably for a session, you will not use all of these paths but only a limited part of them. N3V recommandation is to define in a session only the paths that you need for this session and not the unused ones. This is a question for every session creators : do I define all the possible paths in a session and I use only a few of them or do I define only the paths I need with smaller in size towers …
Personally on my routes or on existing routes where I create my own sessions, I always have a base session that I populate with towers with all possibles paths (using dynamic towers to split paths when needed) and when I create the session to run I make copy of this base session that I tailor to my session needs.
But again you can ask N3V about this timeout problem to see what will be their answer. But they read also this forum thread so they may also say that with EITs there is a dynamic ownership mode that enables to split quite easily (much more easily than with standard N3V static towers) paths between several towers and that you have several solutions to reduce your towers needed path and path objects ressources … If you ask N3V let me know their answer …

Hope this helps.
Regards.
Pierre.
 
I'm currently testing them, the new versions came to DLS today.

Edit:

A well-known result with the :70 Version

- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 352
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 352
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 1430, ER_NullReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000000B5702F90; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000CA5F0800: InterlockingTowerEditHelper}, refcount:6}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $string@InterlockingTowerEditHelper::GetDescriptionHTML(), line 1427
; <kuid:401543:3201> function $void@PropertyObject::propertyBrowserRefresh(Browser), line 645
; <kuid:401543:3201> function $void@InterlockingTowerEditHelper::propertyBrowserRefresh(Browser), line 2360
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 127, ER_NullReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000000B5702F90; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000CA5F0800: InterlockingTowerEditHelper}, refcount:4}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $Soup@InterlockingTowerEditHelper::GetProperties(), line 127
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 352
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 201, ER_NullArrayReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000000B5702F90; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000CA5F0800: InterlockingTowerEditHelper}, refcount:7}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $void@InterlockingTowerEditHelper::OnStartedEditing(Message), line 201
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 352
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 352
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <kuid:401543:3201> File interlockingtoweredithelper.gs, Line 127, ER_NullReference
; <kuid:401543:3201> Script class: InterlockingTowerEditHelper
; <kuid:401543:3201> Object: ScriptableObject{00000000B5702F90; asset:SpecReference{<kuid:401543:3201> "Stellwerk Bearbeitungshilfe"}, class:GSClass{00000000CA5F0800: InterlockingTowerEditHelper}, refcount:4}
; <kuid:401543:3201> Script callstack
; <kuid:401543:3201> function $Soup@InterlockingTowerEditHelper::GetProperties(), line 127
- <kuid2:61392:8101:52> File interlockingtower.gs, Line 1709, ER_NullReference
; <kuid2:61392:8101:52> Script class: DummyInterlockingTower
; <kuid2:61392:8101:52> MeshObject: <kuid2:61392:8101:52> "Enhanced TRC3 invisible Interlocking Tower (SP2 and later)"
; <kuid2:61392:8101:52> Script callstack
; <kuid2:61392:8101:52> function $Soup@InterlockingTower::GetProperties(), line 1698
; <kuid2:61392:8101:52> function $Soup@EnhancedInterlockingTower::GetProperties(), line 352
; <kuid2:61392:8101:52> function $Soup@DummyInterlockingTower::GetProperties(), line 44
- <NULL> File itemrulehdl.gs, Line 692, ER_NullReference
; <NULL> Script class: HTMLTowersManagerPropertyHandler
; <NULL> Object: GSGameObject{00000000761A9AE0; class:GSClass{0000000026EAFBB8: HTMLTowersManagerPropertyHandler}, refcount:6}
; <NULL> Script callstack
; <NULL> function $int@HTMLTowersManagerPropertyHandler::GetTowerObjectsCount(InterlockingTower), line 684
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetTowersPageArea(), line 911
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetDisplayPageArea(), line 526
; <NULL> function $string@HTMLTowersManagerPropertyHandler::GetDescriptionHTML(), line 315
; <NULL> function $string@PropertyObject::GetDescriptionHTML(), line 524
; <NULL> function $void@PropertyObject::propertyBrowserRefresh(Browser), line 645


- <NULL> File soup.gs, Line 428, ER_Timeout
; <NULL> Script class: EnhancedInterlockingTowerPath
; <NULL> Object: GSGameObject{00000000E962A460; class:GSClass{000000003C662C28: EnhancedInterlockingTowerPath}, refcount:3}
; <NULL> Script callstack
; <NULL> function $void@EnhancedInterlockingTowerPath::InheritedSetProperties(SecurityToken,Soup), line 405
; <NULL> function $void@EnhancedInterlockingTowerPath::SetProperties(SecurityToken,Soup), line 517
; <NULL> function $void@InterlockingTower::SetProperties(Soup), line 1780
; <NULL> function $void@EnhancedInterlockingTower::SetProperties(Soup), line 440
; <NULL> function $void@DummyInterlockingTower::SetProperties(Soup), line 57
; <NULL> function $void@InterlockingTowerEditHelper::SetProperties(Soup), line 113
 
Last edited:
... why do you need so many paths in your tower ? and then can you split your paths in several towers …?

That reminded me. I had similar problem about a year ago. The solution was to split the single towers at various locations into separate towers (e.g. East and West, North or South) just like in many real junctions.
 
Might want to get version 70 on th DLS instead of version 63.

If you don't have platinum or 105100 don't get 70. When I updated I lost all the drive to, couple at TM lists. had to restore an older session because the kuids would not go away.
 
Last edited:
Hi.

Version 70 has been tested and validated with Tane SP4 build 105766, TRS19 standard edition build 105096, TRS19 PLus build 105100, and TRS19 Plus beta build 106291 and should work fine with all these versions. Older previous versions like Tane SP2 or Tane SP3 have no longer been tested and may be not compatible. THis new version includes a lot of fixes for Trainz Plus unified driver/surveyor toggle mode support and should be now used on all above supported Trainz versions.

I understand Stagecoach that you have encountered some problems after updating, but I don't see how an update to EIT, MCM and STT assets can make loosing driveto and couple at TM driver commands in existing schedules. These assets are totally independant of EIT, MCM and STT assets and if you have lost them after the update there is certainly another cause that has made these schedules being lost ...

Regards.
Pierre.
 
Hi Pierre
I am using TRS19 build 100464 at present as it is the last build before UDS. It is in this build that <kuid2:61392:8130:70> IT Enhanced Manager rule (TANE SP4 and later) causes the drive to trackmark list, couple at trackmark list to fail. When I select the command no list is available to pick from. If I run a route with already placed commands the train ignores them and deletes it without going to it. <kuid2:61392:1050:14> DriveToTrackmarkList (SP2 and later)
 
Hi Stagecoach.

Sorry, I did not understand that you were speaking of DriveTotrackmarkList <kuid2:61392:1050:14> not working correctly with v70. I will have a look to this during the afternoon to find what is causing the problem and bring a solution ...
 
It is working fine in 105100 Platinum version but once 100464 updated the assets the list went blank and it would not delete from the session config in order to use the previous version. I use Platinum but have a habit of saving the session while working on it and loose the original start session.
 
Hi.

My current problem is that I have no longer any occurene of build 100464, and I don't see how to reinstall it back on my PC as any new installation installs either build 105096 or build 105100 ... And without being able to repro the problem under 100464, difficult to find why you obtain some blank trackmark list under 100464 instead of fully populated list under 105096 or 105100 …

Just a question : do you have done as recommended a database rebuild after installation followed by closing all TRS2019 windows (including launcher) before re opening launcher and starting your session ? if it has not been done, I would suggest you try that as for some unknown reason it seems necessary to do it for all the updates to be correctly initialized …

Still searching a method to reinstall build 100464 …

Regards.
Pierre.
 
Good evening Pierre,

after I have now modeled my paths new and got my towers error-free with your help (Interlocking Tower West now only has 244 object counts for a 24 hour session, before 480), I now have problems with the MissioncodeManager which i need now. All content runs in the highest available version. Let me guess too many MCs?

These are the errors i get in surveyor and also driver mode:

- <NULL> glklib - unable to link to common data library library (cdlib) ... (file gs.gs)
; <NULL> Script class: Interface
; <NULL> Object: GSGameObject{00000001CD5BC920; class:GSClass{00000000373E19C8: Interface}, refcount:3}
; <NULL> Script callstack
; <NULL> function $void@GameObject::Exception(string), line -1
; <NULL> function $void@GlobalLocksLib::Init(Asset), line 149
- <NULL> EsvlibSP2 - unable to link to common data library library (cdlib) ... (file gs.gs)
; <NULL> Script class: Interface
; <NULL> Object: GSGameObject{00000001CD5BC920; class:GSClass{00000000373E19C8: Interface}, refcount:3}
; <NULL> Script callstack
; <NULL> function $void@GameObject::Exception(string), line -1
; <NULL> function $void@esvlib2::Init(Asset), line 110
- <NULL> EitTowersManager<kuid2:61392:8130:70> - unable to link to common data library ... (file gs.gs)
; <NULL> Script class: Interface
; <NULL> Object: GSGameObject{00000001CD5BC920; class:GSClass{00000000373E19C8: Interface}, refcount:3}
; <NULL> Script callstack
; <NULL> function $void@GameObject::Exception(string), line -1
; <NULL> function $void@TowersManager::Init(Asset), line 109
- <kuid2:61392:8200:70> MissionCode manager rule <kuid2:61392:8200:70> - unable to link to common data library. (file gs.gs)
; <kuid2:61392:8200:70> Script class: MissionCodeManager
; <kuid2:61392:8200:70> Object: ScriptableObject{0000000171FA6148; asset:SpecReference{<kuid2:61392:8200:70> "MissionCode manager (TANE SP4 and later)"}, class:GSClass{00000000ADECD808: MissionCodeManager}, refcount:3}
; <kuid2:61392:8200:70> Script callstack
; <kuid2:61392:8200:70> function $void@GameObject::Exception(string), line -1
; <kuid2:61392:8200:70> function $void@MissionCodeManager::Init(Asset), line 178
 
Back
Top