Until here, only construction principles were discussed, beginning with laying out the tracks, adding signals, stations and other fancy stuff. Now there is only one thing left: We need to add the rolling stock which uses all the rails to get from here to there (and hopefully make lots of money). In order to do that, we have to set correct orders for our trains.

Icon
Basically everything on this page applies to all kinds of vehicles, but for trains, correct scheduling is crucial because of the interlocked nature of complex rail networks.

Basic orders

Orders
TTDPatch OpenTTD

This is the basic order window with the simplest possible schedule that could make you money. In the upper part the schedule is displayed, a small triangle indicates the current order. (in OpenTTD the buttons are positioned slightly different, the additional functionality is discussed further down).

At the bottom of the window there are various buttons with which the schedule can be set and changed.

  • Skip: Make the vehicle skip the current order and proceed with the next one immediately.
  • Delete: Deletes the highlighted order. If no order is selected, this button is labeled reset and deletes all orders.
  • Non-Stop: Toggle the non-stop option for the highlighted order.
  • Go To: Add a new order to the end of the schedule. If an order from the schedule has been selected, the new order is added directly before the selected one.
  • Full Load: Toggle the full-load option for the highlighted order.
  • Unload: Toggle the unload option for the highlighted order.
Icon
Many players get confused with the unload order. It must not be set for normal operation! It is useful for advanced cargo transportation chains, which are explained below.

The basic order ("go to station x") tells the vehicle to do three things:

  1. Proceed to the given station. It will also stop at any station it encounters on the way (this is only important for trains, planes will not detour to land at another airport). Note that this behaviour is influenced by the settings for non-stop handling, as explained below.
  2. If the station accepts the cargo, unload it there and get money for the transportation.
  3. If any cargo is waiting at the station that the vehicle can pick up, it will do so until either the vehicle is full or there is no more cargo waiting. Then it will proceed with the next order on the schedule.

Non-Stop

In various circumstances, it is very useful to tell trains not to stop at every small station, but to head on through towards the actual destination. This is especially true for express trains which should not stop at small villages, and for freight trains which should not stop at passenger stations where they cannot unload their cargo anyway. This is where the Non-Stop option comes into play.

Orders
TTDPatch OpenTTD

Here we have a train schedule with non-stop orders. When on the way to station 2, the train will not stop at any station in between.

With the addition of waypoint stations, a new problem arose: We can instruct a train to go to the waypoint station non-stop, but it will still stop for a moment at the waypoint, instead of just storming on, since there is actually no use stopping there. To circumvent this problem, a new non-stop handling has been implemented in both TTDPatch and OpenTTD.

Orders
TTDPatch OpenTTD

With the new non-stop handling enabled, the schedule will read a bit different, but the changes are more dramatic. First, for every order, even those without non-stop being set, an implicit non-stop order is assumed. That means the train will only ever stop at the station given in the schedule and nowhere else. Orders with non-stop set (route through station x) are taken as being waypoints, i.e. the train will go there, but directly switch to the next order without stopping at the waypoint.

Icon
When using dedicated waypoint stations, either built-in or via a new graphics set, the "route through" is always activated, as trains shall never stop at waypoints.

Full Load

In some cases, it is a good idea to make a vehicle wait until it has fully loaded. This is especially true for freight trains where the penalty for slower transportation is negligible, compared to passengers which need to be transported very fast. It has therefore always been possible to toggle a full load option for an order.

Orders
TTDPatch OpenTTD

This is a very basic schedule for a freight train. It will fully load at station 1 and then go to station 2 where it unloads and makes the money. If there is not enough cargo at station 1, the train will wait there until enough cargo has arrived.

There are two problems with full load. First, the train will most probably wait at the station for quite some time, blocking one platform. You therefore need to have enough platforms at your stations to make sure the blocked platform does not block the rest of the traffic.

The second problem arises when the train can carry more than one cargo for example passengers and mail. Now it may happen that the mail compartments are already full, but there is still room for passengers, so the train will wait for passengers. Even worse, there are engines which can carry cargo like mail. When using them for freight transport, you cannot set the full load option, because they would wait forever at the freight station, because no mail will ever wait there.

To circumvent these problems, one can set the "full load for any cargo" option. When it is enabled, a train with a full load option set will leave the station as soon as one cargo is fully loaded.

Unload

As already pointed out, the unload option is a false friend which is repeatedly used wrongly, especially by newcomers to the game. It is not necessary to set this option to make trains unload and cash in for the transported cargo. In fact, setting the option actually prevents the vehicle from making money with that cargo.

So what purpose does this option serve? The answer is rather simple: One can use it to force a train to unload a cargo at a station, regardless of the cargo acceptance. However, the cargo is not turned into money, but stored at the station instead. It is displayed in the station information window as cargo being en-route from another station. So any other vehicle can pick up the cargo and transport it to another destination. This mechanism is used to create complex transportation chains and feeder services. The money for the transportation is only generated after the cargo has finally reached its destination.

Orders
TTDPatch OpenTTD

Here the train uses the unload-option. It takes cargo from station 1 and carries it to station 2. Here the cargo is unloaded and stored at station 2 for further transportation by other vehicles. The train will leave station 2 empty!

The full load and unload options are mutually exclusive. The explanation is easy: A train that has unloaded its cargo would then reload it in the next step, rendering the whole idea of unloading for further transportation completely useless.

Shared orders / Cloning

Quite often there are many vehicles running with the same schedule. However, in the original game, each and every schedule had to be set up from scratch. This is cumbersome and error prone, especially when having to rearrange orders for a given line. Therefore, both TTDPatch and OpenTTD allow copying and sharing orders between vehicles.

Copying a schedule is very simple. Select the Go To button and instead of clicking a station or depot, click on the train whose schedule is to be copied. That's it. You can now edit this schedule without influencing any other vehicle.

Sharing orders is quite similar. It is done exactly like copying, except that you have to hold down the Ctrl key while clicking the target vehicle. The shown schedule ends with the words "End of shared orders", so you can see that the orders are indeed shared. Editing the schedule of one vehicle now also affects all other vehicles sharing that schedule.

refit

Shared orders in TTDPatch, also indicating how many vehicles share the schedule. The window in OpenTTD looks identical, except for the information on the number of vehicles sharing the orders.

In order to unshare a schedule of one vehicle, highlight the last entry of the schedule (the line saying "End of shared orders") and click the delete button. This erases all orders from this (and only this) vehicle, leaving all others unaffected. Now you can change the schedule of the vehicle to your liking.

refit

It is also possible to clone trains. To do that, one uses the appropriate button in the depot menu and clicks on the train that is to be cloned. This creates a train that is an exact copy, including the orders. If the trains are to use shared orders, hold Ctrl while cloning the train.