AI Builder
AI Builder
The AI builder allows you to quickly build large transport networks in a few clicks. It has over 25,000 lines of code and a fuzzy-logic-based route-finding algorithm.
Local bus services
Whenever the AI builder constructs a train station, ship port, or airport, it will also construct a bus station with three lines to connect the town’s residential, industrial and commercial areas.
Passenger Trains
You can build inter-city passenger train connections, it will look for existing stations and extend existing lines where possible.
New terminals are automatically added, and all existing routes are shifted to make way for the new connection.
Cargo Trains
Cargo routes to share tracks where possible. They will not, however, use passenger tracks as these are kept separate.
Trucks and roads
The AI builder looks to re-use existing roads where possible and upgrade them. It will even take the original street network and “smooth” it out, the effect is subtle, but it mostly allows road vehicles to maintain their top speed.
As of version, 1.0 trucks are the only vehicle that will deliver “final” stage cargo to towns.
Highways
There is an option to build highways between cities. I recommend the “2 lanes elevated” option, as building ground-level highways often end up conflicting with a lot of other things. If two highways cross, then a junction (4-way stack interchange) is built automatically.
Ships
Options to connect ships with passengers and freight are provided. Bear in mind there is no way to currently validate a connection until it has been built, so sometimes these will fail and need to be rolled back, but I estimate they are successful about 90% of the time.
Air
Passenger air connections are also possible. As of version 1.0 there is no support for cargo freight.
Special features:
Era-specific parameters:
The building parameters change through the eras, I have sub-divided them into 6 different eras, roughly dividing the original eras. As time goes on the behavior will change, for example, rail-road grade-crossings are allowed in the early game but not in the late game. The early routes will focus on keeping level, later era routes will focus on keeping straight and minimizing distance.
Spirals
If a large height difference is needed that would exceed the configured max gradient, then spiral(s) will be built to allow the height to be gained or lost. These are fully integrated into the terrain.
Mods
Currently, the AI Builder only uses and understands vanilla assets. Unfortunately, I had to hard code the production chains, so non-vanilla industries will be ignored.
If you want to use non-vanilla stations, then it is possible to build stations in advance and the AI builder will connect these stations with a route. I have provided options for building “elevated” and “underground” route buildings, and these work with the modded elevated and underground stations. However, the AI builder is not able to do any upgrades to modded stations, such as adding tracks or electrification, so this will need to be done by hand.
Caution!
I have seen a lot of crashes to the desktop trying to get this to work! Save your games regularly and always make a save before beginning a new AI construction.
Update version 1.1
– added support for delivering cargo to towns with trains
– added support for mod industries
– added a new panel to manage transit within towns
Update version 1.2
– added support for trans-shipment of items using cargo ships, trucks will now extend the range of harbors making water transport more useful
Update version 1.3
– added a customization button to allow some route choices to be made, including restricting traction types and allowing more track sharing
– new feature – grade separate track junctions. This will be enabled by default in the late-Era-C period (the game year 2000 onwards) but can be customized by choosing options in the new menu
Update version 1.4
– added a button on the rail/town panel to choose whether to build a terminus and override the default selection
– new feature – it is now possible to extend passenger rail lines from non-adjacent terminals, it will build a new grade separate crossover
– new feature – merging two passenger rail lines into one where a connection is built between stations that act as a start/end point for two lines
Update version 1.5
– new feature – Cargo aircraft! It works a bit differently from the other cargo transport modes as it requires using a pre-existing airport (it will not build airports), instead, it will extend the airport at the back with cargo loading facilities on a 2nd taxiway, along with a cargo loading station for trucks. The cargo will be trans-shipped by road to destinations up to 4km away.
Update version 1.6
– new feature – Can now set up a town bus network independently of building a station, this is available in the towns panel
– new feature – Upgrades panel, allows specific upgrades to be made to individual lines. Currently, this is only for adding bus lanes and converting buses to trams and vice versa, but more will be added later
Update version 1.7
– new feature – Now supports the “Elevated Stations” mod by Lollus, if you have the mod installed and select the “elevated” option when building passenger lines then these stations will be used automatically for non-terminus station
– new feature – Route planner for passenger lines, can now build a multi-station line in one go by clicking on the towns. This even allows for quadruple tracks with express and local services!
Update version 1.8
– new feature – Now supports the “Underground Stations” mod that I created. If you have the mod installed and select the “underground” option when building train lines, then these stations will be used automatically for non-terminus stations.
– new feature – Route planner for highways – it is now possible to set up highway connections between multiple cities in one go
Update version 1.9
– new feature – A new “straighten” panel to allow you to straighten out tracks, roads, and highways to allow faster speeds
hello
this is what happens to me when I open AI Builder:
__CRASHDB_INIT__
PreventSetUnhandledExceptionFilter: 1
language: es
locale: es_ES
========================================
Startup at Sun Oct 23 14:30:44 2022
========================================
seed: 1666528244
Requested instance extensions:
– VK_KHR_surface
– VK_KHR_win32_surface
– VK_KHR_get_physical_device_properties2
Requested layers:
Create Vulkan instance.
Supported depth resolve: { SampleZero | Average | Min | Max }
Supperted stencil resolve: { SampleZero | Min | Max }
Found device #0: NVIDIA GeForce GTX 1650 (id: 8066, vulkan version: 1.3.205, driver version: 2189836288 [522.25.0.0], vendor id: 4318 [Nvidia])
-> Selected device #0
__CRASHDB_RENDERER__ Vulkan|Nvidia|NVIDIA GeForce GTX 1650|1.3.205 522.25.0.0|1.3.205|522.25.0.0|
Count: 16
Flags: { Graphics | Compute | Transfer | SparseBinding }
Count: 2
Flags: { Transfer | SparseBinding }
Count: 8
Flags: { Compute | Transfer | SparseBinding }
Optional extension not found: ‘VK_AMD_memory_overallocation_behavior’
Requested device extensions:
– VK_KHR_swapchain
– VK_EXT_memory_budget
– VK_KHR_create_renderpass2
– VK_KHR_depth_stencil_resolve
– VK_KHR_get_memory_requirements2
– VK_KHR_dedicated_allocation
– VK_KHR_maintenance1
– VK_EXT_memory_priority
Format support:
* R8Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R8G8Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R8G8B8Unorm:
– linear: {}
– optimal: {}
* R8G8B8A8Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R16Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R16G16Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R16G16B16Unorm:
– linear: {}
– optimal: {}
* R16G16B16A16Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R32Sfloat:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | StorageImageAtomic | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R32G32Sfloat:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R32G32B32Sfloat:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: {}
* R32G32B32A32Sfloat:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* B10G11R11UfloatPack32:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R16G16B16A16Sfloat:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | StorageImage | ColorAttachment | ColorAttachmentBlend | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* R16G16B16Sfloat:
– linear: {}
– optimal: {}
* D24UnormS8Uint:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | DepthStencilAttachment | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* D32SfloatS8Uint:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | DepthStencilAttachment | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
* D16UnormS8Uint:
– linear: {}
– optimal: {}
* D16Unorm:
– linear: { SampledImage | BlitSrc | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
– optimal: { SampledImage | DepthStencilAttachment | BlitSrc | BlitDst | SampledImageFilterLinear | TransferSrc | TransferDst | SampledImageFilterMinmax }
Memory types:
* 0 {}: heap #1
* 1 { DeviceLocal }: heap #0
* 2 { HostVisible | HostCoherent }: heap #1
* 3 { HostVisible | HostCoherent | HostCached }: heap #1
* 4 { DeviceLocal | HostVisible | HostCoherent }: heap #2
Memory heaps:
* 0 { DeviceLocal } 3962 MB
* 1 {} 8164 MB
* 2 { DeviceLocal } 214 MB
Fifo
FifoRelaxed
Mailbox
Immediate
Use present mode: Fifo
Swapchain size: 2 (requested 2: 2-8)
Sucessfully read pipeline cache C:/Users/Paco/AppData/Roaming/Transport Fever 2/shader_cache/pipelines.cache
opened device OpenAL Soft
sampling rate: 48000 Hz
Build: Build 33824 Windows 64-bit
Loaded 23 of 23 mod descriptions from disk
Update of mod descriptions: 82.717 ms
Settings:
– numSamples: 4
– textureQuality: 1
– terrainTextureResolution: 1
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.248 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.139 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.06 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 11.665 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.042 ms
Loading from file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/Espain 2.sav
savegame version 307
active mods:
urbangames_sandbox/1 (0) (Sandbox mode)
2820656841 AI Builder/-1 (0) ()
config dict:
climate: temperate
vehicles: europe
nameList: europe
environment: temperate
difficulty: easy
mod params:
script load from C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/Espain 2.sav.lua
achievements earnable: 0
init version: 307
map seed text: roman
adding archive res/models/models.zip
ModelRep: 9380.33 ms
No resources are missing!
Shader reload took : 8.249 ms
prepare material ubo’s: 592.149 ms
Using 200 UBOs, total 0 bytes
Initial material index generation: 10546.7 ms
createComponents start, lua used memory= 9579504
COULD NOT FIND GAME BAR FOR SOME RAESON!
createComponents start, lua used memory= 8756649
createComponents end, lua used memory= 7012637
{ }
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4330: in function ‘scoreFn’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4292: in function
(…tail calls…)
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2767: in function ‘getCityPairs’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2806: in function ‘fn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3377: in function ‘resultFn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3536: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2756: in function
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4330: in function ‘scoreFn’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4292: in function
(…tail calls…)
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2767: in function ‘getCityPairs’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2806: in function ‘fn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3377: in function ‘resultFn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3536: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2756: in function
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4330: in function ‘scoreFn’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4292: in function
(…tail calls…)
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2767: in function ‘getCityPairs’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2806: in function ‘fn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3377: in function ‘resultFn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3536: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2756: in function
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4330: in function ‘scoreFn’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4292: in function
(…tail calls…)
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2767: in function ‘getCityPairs’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2806: in function ‘fn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3377: in function ‘resultFn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3536: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2756: in function
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4330: in function ‘scoreFn’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:4292: in function
(…tail calls…)
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2767: in function ‘getCityPairs’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:2806: in function ‘fn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3377: in function ‘resultFn’
…er/res/scripts/ai_builder_new_connections_evaluation.lua:3536: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2756: in function
{ }
{ }
attempting to connect Badalona with Santa Coloma de Gramanet
{
testDataCollision = {
collisionEntities = {
},
autoRemovalEntity2models = {
[31042] = {
[1] = 0,
},
[31208] = {
[1] = 0,
},
[61952] = {
[1] = 1,
},
[62038] = {
[1] = 1,
},
},
fieldEntities = {
},
buildingEntities = {
},
},
testDataError = {
},
}
attempt command result was true
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…1 AI Builder/res/scripts/ai_builder_route_evaluation.lua:2474: in function ‘evaluateRouteFromBaseRoute’
…1 AI Builder/res/scripts/ai_builder_route_evaluation.lua:3323: in function ‘evaluateRoute’
…6841 AI Builder/res/scripts/ai_builder_route_builder.lua:2664: in function ‘tryBuildRoute’
…6841 AI Builder/res/scripts/ai_builder_route_builder.lua:4680: in function ‘buildRoute’
…6841 AI Builder/res/scripts/ai_builder_route_builder.lua:12299: in function ‘buildRouteBetweenStations’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:1129: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2667: in function
available disk space: 444977 MB
[2022-10-23 14:42:19] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-03-01.sav.tmp
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.604 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.752 ms
Shader reload took : 273.883 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 13.161 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.845 ms
Loading from file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/Espain 2.sav
savegame version 307
active mods:
urbangames_sandbox/1 (0) (Sandbox mode)
2820656841 AI Builder/-1 (0) ()
config dict:
climate: temperate
vehicles: europe
nameList: europe
environment: temperate
difficulty: easy
mod params:
script load from C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/Espain 2.sav.lua
achievements earnable: 0
init version: 307
map seed text: roman
adding archive res/models/models.zip
ModelRep: 9768.04 ms
No resources are missing!
Shader reload took : 250.807 ms
prepare material ubo’s: 585.432 ms
Using 400 UBOs, total 0 bytes
Initial material index generation: 10922.9 ms
createComponents start, lua used memory= 9331495
COULD NOT FIND GAME BAR FOR SOME RAESON!
createComponents start, lua used memory= 9502045
createComponents end, lua used memory= 9835334
available disk space: 444977 MB
[2022-10-23 15:03:29] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-03-02.sav.tmp
available disk space: 444913 MB
[2022-10-23 15:09:35] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/Espain 2.sav.tmp
{ }
attempting to connect Badalona with Santa Coloma de Gramanet
{
testDataCollision = {
collisionEntities = {
},
autoRemovalEntity2models = {
[9462] = {
[1] = 0,
},
[31208] = {
[1] = 0,
},
[51978] = {
[1] = 1,
},
},
fieldEntities = {
},
buildingEntities = {
},
},
testDataError = {
},
}
attempt command result was true
An error was caught …20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: attempt to call field ‘forEachEntityWithComponent’ (a nil value)
stack traceback:
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:63: in function ‘forEachEntityWithComponent’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3116: in function ‘getFarmFields’
…20656841 AI Builder/res/scripts/ai_builder_base_util.lua:3162: in function ‘isPointNearFarm’
…1 AI Builder/res/scripts/ai_builder_route_evaluation.lua:2474: in function ‘evaluateRouteFromBaseRoute’
…1 AI Builder/res/scripts/ai_builder_route_evaluation.lua:3323: in function ‘evaluateRoute’
…6841 AI Builder/res/scripts/ai_builder_route_builder.lua:2664: in function ‘tryBuildRoute’
…6841 AI Builder/res/scripts/ai_builder_route_builder.lua:4680: in function ‘buildRoute’
…6841 AI Builder/res/scripts/ai_builder_route_builder.lua:12299: in function ‘buildRouteBetweenStations’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:1129: in function
[C]: in function ‘xpcall’
[string “mods/2820656841 AI Builder/res/config/game_sc…”]:2667: in function
available disk space: 444910 MB
[2022-10-23 15:13:50] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-03-02_2.sav.tmp
available disk space: 444841 MB
[2022-10-23 15:23:56] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-03-02_3.sav.tmp
available disk space: 444773 MB
[2022-10-23 15:34:02] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-03-02_4.sav.tmp
available disk space: 444704 MB
[2022-10-23 15:44:09] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-03-02_5.sav.tmp
available disk space: 444636 MB
[2022-10-23 15:54:15] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-01-01.sav.tmp
available disk space: 444567 MB
[2022-10-23 16:04:20] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-01-01_2.sav.tmp
available disk space: 444499 MB
[2022-10-23 16:14:26] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-01-01_3.sav.tmp
available disk space: 444430 MB
[2022-10-23 16:24:32] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-01-01_4.sav.tmp
available disk space: 444361 MB
[2022-10-23 16:34:38] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-01-01_5.sav.tmp
available disk space: 444358 MB
[2022-10-23 16:44:44] Saving to file C:/Users/Paco/AppData/Roaming/Transport Fever 2/save/autosave_Espain 2_1850-01-01_6.sav.tmp
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 13.077 ms
Shader reload took : 295.384 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 16.383 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.872 ms
Pipeline generation: 110.686 ms
Pipeline generation: 107.619 ms
* Terrain toolkit used 4 maps and 268 MB…
Pipeline took: 2.2144s
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 13.16 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.975 ms
Loaded 0 of 23 mod descriptions from disk
Update of mod descriptions: 12.567 ms
Loading from file mods/2666239138 Iberian Peninsula ( Spain & Portugal ) Realistic Locations, Population & Climate – Big Size/maps/Iberia Spain and Portugal Big map.sav
savegame version 307
active mods:
2666239138 Iberian Peninsula ( Spain & Portugal ) Realistic Locations, Population & Climate – Big Size/-1 (0) ()
urbangames_sandbox/1 (0) (Sandbox mode)
config dict:
Got the message: This mods format is deprecated. Please contact maker for a new version?
Unfortunately, in no mode of Transport do you see production and ipad areas. No roads, no ships, no planes. For this reason, I can also make a name connection for freight transport. My other problem is that if I set up a train line between two cities, then I connect one city with a third one, then in the same city on the two lines double the number of buses, bus stops, etc. The third is a question. Is it possible to place only 1 vehicle on any of the lines it generates? Then the line manager will handle the quantity of passenger carriers.