JR Muiltiple Industry New Update

The displayed units of measurement are dependent on your game's current unit setting, so this is entirely up to you when you make your route.

I just made a test route in TRS19, setting the units to "metric":

Screenshot-2024-12-08-174828.png


The interface windows of the "JR Multi Industry II", however, still show Imperial units, i.e. "Feet" for the loading/unloading zone length:

Screenshot-2024-12-08-174944.png


and "Gallons" for liquid bulk products:

Screenshot-2024-12-08-175106.png


Have I missed some essential point?
 
I would prioritize getting the Multi Industry II asset to work correctly before addressing purely cosmetic issues like metric/imperial. From the posts here and on Discord, it appears a lot of users aren't able to access some of its core functionality.

The following settings for the "Load/Unload all cars at this industry track" setting do not result in any loading or unloading, no matter how long I wait, coupled or uncoupled, for any car. Here I am using a vanilla Custom 40' Boxcar with the vanilla General Goods load. This is on an otherwise blank baseboard.

Switching to the "Trainz Default" setting results in the car loading and unloading normally, so the issue is not with the car or the load, specifically.

When I first installed the track, I did see a message on the lower-left corner, something like "identifying train cars in radius: 6 train cars found." (There were only 6 cars/locos on the route, my test baseboard.) Since then, I have not seen that message pop up, despite deleting and re-pasting the track asset.

A couple times, when first pasting down the asset and adding a load to the queue, I get a script error (same one reported by Trainman10), but the load appears in the queue and the asset works in Default mode.

Tried uninstalling / reinstalling the asset, and database repair.

I do have a large number of loads installed from the DLS, most of which I do not use. But I doubt I have over 1400, since I read that is some sort of limit that can cause glitches.

Trainz Plus, Build 126280.

Thanks for the great asset! I hope it can eventually work for me, since the concept is really game-changing. Any suggestions welcome.


MIN-error.jpg
 
Last edited:
I just made a test route in TRS19, setting the units to "metric":



The interface windows of the "JR Multi Industry II", however, still show Imperial units, i.e. "Feet" for the loading/unloading zone length:



and "Gallons" for liquid bulk products:



Have I missed some essential point?


I don't know about your particular situation. It is just tied to the game's own setting how it is always done when you press the "G" key driver or edit route or the upper menu units toggle.
As you may already be aware, all internal measurements in the trainz code are metric to begin with, I simply used the units setting to determine what to display in the dialog.


When I first installed the track, I did see a message on the lower-left corner, something like "identifying train cars in radius: 6 train cars found." (There were only 6 cars/locos on the route, my test baseboard.) Since then, I have not seen that message pop up, despite deleting and re-pasting the track asset.

This was more likely during building of the products and traincar lists, but this is how MIN has always worked. I certainly never mentioned a radius anywhere as that is not a parameter used.

'Attempting to update world product list' and 'Attempting to update world traincar list' are only for the configuration dialogs and product filters.

A couple times, when first pasting down the asset and adding a load to the queue, I get a script error (same one reported by Trainman10), but the load appears in the queue and the asset works in Default mode.

Yes this is 100% from the products display and is only cosmetic and related to the dialog itself.

Tried uninstalling / reinstalling the asset, and database repair.

I do have a large number of loads installed from the DLS, most of which I do not use. But I doubt I have over 1400, since I read that is some sort of limit that can cause glitches.

Trainz Plus, Build 126280.

I cannot imagine it would be any of this. What I would really like to see is your game logs during the driver session.
 
Thank you for the detailed reply.

After some more testing, I have another report on the Load/Unlad all cars at this industry track function.

Earlier today, after booting my computer and starting the test route, I noticed that all of a sudden the Multi Industry II was unloading the boxcar. Then, emptying the boxcar by editing it directly in Driver, it unloaded it again. However, I was not able to replicate this, except once after editing the route, moving the boxcar, and exiting the game and restarting. Different combinations of the above did not produce consistant results. The asset's "Activity Logs" do not show much other than repeated messages stating that the user reset the time scale from 0x to 1x, or that the user reset the game clock. The logs seem to just show that each boxcar printed a message when it loaded/unloaded.

After starting a new blank route and placing two Multi Industry IIs: one for loading and one for unloading. I set the properties for both as follows:

