Polish signals - AI trains passing them on red

Sebo007

Sebek07 Trainz
Hello. After last Trainz Plus update (In my case build 123800 Steam) and on TRS22 AI trains passing signal on a danger on every signal from pack of Polish Signals from RBach, at any version of script library. The AI train completely doesn't see signal since the last second when puts emergency brake equally next to semaphore and waits. The issue we are dealing known is from a months and also signalling author probably(?) doesn't have an idea how to fix it. TRS22 / T+ is still unplayable in our maps when you trying to make AI trains or sessions.
The signal library <kuid2:263713:150005:5> East european signals v5.4 - system script library 17.08.2022
Whole signal pack: http://trainz.krb.com.pl/download/sygnalizacja-v5-megapack
Unfortunately scripts are encrypted, but maybe game developers will have ability to take a look on it and indicate the source of the problem.
Greetings.
 
This is caused by the scripts not working properly.

This may not solve your problem right now, but you may want to take a look at this thread here. There are good things on the far distant horizon.

 
This is caused by the scripts not working properly.

This may not solve your problem right now, but you may want to take a look at this thread here. There are good things on the far distant horizon.

Yeah. EURSIG is known by me and I'm bidding who will be first. RBach signal fix or german EURSIG project which for which we will wait a long time.
But on a far distant horizon I'll see my money put on T+ subs and 22's, hours of map works and lots of messages from users which dealing with problems on our maps with messages like „I'm giving up with 22 because of dead signalling”. The problem is serious.
 
Yeah. EURSIG is known by me and I'm bidding who will be first. RBach signal fix or german EURSIG project which for which we will wait a long time.
But on a far distant horizon I'll see my money put on T+ subs and 22's, hours of map works and lots of messages from users which dealing with problems on our maps with messages like „I'm giving up with 22 because of dead signalling”. The problem is serious.
It's an unfortunate thing but it was bound to happen. N3V had warnings regarding the scripts and even said at one point to developers that they have to fix the scripts because the scripts cause issues. We don't see all the issues because they are internal and cause such things as bad performance and even unexplained crashes. As always, warnings in Trainz eventually become actual faults and this is what happened. Since N3V didn't create these assets, it's up to the content-creator to repair them. The problem with Trainz assets is people replicate and replicate the replicated assets causing the same problem to spread among many, many assets. This makes the problem worse because it means more assets have to be updated even though the problem was originally only with one asset or group of assets.
 
One thing about scripts I see is that the game is using a fully custom language, but there's no comprehensive guide for it. The wiki aims to be one, but a lot of basic stuff is simply undocumented, it is also hard to navigate between different articles. Some examples:

- no direct link of any sort between articles like https://online.ts2009.com/mediaWiki/index.php/Getting_Started_in_TrainzScript and https://online.ts2009.com/mediaWiki/index.php/TrainzScript_Library_Reference
- look at the second link and see, how many red links are there.

Also, much of the documentation does not contain any guidelines about proper use. There's no list of warnings like "don't do that, because bad things will happen". If there are functional changes in script behavior, N3V Games does not even list them in the Release Notes. A good example are scripted passenger assets. The only documentation for it is this article: https://online.ts2009.com/mediaWiki/index.php/HowTo/Build_Passenger_Enabled_Assets . GenericPassengerStation class itself is undocumented (and almost all classes related to interactive industries, too). When I was writing Universal Invisible Station script library, I had to basically reverse engineer other scripts to understand, how passenger station configuration properties work in order to extend UI for it with additional options. Then, in one SP the entire default configuration was moved to the native code with no warning and my script stopped working :). I didn't even realize that I need to fix anything until 2 months later.

Things that would help:

* finishing the documentation,
* creating a page with known bad practices,
* publishing deprecation warnings in advance in a single, well known place that doesn't require hitting a specific conversation on forum by accident on the right time,
* clearly describe intentional, functional changes that affect scripts in Release Notes with migration guides.

For me, it makes writing scripts for Trainz unpredictable. Even if you do all your best to read the docs, you have no real confidence whether you go in right direction or not.
 
Last edited:
In the very olden days, Auran had a fairly comprehensive developer guide in their documentation for TRS2004 and before. With the advent of the Wiki, all that hard work went into ether. Sure, that documentation is out of date today but it was something that everyone could refer to in addition to other people's scripts. Referring to others works as examples is okay but the problem is there may be errors introduced into that asset. With nothing to refer to to verify code, we now rely on other's work, typos and all. Time and time again over the years we've been caught out with faulty assets due to this reason. Over the years, we've had built-in assets, yes, those provided by Auran at the time with typographical errors in config.txt files. When creating similar assets, many users copied the built-in asset with the typographical errors causing the same problems to replicate, like a virus to put it bluntly, across thousands of assets.

The problem is this not only created thousands of faulty assets but also there was no error checking to catch the faults until TRS2006 came along. When the early error-checking was introduced literally without warning, there were thousands of faulty assets now. When this occurred, many content-creators quit using Trainz altogether at the time.

The same scenario played out time and time again as each new version of Trainz was introduced. More and more assets were trapped now with faults without warning from the development team, causing users to fix their assets and again content-creators walked away. This same scenario is playing out again with the scripts. No documentation, copied something that worked previously, and then pull the rug out and suddenly kill thousands of scripts. There were warnings about changes happening soon(tm) or sometime in the future, but there was no firm timeframe or assistance with fixing anything.

As always, there's no thought about the impact that their changes and updates will make.
 
@JCitron: Once again, you write a post that I strongly agree with but cannot Like because I do not like it.

@ZyxwvU: You do know that when you encounter pages that are missing links like that, you can edit the page and add one, right? We should both keep the proverbial eye out for such omissions.
 
Back
Top