

Go to central (if fuel < 100) (wait 10sec) Go to Smelter X ( ) (leave cargo empty)Ĥ. Go to Loader B (If cargo < 5000) (Leave if inactive for 5sec OR cargo full)ģ. Go to Loader A ( ) (Leave if inactive for 5sec)Ģ. Target Station (Entry condition) (Leave condition) The idea is to make the station 1 a priority, than only go to the second station if the first one wasn't full. Station 4 > central trains stop (fuel and maintenance) The entry conditions will have less conditions available as the exit condition, like "Inactivity" and "wait X" don't make to much sense for going in.Įntry condition entry condition.png (206.32 KiB) Viewed 5907 times The same interface that we have now, with one more "division" for the entry conditionĢ.

, z)Īnd if a new signal was implemented to read the train fuel value, a fuel station would became straight forward. If the train could check by itself if it should or shouldn't go to the station, we cold avoid that (A, B, A, B, A, B, A, B. Go to Station C <- trying to pass here less times Usually you see something like that to try get over it But instead of only a global "close station" you have the train evaluating if it should go to station. Today, if you do that, you will see that trains that are moving from B to C will go straight to A. Today you only have this fixed cycle, to avoid one train to go to station C for example you could close the station. If not, it will continue directly back to Ironworks. Then it checks it's fuel slots and if the conditions are true, it will go to refuel station. If it IS empty, it will skip these stations. Then the train checks it's contents and if it's not empty will go to Factory A, where it will wait for 60 seconds. Refuel (Fuel: Coal<50 AND SolidFuel<25 AND NukaFuel<1) - wait (10 seconds)Įxplanation: There's no condition for Ironworks, so the train will always go there. Here's an example of such schedule: Station Name (go to condition) - wait (waiting condition)įactory A (Cargo: *>0) - wait (60 seconds)įactory B (Cargo: *>0) - wait (60 seconds)įactory C (Cargo: *>0) - wait (60 seconds) It would also be useful for making of refueling stations. This could save a lot of time and ease congestion on railroads by avoiding unnecessary travels. The train should also read cargo and fuel slots independently. The train would be only able to read it's own contents and not the circuit network. With another condition slot it could be able skip the two stations and return to refill itself with iron immediately. It may happen, that the train unloads everything in the first factory and will then travel to the other two unnecessarily. I have a train that supplies three factories with iron. There, only positions 2/3 and 5/6 are "within program", rest is just regular schedule, any length.Īnother condition for trains, based on which the train decides whether it goes to the next station or skips it. ALso, same routine may be used few times in one schedule.Ģ) checkFuel station => logic here, sends departure=1 or 2, directing train to getFuel station, or directly to ore melting station.ģ) GetFuel station => optional, conditional stopĥ) checkFuel station => the same station as above, same logic as above, train goes to get more fuel, or to load ore (playlists loops if ends). Just few entries around programmed station needs to be in strict order. In relative approach, all schedule may be as now, each train may have own, different with variable length. If It is absolute, station need to know own position in the "program", or all programs must be the same. Relative jumps does not need to carry about all previous stations count. In station-based, relative are better and simpler. Yes, if programs are train-based, it should be absolute. You may also make "decider station", which can detect trains cargo, and decide whether send it to "current+2" dropIron station, or "current+1" dropCopper station, or "current+3" - sorting station. All You need, is to add "coal station" entry between stations in the schedule. Then, in this example scenario, current station can detect coal with "read train fuel", and based on this, send train to coal station with "departure=1", or directly to the OreStation, with "departure=2" signal.
OPENTTD PERCENTAGE TRANSPORTED MANUAL
Replace Manual/Automatic slider with play/pause = automatic/manual Īdd next/prev buttons = go to next/previous station on the list (in manual mode, or manually skip station in automatic)Įach station can send "departure" signal with value.ĭeparture = 0 => no signal, just wait for signal.ĭeparture = 1 => go to next station (current+1) on the list.ĭeparture = 2 => skip next and go directly to the current+2 on the list.ĭeparture = -1 => back to previous station (current-1). Train station lists (schedule) works like a playlist.
