Transport Fever 2

Transport Fever 2

Rail & Track Industry cargos for UK wagons
GordonDry 26 May, 2024 @ 11:28am
DONE: Request {self-fulfilled} more rails than 5 on a bolster wagon
It looks looked so empty.
Last edited by GordonDry; 5 Oct, 2024 @ 2:35pm
< >
Showing 1-1 of 1 comments
GordonDry 5 Oct, 2024 @ 2:19pm 
I edited the mod.lua as followed to fulfill my own request.

Now it's 13 rails instead of 5 visually, and also as capacity (x4) it's set to 52. It was 48, so not much of a change.

A screenshot:
https://i.imgur.com/n3o1QlO.jpeg

local function makeRailSlots(rails_height, rails_x_scale) local newEntry_rails={ { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -1.2, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -1.0, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -.8, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -.6, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -.4, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -.2, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, .2, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, .4, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, .6, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, .8, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1.0, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/single_rail.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1.2, rails_height, 1, }, randomId = 0, }, } return newEntry_rails end local function makeTrackSlots(rails_height, rails_x_scale) -- function to provide new table entries for cargoSlotProvider.slots local track_z_shift=0.22 local newEntry_tracks={ { models = { "railroad/tracks/8m_base.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, rails_height, 1, }, randomId = 0, }, { models = { "railroad/tracks/8m_base.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, rails_height+track_z_shift, 1, }, randomId = 0, }, { models = { "railroad/tracks/8m_base.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, rails_height+(track_z_shift*2), 1, }, randomId = 0, }, { models = { "railroad/tracks/8m_base.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, rails_height+(track_z_shift*3), 1, }, randomId = 0, }, { models = { "railroad/tracks/8m_base.mdl", }, group = 0, transf = { rails_x_scale, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, rails_height+(track_z_shift*4), 1, }, randomId = 0, }, } return newEntry_tracks end local function myModifier(fileName, data) if data.metadata.railVehicle and data.metadata.transportVehicle then if data.metadata.transportVehicle.groupFileName == "vehicle/waggon/fea.mdl" and data.metadata.description.name == "British Rail FEA-S Track Wagon" and data.metadata.transportVehicle.compartments~= nil then table.insert(data.metadata.transportVehicle.compartments[1], {{ capacity = 20, customCargoModels = { configurations = { { slotLevels = { { }, { 0 }, { 0,1 }, { 0,1,2 }, { 0,1,2,3 }, { 0,1,2,3,4 }, }, }, }, }, type = "TRACK_HSP", }} ) table.insert(data.metadata.transportVehicle.compartments[1], {{ capacity = 20, customCargoModels = { configurations = { { slotLevels = { { }, { 0 }, { 0,1 }, { 0,1,2 }, { 0,1,2,3 }, { 0,1,2,3,4 }, }, }, }, }, type = "TRACK_STD", }} ) table.insert(data.metadata.transportVehicle.compartments[1], {{ capacity = 52, customCargoModels = { configurations = { { slotLevels = { { }, { 5 }, { 5,6 }, { 5,6,7 }, { 5,6,7,8 }, { 5,6,7,8,9 }, { 5,6,7,8,9,10 }, { 5,6,7,8,9,10,11 }, { 5,6,7,8,9,10,11,12 }, { 5,6,7,8,9,10,11,12,13 }, { 5,6,7,8,9,10,11,12,13,14 }, { 5,6,7,8,9,10,11,12,13,14,15 }, { 5,6,7,8,9,10,11,12,13,14,15,16 }, { 5,6,7,8,9,10,11,12,13,14,15,16,17 }, }, }, }, }, type = "RAIL", }} ) --debugPrint({fileName, data.metadata.transportVehicle.compartments}) -- insert data for custom loads to appear on waggons -- Append the new entries to the table local newEntry_rails=makeRailSlots(.7, 4) for i = 1,13 do table.insert(data.metadata.cargoSlotProvider.slots, newEntry_rails)
end

