The obvious solution is to use the train object as an index, but that fails instantly as train objects are destroyed every tick.
Code: Select all
script.on_event(defines.events.on_train_changed_state, function(event)
local train = event.train
global.trains[train] = { myproperty = 1 }
end
Code: Select all
script.on_event(defines.events.on_train_changed_state, function(event)
local carriage = event.train.carriages[1]
global.trains[carriage] = { myproperty = 1 }
end