Note that I have NOT checked the box for operating one car at a time.

MIN-error2.jpg


I added 5 new Custom 40' Boxcars as above, with a length to fit the 250 ft loading area. (The crates are to visually indicate in Driver the boundaries.) All were initially placed outside the loading area and driven into the loading area and stopped as shown above.

The result is as follows, and suggests a 30 second interval:

Start:
Custom boxcar 1 (red, furthest from the loco) loaded after 0:29
Boxcar 5 (orange) loaded at 0:59
Boxcar 2 (green) loaded at 1:30
Boxcar 7 (white & grey) loaded at 2:00
[Boxcar 6, (the CN) didn't load after a further 1 minute elapsed, so I drove away. A message on the corner subsequently indicated that a car was skipped.)

Train moved to unloading track (arriving with 4 loaded cars):
Boxcar 1 unloaded at 0:10
Boxcar 5 unloaded at 0:40
Boxcar 2 unloaded at 1:34
Boxcar 3 unloaded at 2:36

Train moved back to loading track, all cars empty:
Boxcar 7 loaded at 0:23
Boxcar 5 loaded at 0:53
Boxcar 2 loaded at 1:23
Boxcar 6 loaded at 1:53
[Again, this is leaving one car empty after a further 2 minutes elapsed from the last successful loading event. But oddly, not the same boxcar.]

For each loading/unloading event, the interval between each good being removed was 1 second, seeming to indicate that the "process duration" intervals are correct, only the "begin after" interval is not working.

Next, I went into Surveyor > Edit Session > Restart all rules, and directly edited a boxcar to remove its load (so, now there are 2 empties, 3 loaded). Back in driver, that boxcar then loaded after 30 seconds, but the other one didn't. After editing another boxcar in driver to remove its load, it did not reload. However, mysteriously, the boxcar that had failed to load before now did load.

Next, I drove to the unload track with the log open, and all 5 boxcars unloaded, starting at 0:05 and unloading at 30 second intervals until all finished. This is the only time the track successfully acted on all 5 cars.

MIN-error3.jpg


Next, I returned to the loading track, and it again loaded only 4 of 5 boxcars. I edited the unloading track to an interval of 0.1 minute (6 seconds) and then drove the train with 4 loaded boxcars back to the unloading track. After 6 minutes, no unloading had occurred. I switched to Surveyor, made a superficial edit to the route, and saved the route and session. Opening the route again with no other changes, after 2 minutes the 4 boxcars had unloaded successfully at 30 second intervals. Seems to indicate something about editing the MI2 caused it to stop working. Repeating the process of driving, loading, driving, unloading worked as before (though, usually, the MI2 omits to load/unload one of the cars, often in the middle of the consist).

MIN-error4.jpg


The log doesn't show any error message. In the image above, the message about "skipping" refers to boxcars and locos that did not have any loads, so driving off early cannot explain the "skipping" aspect. Note that there are 5 boxcars in the consist, so it consistently failed to load or unload 1 of the cars. If the user arrives with only 1 car, and it doesn't load/unload that car for the same random reason, that would also cause users to believe the track is not working at all.

So, here are my current hypotheses:
* Even setting the delay time at 0, the delay of ~30 seconds may have confused me or others about whether the track was working at all.
* Perhaps setting a delay time of 0:06 or 0:30 results in an extremely long interval, like 15 minutes or an hour, or even infinity, since a delay of 0:00 yields a delay for each loading/unloading event of ~30 seconds. This could also lead users to believe it is not working.
* Editing the MI2 properties may cause it to stop working, until the route or session are resaved and reopened or otherwise restarted. This may cause users to report the track is not working.
* Perhaps the delay in starting each process is due to the track processing a large amount of information, though I don't know what, since this is an empty route. And why does it need 30 seconds before starting a new car, instead of doing all cars stopped within the designated range?
* If the track has already performed a loading/unloading on a given car, it may not be able to recognize that car again after it has been directly edited by the user. It may only recognize it is empty if it has been emptied by another track process in game. That might explain why I got inconsistent results earlier. Restarting session rules, editing route in surveyor, restarting game, or rebooting may be necessary to clear the memory of having already loaded/unloaded a given car.
* The inconsistant intervals and some cars failing to load/unload are still unexplained.
 
Last edited:
So, here are my current hypotheses:
* Even setting the delay time at 0, the delay of ~30 seconds may have confused me or others about whether the track was working at all.
* Perhaps setting a delay time of 0:06 or 0:30 results in an extremely long interval, like 15 minutes or an hour, or even infinity, since a delay of 0:00 yields a delay for each loading/unloading event of ~30 seconds. This could also lead users to believe it is not working.
* Editing the MI2 properties may cause it to stop working, until the route or session are resaved and reopened or otherwise restarted. This may cause users to report the track is not working.
* Perhaps the delay in starting each process is due to the track processing a large amount of information, though I don't know what, since this is an empty route. And why does it need 30 seconds before starting a new car, instead of doing all cars stopped within the designated range?
* If the track has already performed a loading/unloading on a given car, it may not be able to recognize that car again after it has been directly edited by the user. It may only recognize it is empty if it has been emptied by another track process in game. That might explain why I got inconsistent results earlier. Restarting session rules, editing route in surveyor, restarting game, or rebooting may be necessary to clear the memory of having already loaded/unloaded a given car.
* The inconsistant intervals and some cars failing to load/unload are still unexplained.

First thing - you will see more log information if you set "log script output" in your settings. it would give you some more clues.

Aaah, it sounds like you were trying to rush the process.
It is true that the industry only checks the track every 30 seconds when in search mode. This didn't seem like an issue for the typical use case and there is no reason to overburden simulation resources for it. Nowhere in the world do they start unloading a string of cars all at once without some seconds in between. In session use, this is hardly noticed because one is not waiting for some effect. I think this is the "watched kettle never boiling" problem, but perhaps this could be tweaked down. I am open to suggestions.

There is a list the industry keeps of the cars that it has operated on. You are having the repeatability issue because the train is remaining at the industry or close to it. The cars that were processed don't ever get marked off as having been delivered away to another place, so they will be skipped when the next cycle comes around as if they have never been picked up, otherwise a car may sit and load and unload forever. the train cars being operated on must leave the industry before they will be processed again and this means moving the cars beyond the 150m outer trigger limit of the industry. As each one moves past that limit, they will be removed from the list.
The other ways of resetting it are starting the session again, which will cause it to re-evaluate all of the present cars or opening the surveyor details dialog and closing it.

If you activate your script log output you will see the message "[industry name]: Operation mode: Timed Search." and "Begin search..." These messages only occur when the industry fully resets (including the car list). So you should see this once when starting driver.
 
With six cars to unload the time to process the individual cars can be quite different. Some unload very quickly, while others will set for several minutes. I had two commodities, general goods and lumber all unloaded even when I uncoupled the engine. Isn't that the whole point of the update?
 
First thing - you will see more log information if you set "log script output" in your settings. it would give you some more clues.

Aaah, it sounds like you were trying to rush the process.
It is true that the industry only checks the track every 30 seconds when in search mode. This didn't seem like an issue for the typical use case and there is no reason to overburden simulation resources for it. Nowhere in the world do they start unloading a string of cars all at once without some seconds in between. In session use, this is hardly noticed because one is not waiting for some effect. I think this is the "watched kettle never boiling" problem, but perhaps this could be tweaked down. I am open to suggestions.

I totally agree about the timing of the industry checks. As you say, the purpose of this function is to add realism. I don't see any need to check more frequently. If checking uses a lot of computing power (I have 100+ MINs on my route), it might even be desirable to lengthen the check time to 1 or 2 minutes! But then that would also add to the time between individual car loadings, I guess?

The issue is with user understanding and expectations, as my case shows. Most users will be familiar with the MIN and the default functionality, where cars unload immediately on arrival with no delay. So if they set the delay to 0, they expect that. Several others are saying this mode doesn't work for them, and if I'm right that the problem is the same, I think the solution is simple. Potentially make it so that the delay cannot be reduced below 30 seconds, and definitely add a text explanation immediately adjacent to the "begin after" input stating that 30 seconds is the minimum, so 0 seconds will never happen. (I know it may start sooner if they check happens to occur right after arrival, but the point is to manage expectations.)

Similarly, some explanation below about the other issues might also help, though perhaps not important.

For the 30 second delay between each car loading, seems reasonable, except that the presence of the tick box "Only operate on one car at a time" clearly implies that all cars will be operated on simultaneously if left unchecked. If it is not actually possible to simultaneously unload cars like in default mode, this is inherently confusing. I still don't understand the thinking in including this box, if the minimum interval is 30 seconds per car. If I put a "begin after" time of 15 minutes, and leave the box unchecked, then the interval will be 30 seconds, and if I check the box, it will be 15 minutes between each car loading? If so, the text description by the check box should change to reflect this. Something like "Time between operating on each car (minimum 30 seconds)" or "Set time between operating on each car to equal 'begin after' time (otherwise, 30 second minimum)." The wording could be improved, but at least they aren't inaccurate.

There is a list the industry keeps of the cars that it has operated on. You are having the repeatability issue because the train is remaining at the industry or close to it. The cars that were processed don't ever get marked off as having been delivered away to another place, so they will be skipped when the next cycle comes around as if they have never been picked up, otherwise a car may sit and load and unload forever. the train cars being operated on must leave the industry before they will be processed again and this means moving the cars beyond the 150m outer trigger limit of the industry. As each one moves past that limit, they will be removed from the list.
The other ways of resetting it are starting the session again, which will cause it to re-evaluate all of the present cars or opening the surveyor details dialog and closing it.
Also seems reasonable, but may need to be explained, since many users will edit the cars in Driver and then wonder why they were never operated on again. Maybe not too important, though.

If you activate your script log output you will see the message "[industry name]: Operation mode: Timed Search." and "Begin search..." These messages only occur when the industry fully resets (including the car list). So you should see this once when starting driver.
With all that understood, I am still struggling with this asset. Testing today with the logs open, again it omits to operate on random single boxcars within the consist. (I started fresh with a new test baseboard, this time with the two MI2s placed far apart.) The log for the entire sequence is long, but it seems to have only evaluated and operated on the 4 cars that succeeded, and didn't post any messages about the one that it omited -- it wasn't evaluated or anything. There were no other special messages. I could post the long logs for that sequence, if useful.

In a separate and different type of event, I arrived on the loading track with 5 empty cars, but only 1 loaded. Then the log says something about the consist sleeping. I didn't do anything different with this consist.

MIN-error5.jpg


Then, when I make an edit in Driver or Surveyor, it sometimes stops working. Other than restarting the session (which would blank out or restart session rules like Car Tagger or session objectives), I don't seem to be able to constistently get the MI2 to reset, other than completely restarting the game. Opening and closing the MI2 dialogue (with or without editing and saving a change), going into Surveyor and back to Driver, saving the session from Driver, saving the route and session from Surveyor after a superficial route edit and then closing and reopening session ... none of those worked to restart the MI2, though the log shows it continues to perform CheckTrack. What is the absolute minimum to reset the MI2, that will work every time? Restarting the game?

Sorry for being frustrated, but I really do appreciate your work and help.
 
Then the log says something about the consist sleeping. I didn't do anything different with this consist.

If you have those logs it may be useful to see them. In the logs' search bar put the name of the industry so you can see only it's relevant messages. I do not even know what InterruptableLoadingSleep is off hand but its not related to MIN that I can think of.

What is the absolute minimum to reset the MI2, that will work every time? Restarting the game?

If you see the message about operation mode and begin search in the log then it has restarted and reset, there is nothing more to it than that. It holds no data between sessions except its own configuration that you see in the dialogs. Then of course CheckTrack is the track checking that fires every 30 seconds that looks inside the loading boundary for things to do. There must be something else effecting it.
 
If you see the message about operation mode and begin search in the log then it has restarted and reset, there is nothing more to it than that. It holds no data between sessions except its own configuration that you see in the dialogs. Then of course CheckTrack is the track checking that fires every 30 seconds that looks inside the loading boundary for things to do. There must be something else effecting it.
That wasn't quite my question. Yes, during my testing on a blank route, it is helpful to know this info is all I need to see in the logs. But during gameplay I will need more consistent behavior.

The following is my latest session log, just restricted to "multi industry" in the log's search. [The Forum says the post is too long, so I am pasting a link and an excerpt below.]

https://docs.google.com/document/d/...ouid=107589297843619207835&rtpof=true&sd=true

1. Loaded 4 boxcars at loading MI2
2. Drove to unloading MI2, unloaded all 5 boxcars
3. Drove to loading MI2, after 5 minutes no loading operations took place

All I did in this session was open up the last session (pictured in my last screenshot) in Drive, after having closed the game previously. The loading track loaded the 4 empties and the train departed with 5 full boxcars. Arriving at the unloading track, all 5 boxcars unloaded. Then, driving to the loading track, I hit pause to use the restroom. (Hard to believe that would cause an issue, but other than that I don't know what.) Arriving at the loading track again, no cars loaded. In the log, it appears the SceneryTrigger says "stopped" instead of "enter." Even though the train is fully within the loading area of the MI2.

As a reminder, this is an empty route, with just a few crates placed to indicate the start and end of loading/unloading areas.

Have to admit, I'm close to giving up, but all of your answers have been helpful. I hope there is some way to debug this.

; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0779 'AH GP9 Milwaukee 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0779 'AH GP9 Milwaukee 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0780 'Custom 40' Boxcar - #5 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0780 'Custom 40' Boxcar - #5 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0781 'Custom 40' Boxcar - #4 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0781 'Custom 40' Boxcar - #4 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0782 'Custom 40' Boxcar - #3 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0782 'Custom 40' Boxcar - #3 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0783 'Custom 40' Boxcar - #2 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0783 'Custom 40' Boxcar - #2 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0784 'Custom 40' Boxcar - #1 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0784 'Custom 40' Boxcar - #1 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0779 'AH GP9 Milwaukee 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0779 'AH GP9 Milwaukee 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0780 'Custom 40' Boxcar - #5 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0780 'Custom 40' Boxcar - #5 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0781 'Custom 40' Boxcar - #4 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0781 'Custom 40' Boxcar - #4 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0782 'Custom 40' Boxcar - #3 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0782 'Custom 40' Boxcar - #3 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0783 'Custom 40' Boxcar - #2 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0783 'Custom 40' Boxcar - #2 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0784 'Custom 40' Boxcar - #1 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0784 'Custom 40' Boxcar - #1 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0779 'AH GP9 Milwaukee 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0779 'AH GP9 Milwaukee 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0780 'Custom 40' Boxcar - #5 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0780 'Custom 40' Boxcar - #5 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0781 'Custom 40' Boxcar - #4 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0781 'Custom 40' Boxcar - #4 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0782 'Custom 40' Boxcar - #3 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0782 'Custom 40' Boxcar - #3 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0783 'Custom 40' Boxcar - #2 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0783 'Custom 40' Boxcar - #2 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0784 'Custom 40' Boxcar - #1 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0784 'Custom 40' Boxcar - #1 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0779 'AH GP9 Milwaukee 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0779 'AH GP9 Milwaukee 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0780 'Custom 40' Boxcar - #5 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0780 'Custom 40' Boxcar - #5 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0781 'Custom 40' Boxcar - #4 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0781 'Custom 40' Boxcar - #4 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0782 'Custom 40' Boxcar - #3 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0782 'Custom 40' Boxcar - #3 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0783 'Custom 40' Boxcar - #2 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0783 'Custom 40' Boxcar - #2 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
; <NULL> : router message from 0710 'JR Multi Industry II 2' to 0784 'Custom 40' Boxcar - #1 1', message SceneryTrigger, Stopped
; <NULL> : router message from 0784 'Custom 40' Boxcar - #1 1' to 0710 'JR Multi Industry II 2', message Object, Stopped
 
Last edited:
I have this asset on my route 26 times and have to edit every one of them, so they work. This should have been a new asset and not obsoleting the old one. I like the new one, but it made the released routes not work right. One other thing I noticed is that the "Set length of loading area 49 feet" is set for 1 car. You need to measure the length of your train that you want loaded or unloaded and change this distance so that all the cars you want this track to load, or unload, is within this distance or you will just 1 car changed.
 
I have this asset on my route 26 times and have to edit every one of them, so they work. This should have been a new asset and not obsoleting the old one. I like the new one, but it made the released routes not work right. One other thing I noticed is that the "Set length of loading area 49 feet" is set for 1 car. You need to measure the length of your train that you want loaded or unloaded and change this distance so that all the cars you want this track to load, or unload, is within this distance or you will just 1 car changed.
Good to know it works for someone. Wish we could have more info on settings and how you got it to work. If there is a secret to getting it to load and unload consistently, that would be useful for those of us who haven’t had any success.
 
Last edited:
I have noticed that a lot goes wrong when you pause the drive then restart it. It is not this asset's fault; it is the game.
 
I have this asset on my route 26 times and have to edit every one of them, so they work. This should have been a new asset and not obsoleting the old one. I like the new one, but it made the released routes not work right.

There should be no reason to have to change any older configured multi industry tracks. The item defaults to the previous behavior that it always had the only way it leaves that is if you set it in the configuration. I even have plenty of my own routes using it, I would never intentionally break them.

One other thing I noticed is that the "Set length of loading area 49 feet" is set for 1 car. You need to measure the length of your train that you want loaded or unloaded and change this distance so that all the cars you want this track to load, or unload, is within this distance or you will just 1 car changed.

This is confusing. Can you clarify? :unsure:

That wasn't quite my question. Yes, during my testing on a blank route, it is helpful to know this info is all I need to see in the logs. But during gameplay I will need more consistent behavior.

Have to admit, I'm close to giving up, but all of your answers have been helpful. I hope there is some way to debug this.

OK - I am sorry this isn't working for you. What I mean about resetting is that it does it any time you intit the object, it also does it any time you close the dialog in surveyor.

next thing - there is way too much noise in these logs and nothing in that post really says anything about the industry. Please disable script message logging but leave script output ticked. Next when you bring up the log, in the search field put the industry name as it is on the route, this way you will get a full summary of what that one item is doing.

you should see something like this - ill paste my own from the session operation shown in a video on the first post:

; <NULL> : JR Multi Industry 1: Operation mode: Timed Search.
; <NULL> : JR Multi Industry 1: Begin search...
; <NULL> : JR Multi Industry 1: Evaluating EEC (Ex-VAMD) 50ft Boxcar FMC 1.
; <NULL> : JR Multi Industry 1: Will attempt operation on EEC (Ex-VAMD) 50ft Boxcar FMC 1 in 20 seconds.
; <NULL> : Interface.Print> 'JR Multi Industry 1: Loading EEC (Ex-VAMD) 50ft Boxcar FMC 1'
; <NULL> : JR Multi Industry 1: Evaluating 52ft Gondola GONX 1.
; <NULL> : JR Multi Industry 1: Will attempt operation on 52ft Gondola GONX 1 in 20 seconds.
; <NULL> : Interface.Print> 'JR Multi Industry 1: Unloading 52ft Gondola GONX 1'
; <NULL> : JR Multi Industry 1: Evaluating 52ft Gondola GONX 2 1.
; <NULL> : JR Multi Industry 1: Will attempt operation on 52ft Gondola GONX 2 1 in 20 seconds.
; <NULL> : Interface.Print> 'JR Multi Industry 1: Unloading 52ft Gondola GONX 2 1'
; <NULL> : JR Multi Industry 1 ==> EEC (Ex-VAMD) 50ft Boxcar FMC 1: Loaded 32
; <NULL> : JR Multi Industry 1 ==> EEC (Ex-VAMD) 50ft Boxcar FMC 1: Finished.
; <NULL> : JR Multi Industry 1 <== 52ft Gondola GONX 1: Unloaded 10
; <NULL> : JR Multi Industry 1 <== 52ft Gondola GONX 1: Finished.
; <NULL> : JR Multi Industry 1: Evaluating 52ft Gondola GONX 1.
; <NULL> : JR Multi Industry 1: Will attempt operation on 52ft Gondola GONX 1 in 20 seconds.
; <NULL> : Interface.Print> 'JR Multi Industry 1: Loading 52ft Gondola GONX 1'
; <NULL> : JR Multi Industry 1 <== 52ft Gondola GONX 2 1: Unloaded 10
; <NULL> : JR Multi Industry 1 <== 52ft Gondola GONX 2 1: Finished.
; <NULL> : JR Multi Industry 1: Evaluating 52ft Gondola GONX 2 1.
; <NULL> : JR Multi Industry 1: Will attempt operation on 52ft Gondola GONX 2 1 in 20 seconds.
; <NULL> : Interface.Print> 'JR Multi Industry 1: Loading 52ft Gondola GONX 2 1'
; <NULL> : JR Multi Industry 1 ==> 52ft Gondola GONX 1: Loaded 10
; <NULL> : JR Multi Industry 1 ==> 52ft Gondola GONX 1: Finished.
; <NULL> : JR Multi Industry 1 ==> 52ft Gondola GONX 2 1: Loaded 10
; <NULL> : JR Multi Industry 1 ==> 52ft Gondola GONX 2 1: Finished.

Sometime later in that session, a locomotive comes along and picks up those cars. Then the log says:

; <NULL> : JR Multi Industry 1: 52ft Gondola GONX 2 1 removed from ignore list.
; <NULL> : JR Multi Industry 1: 52ft Gondola GONX 1 removed from ignore list.
; <NULL> : JR Multi Industry 1: EEC (Ex-VAMD) 50ft Boxcar FMC 1 removed from ignore list.

If you suspect something wrong when a car does not load or unload when it should, then you will see where a car is marked as skipped, which only happens if it cant find a way to work with the car. For instance if there not enough room to do what it wants, or the car moves or is moving at the time the loading is trying to take place. If the car is simply on the ignore list of cars it already worked on, it will not mention anything skipped, just move on if possible.

If you do see "skipped" and you think it shouldn't have been, then you can let me look at your session.
 
I get a script failure kuid2 # when I try to a car to the products list. Logs give me this
"; <NULL> : Interface.Print> 'JR Multi Industry II 1: Attempting to update world traincar list'
; <NULL> : Interface.Print> 'JR Multi Industry II 1: 4 vehicles found in world'
; <NULL> : File multipleindustrynew.gs, Line 3181, ER_Timeout
; <NULL> : Stack Dump...
; <NULL> : function $string[]@MultipleIndustryNew::GetPropertyElementList(string), line -1
- <NULL> : PropertyLiveHTML::PromptForListPropertyValue> Error: Could not call PropertyObject.GetPropertyElementList(string)"
 
If you suspect something wrong when a car does not load or unload when it should, then you will see where a car is marked as skipped, which only happens if it cant find a way to work with the car. For instance if there not enough room to do what it wants, or the car moves or is moving at the time the loading is trying to take place. If the car is simply on the ignore list of cars it already worked on, it will not mention anything skipped, just move on if possible.

If you do see "skipped" and you think it shouldn't have been, then you can let me look at your session.

First, thanks for the suggestion on how to clean up the logs. I have followed that this time.

Here is a look at my session in video format; I think it may be more efficient this way. The video is 2 minutes long, but the key part is in the last 20 seconds. It is timelapsed by 10x.

A very typical session with the MI2. Started on blank map. Script error when pasting the asset and adding a load. Restarted game. Drive to loading track. Successfully loaded 5 cars. Drive to unloading track. Only unloaded 4 cars. Last car was evaluated but not operated. Entered Surveyor and opened/closed MI2 dialogue, but MI2 did not reset.

In case it's too pixelated to read the log, here is the log from time I departed the loading track (all 5 cars loaded) to the time the unloading track finished (only operated on 4 of 5 cars):

; <NULL> : Multi Industry Loading123d: Evaluating AH GP9 Milwaukee 1.
; <NULL> : Multi Industry Loading123d: Will attempt operation on AH GP9 Milwaukee 1 in 0 seconds.
; <NULL> : Multi Industry Loading123d: AH GP9 Milwaukee 1 removed from ignore list.
; <NULL> : Multi Industry Loading123d: AH Milw Steel Reefer 1 removed from ignore list.
; <NULL> : Multi Industry Loading123d: AH Milw Steel Reefer 2 removed from ignore list.
; <NULL> : Multi Industry Loading123d: AH Milw Steel Reefer 3 removed from ignore list.
; <NULL> : Multi Industry Loading123d: AH Milw Steel Reefer 4 removed from ignore list.
; <NULL> : Multi Industry Loading123d: AH Milw Steel Reefer 5 removed from ignore list.
; <NULL> : Multi Industry Unloading456: Evaluating AH Milw Steel Reefer 5.
; <NULL> : Multi Industry Unloading456: Will attempt operation on AH Milw Steel Reefer 5 in 0 seconds.

; <NULL> : Multi Industry Unloading456: Evaluating AH Milw Steel Reefer 3.
; <NULL> : Multi Industry Unloading456: Will attempt operation on AH Milw Steel Reefer 3 in 0 seconds.
; <NULL> : Interface.Print> 'Multi Industry Unloading456: Unloading AH Milw Steel Reefer 3'
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 3: Unloaded 7
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 3: Finished.
; <NULL> : Multi Industry Unloading456: Evaluating AH Milw Steel Reefer 4.
; <NULL> : Multi Industry Unloading456: Will attempt operation on AH Milw Steel Reefer 4 in 0 seconds.
; <NULL> : Interface.Print> 'Multi Industry Unloading456: Unloading AH Milw Steel Reefer 4'
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 4: Unloaded 7
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 4: Finished.
; <NULL> : Multi Industry Unloading456: Evaluating AH Milw Steel Reefer 2.
; <NULL> : Multi Industry Unloading456: Will attempt operation on AH Milw Steel Reefer 2 in 0 seconds.
; <NULL> : Interface.Print> 'Multi Industry Unloading456: Unloading AH Milw Steel Reefer 2'
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 2: Unloaded 7
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 2: Finished.
; <NULL> : Multi Industry Unloading456: Evaluating AH Milw Steel Reefer 1.
; <NULL> : Multi Industry Unloading456: Will attempt operation on AH Milw Steel Reefer 1 in 0 seconds.
; <NULL> : Interface.Print> 'Multi Industry Unloading456: Unloading AH Milw Steel Reefer 1'
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 1: Unloaded 7
; <NULL> : Multi Industry Unloading456 <== AH Milw Steel Reefer 1: Finished.

As you can see, this does not correspond exactly to your list of possibilities. It did not report it was "skipped." Car was not moving, car was definitely in the unloading area. It was removed from the "ignore list."
 
Last edited:
It appears to skip it in the same way it skips for example the locomotive for not having anything it can transfer one way or the other. By the fact it gets evaluated means its in the loading area. The next line means it is waiting for the start time, and then you get nothing, but there would have been some indication if the car had moved or was still ignored. Since that didnt happen we can assume it made it's way to the next step which is comparing queues to see what can be transferred where, which is supposed to exit silently if nothing is possible to do with the vehicle (again like the locomotive).

The only way to see the full process and see precisely what made it determine to exit is to enable the debug. maybe just pack that route and session for me?
 
The only way to see the full process and see precisely what made it determine to exit is to enable the debug. maybe just pack that route and session for me?
Sorry, I don't quite understand what you mean, because I've never done that. You mean put it into a Trainz Content Package and post it to a shared drive? I had checked the "enable advanced debug tools" in the log I posted, I had only unchecked the one box at the bottom for "script message handling."
 
Sorry, I don't quite understand what you mean, because I've never done that. You mean put it into a Trainz Content Package and post it to a shared drive?

Yes so that i may look at it.

this MIN asset has an advanced debug but it needs a script mod to enable it that is what I meant. When this is active it logs many more things.
 
Yes so that i may look at it.

this MIN asset has an advanced debug but it needs a script mod to enable it that is what I meant. When this is active it logs many more things.
I uploaded a test baseboard and test session, which I tested this morning. I started fresh, using assets I believe are packaged, and general goods as the load.

Test MI2 (route)
https://drive.google.com/file/d/1v49YfL9RKPLGMn0tDsMKk9RJYmw2XFv5/view?usp=sharing

Test session
https://drive.google.com/file/d/1ZhCCA7XUDSOcXxqNEKG7zTvyRL7u9B6X/view?usp=sharing

MIN-error6.jpg

Here is a screenshot of the log as before. For the first time, I actually successfully loaded, unloaded, and loaded all 5 cars with no errors. I began to worry the problem was with a custom asset all along. But on the 5th visit to the MI2, it omitted to unload one of the five, as shown above.

Since this is a blank route, I am not sure it is going to tell you anything, since the only things on the route are the track, a loco, 5 boxcars, 8 bollards, and 2 MI2 assets. But I really would like to ask for one more attempt to sort out why it's not working.
 
Last edited:
Back
Top