elseif data.metadata.transportVehicle.groupFileName == "vehicle/train/jk_bolster_waggon_menu-large.mdl" and data.metadata.transportVehicle.compartments~= nil then
local cargoslot_len=#data.metadata.cargoSlotProvider.slots-1 -- get number of existing slots in cargoSlotProvider, minus 1 as index is 0 based
-- insert cargo compartments for each cargo type
local cap = 52 -- 20 -- 48
if string.find(fileName, 'mites') then cap = 32 end -- 16 -- 32
table.insert(data.metadata.transportVehicle.compartments[1],
{
{
capacity = cap,
customCargoModels = {
configurations = {
{
slotLevels = {
{ },
{ cargoslot_len+1 },
{ cargoslot_len+1,cargoslot_len+2 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7,cargoslot_len+8 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7,cargoslot_len+8,cargoslot_len+9 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7,cargoslot_len+8,cargoslot_len+9,cargoslot_len+10 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7,cargoslot_len+8,cargoslot_len+9,cargoslot_len+10,cargoslot_len+11 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7,cargoslot_len+8,cargoslot_len+9,cargoslot_len+10,cargoslot_len+11,cargoslot_len+12 },
{ cargoslot_len+1,cargoslot_len+2,cargoslot_len+3,cargoslot_len+4,cargoslot_len+5,cargoslot_len+6,cargoslot_len+7,cargoslot_len+8,cargoslot_len+9,cargoslot_len+10,cargoslot_len+11,cargoslot_len+12,cargoslot_len+13 },
},
},
},
},
type = "RAIL",
},
}
)
table.insert(data.metadata.transportVehicle.compartments[1],
{
{
capacity = 20, -- cap,
customCargoModels = {
configurations = {
{
slotLevels = {
{ },
{ cargoslot_len+14 },
{ cargoslot_len+14,cargoslot_len+15 },
{ cargoslot_len+14,cargoslot_len+15,cargoslot_len+16 },
{ cargoslot_len+14,cargoslot_len+15,cargoslot_len+16,cargoslot_len+17 },
{ cargoslot_len+14,cargoslot_len+15,cargoslot_len+16,cargoslot_len+17,cargoslot_len+18 },
},
},
},
},
type = "TRACK_STD",
},
}
)
table.insert(data.metadata.transportVehicle.compartments[1],
{
{
capacity = 20, -- cap,
customCargoModels = {
configurations = {
{
slotLevels = {
{ },
{ cargoslot_len+14 },
{ cargoslot_len+14,cargoslot_len+15 },
{ cargoslot_len+14,cargoslot_len+15,cargoslot_len+16 },
{ cargoslot_len+14,cargoslot_len+15,cargoslot_len+16,cargoslot_len+17 },
{ cargoslot_len+14,cargoslot_len+15,cargoslot_len+16,cargoslot_len+17,cargoslot_len+18 },
},
},
},
},
type = "TRACK_HSP",
},
}
)

--debugPrint({fileName, data.metadata.transportVehicle.compartments})
-- Append the new slots into cargoSlotProvider table, 5 slots for each cargo
-- add rails
local newEntry_rails=makeRailSlots(1.18, 2)
for i = 1,13 do
table.insert(data.metadata.cargoSlotProvider.slots, newEntry_rails)
end
-- add track
local newEntry_tracks=makeTrackSlots(1.18, 1)
for i = 1,5 do
table.insert(data.metadata.cargoSlotProvider.slots, newEntry_tracks)
end
end
end
return data
end

function data()
return {
info = {
minorVersion = 1,
severityAdd = "NONE",
severityRemove = "NONE",
description = _("Rail & Track Industry cargos for UK wagons.\n" ..
"\n" ..
"Adds support for Rail & Track Industry cargos to selected UK wagons. Most wagons are updated by the Rail & Track Industry mod but some with custom cargo models remain unable to carry the cargos. These two wagons have custom cargos hence the need for this mod. If additional wagon support required then let me know. I MAY be able to add then in time.\n"..
"\n"..
"The Rail & Track Industry MUST be active in your save otherwise this mod will cause a crash.\n"..
"\n"..
"This mod adds the rail and track loads the following wagons:\n"..
"- GWR Bolsters (https : // steamcommunity . com/sharedfiles/filedetails/?id=2246013758)\n"..
"- FEA Flats (https : // steamcommunity . com/sharedfiles/filedetails/?id=2360751025)\n"..
"\n"..
"Rail & Track Industry can be found here: https : // steamcommunity . com/sharedfiles/filedetails/?id=2849246327\n"..
"\n"..
"If this mod causes crashes then please let me know via discord or by opening a dicussion.\n"..
"\n"..
"Thanks to doug for the scripting assistance.\n"..
"\n"..
"If you like what you see drop me a tip: https://ko-fi.com/scotchbob/n"..
"\n"),
name = _("Rail & Track Industry cargos for UK wagons"),
authors = {
{
name = "scotchbob", -- author name
role = "CREATOR", -- OPTIONAL "CREATOR", "CO_CREATOR", "TESTER" or "BASED_ON" or "OTHER"
tfnetId = "" -- OPTIONAL train-fever-net author id
},
},
tags = { "Rail & Track Industry", "FEA", "bogie bolster", "wagon", "UK", "Script Mod", "rail industry"},
},


-- main function before resource loading (optional)
runFn = function (settings, modParams)
addModifier("loadModel", myModifier )
end,

}
end[/code]
Last edited by GordonDry; 5 Oct, 2024 @ 2:40pm
< >
Showing 1-1 of 1 comments
Per page: 1530 50